From 1e62fc7941a993c51016e91aa85c9ee586726bf5 Mon Sep 17 00:00:00 2001
From: Domenico Giordano <domenico.giordano@cern.ch>
Date: Mon, 15 Jun 2020 06:50:16 +0000
Subject: [PATCH] version v0.1

---
 grafana_patch/modified_file.js | 126783 ++++++++++++++++++++++++++++++
 1 file changed, 126783 insertions(+)
 create mode 100644 grafana_patch/modified_file.js

diff --git a/grafana_patch/modified_file.js b/grafana_patch/modified_file.js
new file mode 100644
index 00000000..6788df05
--- /dev/null
+++ b/grafana_patch/modified_file.js
@@ -0,0 +1,126783 @@
+/*! For license information please see app.62aab03371bdbe8128d7.js.LICENSE.txt */
+(window.webpackJsonp = window.webpackJsonp || []).push([
+  [28],
+  {
+    "+4lh": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return v;
+      });
+      var r = n("Obii"),
+        a = n("0/uQ"),
+        o = n("t8hP"),
+        i = n("3x4x");
+      function l(e) {
+        return (l =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function s(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function c(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              s(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              s(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function u(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function f(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? u(Object(n), !0).forEach(function (t) {
+                d(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : u(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function d(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function p(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function h(e, t) {
+        return !t || ("object" !== l(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function m(e) {
+        return (m = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function g(e, t) {
+        return (g =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var b;
+      !(function (e) {
+        (e.Unknown = "UNKNOWN"), (e.OK = "OK"), (e.Error = "ERROR");
+      })(b || (b = {}));
+      var v = (function (e) {
+        function t(e) {
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            h(this, m(t).call(this, e))
+          );
+        }
+        var r, l, s, u, d, v, y, w;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && g(e, t);
+          })(t, e),
+          (r = t),
+          (l = [
+            {
+              key: "query",
+              value: function (e) {
+                var t = this,
+                  n = e.targets,
+                  r = e.intervalMs,
+                  l = e.maxDataPoints,
+                  s = e.range,
+                  c = e.requestId,
+                  u = o.config.bootData.user.orgId,
+                  d = {
+                    queries: n.map(function (e) {
+                      if ("__expr__" === e.datasource)
+                        return f({}, e, { datasourceId: t.id, orgId: u });
+                      var n =
+                          e.datasource && "default" !== e.datasource
+                            ? e.datasource
+                            : o.config.defaultDatasource,
+                        a = o.config.datasources[n];
+                      if (!a)
+                        throw new Error("Unknown Datasource: " + e.datasource);
+                      return f({}, t.applyTemplateVariables(e), {
+                        datasourceId: a.id,
+                        intervalMs: r,
+                        maxDataPoints: l,
+                        orgId: u,
+                      });
+                    }),
+                  };
+                s &&
+                  ((d.range = s),
+                  (d.from = s.from.valueOf().toString()),
+                  (d.to = s.to.valueOf().toString()));
+                var p = Object(i.c)()
+                  .datasourceRequest({
+                    url: "/api/ds/query",
+                    method: "POST",
+                    data: d,
+                    requestId: c,
+                  })
+                  .then(function (e) {
+                    return t.toDataQueryResponse(null == e ? void 0 : e.data);
+                  });
+                return Object(a.a)(p);
+              },
+            },
+            {
+              key: "applyTemplateVariables",
+              value: function (e) {
+                return e;
+              },
+            },
+            {
+              key: "toDataQueryResponse",
+              value:
+                ((w = c(
+                  regeneratorRuntime.mark(function e(t) {
+                    var r, a;
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            return (
+                              (e.next = 2),
+                              Promise.resolve().then(n.bind(null, "JL5c"))
+                            );
+                          case 2:
+                            return (
+                              (r = e.sent),
+                              (a = r.resultsToDataFrames),
+                              e.abrupt("return", { data: a(t) })
+                            );
+                          case 5:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                )),
+                function (e) {
+                  return w.apply(this, arguments);
+                }),
+            },
+            {
+              key: "getResource",
+              value:
+                ((y = c(
+                  regeneratorRuntime.mark(function e(t, n) {
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return e.abrupt(
+                                "return",
+                                Object(i.c)().get(
+                                  "/api/datasources/"
+                                    .concat(this.id, "/resources/")
+                                    .concat(t),
+                                  n
+                                )
+                              );
+                            case 1:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this
+                    );
+                  })
+                )),
+                function (e, t) {
+                  return y.apply(this, arguments);
+                }),
+            },
+            {
+              key: "postResource",
+              value:
+                ((v = c(
+                  regeneratorRuntime.mark(function e(t, n) {
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return e.abrupt(
+                                "return",
+                                Object(i.c)().post(
+                                  "/api/datasources/"
+                                    .concat(this.id, "/resources/")
+                                    .concat(t),
+                                  f({}, n)
+                                )
+                              );
+                            case 1:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this
+                    );
+                  })
+                )),
+                function (e, t) {
+                  return v.apply(this, arguments);
+                }),
+            },
+            {
+              key: "callHealthCheck",
+              value:
+                ((d = c(
+                  regeneratorRuntime.mark(function e() {
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return e.abrupt(
+                                "return",
+                                Object(i.c)()
+                                  .get(
+                                    "/api/datasources/".concat(
+                                      this.id,
+                                      "/health"
+                                    )
+                                  )
+                                  .then(function (e) {
+                                    return e;
+                                  })
+                                  .catch(function (e) {
+                                    return (e.isHandled = !0), e.data;
+                                  })
+                              );
+                            case 1:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this
+                    );
+                  })
+                )),
+                function () {
+                  return d.apply(this, arguments);
+                }),
+            },
+            {
+              key: "testDatasource",
+              value:
+                ((u = c(
+                  regeneratorRuntime.mark(function e() {
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return e.abrupt(
+                                "return",
+                                this.callHealthCheck().then(function (e) {
+                                  return e.status === b.OK
+                                    ? { status: "success", message: e.message }
+                                    : { status: "fail", message: e.message };
+                                })
+                              );
+                            case 1:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this
+                    );
+                  })
+                )),
+                function () {
+                  return u.apply(this, arguments);
+                }),
+            },
+          ]) && p(r.prototype, l),
+          s && p(r, s),
+          t
+        );
+      })(r.DataSourceApi);
+    },
+    "+99A": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return j;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDDq"),
+        i = n("ZFWI"),
+        l = n("kDLi");
+      function s(e) {
+        return (s =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function c() {
+        var e = p(["\n      font-weight: 500;\n    "]);
+        return (
+          (c = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function u() {
+        var e = p([
+          "\n      font-style: italic;\n      margin-right: 0.6rem;\n    ",
+        ]);
+        return (
+          (u = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function f() {
+        var e = p(["\n        font-weight: 500;\n      "]);
+        return (
+          (f = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function d() {
+        var e = p([
+          "\n      margin-top: 0.8rem;\n      > * {\n        margin-right: 16px;\n      }\n    ",
+        ]);
+        return (
+          (d = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function p(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      function h(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function m(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? h(Object(n), !0).forEach(function (t) {
+                g(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : h(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function g(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function b(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function v(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function y(e, t, n) {
+        return t && v(e.prototype, t), n && v(e, n), e;
+      }
+      function w(e, t) {
+        return !t || ("object" !== s(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function O(e) {
+        return (O = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function x(e, t) {
+        if ("function" != typeof t && null !== t)
+          throw new TypeError(
+            "Super expression must either be null or a function"
+          );
+        (e.prototype = Object.create(t && t.prototype, {
+          constructor: { value: e, writable: !0, configurable: !0 },
+        })),
+          t && k(e, t);
+      }
+      function k(e, t) {
+        return (k =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var j = (function (e) {
+          function t() {
+            var e, n;
+            b(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = w(
+                this,
+                (e = O(t)).call.apply(e, [this].concat(a))
+              )).state = {
+                isLoading: !1,
+                showDeleteModal: !1,
+                showDisableModal: !1,
+              }),
+              (n.showDeleteUserModal = function (e) {
+                return function () {
+                  n.setState({ showDeleteModal: e });
+                };
+              }),
+              (n.showDisableUserModal = function (e) {
+                return function () {
+                  n.setState({ showDisableModal: e });
+                };
+              }),
+              (n.onUserDelete = function () {
+                var e = n.props,
+                  t = e.user;
+                (0, e.onUserDelete)(t.id);
+              }),
+              (n.onUserDisable = function () {
+                var e = n.props,
+                  t = e.user;
+                (0, e.onUserDisable)(t.id);
+              }),
+              (n.onUserEnable = function () {
+                var e = n.props,
+                  t = e.user;
+                (0, e.onUserEnable)(t.id);
+              }),
+              (n.onUserNameChange = function (e) {
+                var t = n.props,
+                  r = t.user;
+                (0, t.onUserUpdate)(m({}, r, { name: e }));
+              }),
+              (n.onUserEmailChange = function (e) {
+                var t = n.props,
+                  r = t.user;
+                (0, t.onUserUpdate)(m({}, r, { email: e }));
+              }),
+              (n.onUserLoginChange = function (e) {
+                var t = n.props,
+                  r = t.user;
+                (0, t.onUserUpdate)(m({}, r, { login: e }));
+              }),
+              (n.onPasswordChange = function (e) {
+                n.props.onPasswordChange(e);
+              }),
+              n
+            );
+          }
+          return (
+            x(t, e),
+            y(t, [
+              {
+                key: "render",
+                value: function () {
+                  var e,
+                    t = this.props.user,
+                    n = this.state,
+                    r = n.showDeleteModal,
+                    o = n.showDisableModal,
+                    s =
+                      (null === (e = t.authLabels) || void 0 === e
+                        ? void 0
+                        : e.length) && t.authLabels[0],
+                    c = s ? "Synced via ".concat(s) : "",
+                    u = S(i.a.theme);
+                  return a.a.createElement(
+                    a.a.Fragment,
+                    null,
+                    a.a.createElement(
+                      "h3",
+                      { className: "page-heading" },
+                      "User information"
+                    ),
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form-group" },
+                      a.a.createElement(
+                        "div",
+                        { className: "gf-form" },
+                        a.a.createElement(
+                          "table",
+                          { className: "filter-table form-inline" },
+                          a.a.createElement(
+                            "tbody",
+                            null,
+                            a.a.createElement(E, {
+                              label: "Name",
+                              value: t.name,
+                              locked: t.isExternal,
+                              lockMessage: c,
+                              onChange: this.onUserNameChange,
+                            }),
+                            a.a.createElement(E, {
+                              label: "Email",
+                              value: t.email,
+                              locked: t.isExternal,
+                              lockMessage: c,
+                              onChange: this.onUserEmailChange,
+                            }),
+                            a.a.createElement(E, {
+                              label: "Username",
+                              value: t.login,
+                              locked: t.isExternal,
+                              lockMessage: c,
+                              onChange: this.onUserLoginChange,
+                            }),
+                            a.a.createElement(E, {
+                              label: "Password",
+                              value: "********",
+                              inputType: "password",
+                              locked: t.isExternal,
+                              lockMessage: c,
+                              onChange: this.onPasswordChange,
+                            })
+                          )
+                        )
+                      ),
+                      a.a.createElement(
+                        "div",
+                        { className: u.buttonRow },
+                        a.a.createElement(
+                          l.Forms.Button,
+                          {
+                            variant: "destructive",
+                            onClick: this.showDeleteUserModal(!0),
+                          },
+                          "Delete User"
+                        ),
+                        a.a.createElement(l.ConfirmModal, {
+                          isOpen: r,
+                          title: "Delete user",
+                          body: "Are you sure you want to delete this user?",
+                          confirmText: "Delete user",
+                          onConfirm: this.onUserDelete,
+                          onDismiss: this.showDeleteUserModal(!1),
+                        }),
+                        t.isDisabled
+                          ? a.a.createElement(
+                              l.Forms.Button,
+                              {
+                                variant: "secondary",
+                                onClick: this.onUserEnable,
+                              },
+                              "Enable User"
+                            )
+                          : a.a.createElement(
+                              l.Forms.Button,
+                              {
+                                variant: "secondary",
+                                onClick: this.showDisableUserModal(!0),
+                              },
+                              "Disable User"
+                            ),
+                        a.a.createElement(l.ConfirmModal, {
+                          isOpen: o,
+                          title: "Disable user",
+                          body: "Are you sure you want to disable this user?",
+                          confirmText: "Disable user",
+                          onConfirm: this.onUserDisable,
+                          onDismiss: this.showDisableUserModal(!1),
+                        })
+                      )
+                    )
+                  );
+                },
+              },
+            ]),
+            t
+          );
+        })(r.PureComponent),
+        S = Object(l.stylesFactory)(function (e) {
+          return { buttonRow: Object(o.css)(d()) };
+        }),
+        E = (function (e) {
+          function t() {
+            var e, n;
+            b(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = w(
+                this,
+                (e = O(t)).call.apply(e, [this].concat(a))
+              )).state = { editing: !1, value: n.props.value || "" }),
+              (n.setInputElem = function (e) {
+                n.inputElem = e;
+              }),
+              (n.onEditClick = function () {
+                "password" === n.props.inputType
+                  ? n.setState({ editing: !0, value: "" }, n.focusInput)
+                  : n.setState({ editing: !0 }, n.focusInput);
+              }),
+              (n.onCancelClick = function () {
+                n.setState({ editing: !1, value: n.props.value || "" });
+              }),
+              (n.onInputChange = function (e, t) {
+                t !== l.InputStatus.Invalid &&
+                  n.setState({ value: e.target.value });
+              }),
+              (n.onInputBlur = function (e, t) {
+                t !== l.InputStatus.Invalid &&
+                  n.setState({ value: e.target.value });
+              }),
+              (n.focusInput = function () {
+                n.inputElem && n.inputElem.focus && n.inputElem.focus();
+              }),
+              (n.onSave = function () {
+                n.props.onChange && n.props.onChange(n.state.value);
+              }),
+              n
+            );
+          }
+          return (
+            x(t, e),
+            y(t, [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.label,
+                    n = e.locked,
+                    r = e.lockMessage,
+                    i = e.inputType,
+                    s = this.state.value,
+                    c = Object(o.cx)("width-16", Object(o.css)(f())),
+                    u = Object(o.cx)("pull-right");
+                  return n
+                    ? a.a.createElement(C, {
+                        label: t,
+                        value: s,
+                        lockMessage: r,
+                      })
+                    : a.a.createElement(
+                        "tr",
+                        null,
+                        a.a.createElement("td", { className: c }, t),
+                        a.a.createElement(
+                          "td",
+                          { className: "width-25", colSpan: 2 },
+                          this.state.editing
+                            ? a.a.createElement(l.Input, {
+                                className: "width-20",
+                                type: i,
+                                defaultValue: s,
+                                onBlur: this.onInputBlur,
+                                onChange: this.onInputChange,
+                                inputRef: this.setInputElem,
+                              })
+                            : a.a.createElement("span", null, this.props.value)
+                        ),
+                        a.a.createElement(
+                          "td",
+                          null,
+                          a.a.createElement(
+                            "div",
+                            { className: u },
+                            a.a.createElement(
+                              l.ConfirmButton,
+                              {
+                                confirmText: "Save",
+                                onClick: this.onEditClick,
+                                onConfirm: this.onSave,
+                                onCancel: this.onCancelClick,
+                              },
+                              "Edit"
+                            )
+                          )
+                        )
+                      );
+                },
+              },
+            ]),
+            t
+          );
+        })(r.PureComponent);
+      E.defaultProps = {
+        value: "",
+        locked: !1,
+        lockMessage: "",
+        inputType: "text",
+      };
+      var C = function (e) {
+        var t = e.label,
+          n = e.value,
+          r = e.lockMessage,
+          i = Object(o.cx)("pull-right", Object(o.css)(u())),
+          l = Object(o.cx)("width-16", Object(o.css)(c()));
+        return a.a.createElement(
+          "tr",
+          null,
+          a.a.createElement("td", { className: l }, t),
+          a.a.createElement("td", { className: "width-25", colSpan: 2 }, n),
+          a.a.createElement(
+            "td",
+            null,
+            a.a.createElement("span", { className: i }, r)
+          )
+        );
+      };
+    },
+    "+CPp": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return a;
+      });
+      var r = {
+          query: null,
+          textbox: null,
+          constant: null,
+          datasource: null,
+          custom: null,
+          interval: null,
+          adhoc: null,
+        },
+        a = {
+          contains: function (e) {
+            return !!r[e];
+          },
+          get: function (e) {
+            if (null !== r[e]) return r[e];
+            throw new Error("There is no adapter for type:".concat(e));
+          },
+          set: function (e, t) {
+            return (r[e] = t);
+          },
+          registeredTypes: function () {
+            return Object.keys(r)
+              .filter(function (e) {
+                return null !== r[e];
+              })
+              .map(function (e) {
+                return { type: e, label: r[e].label };
+              });
+          },
+        };
+    },
+    "+JUD": function (e, t, n) {
+      "use strict";
+      n.d(t, "e", function () {
+        return d;
+      }),
+        n.d(t, "c", function () {
+          return p;
+        }),
+        n.d(t, "b", function () {
+          return h;
+        }),
+        n.d(t, "d", function () {
+          return m;
+        }),
+        n.d(t, "f", function () {
+          return g;
+        }),
+        n.d(t, "a", function () {
+          return b;
+        });
+      var r = n("SMGL"),
+        a = n("K47g"),
+        o = n("Obii"),
+        i = n("LvDl"),
+        l = n("Xmxp"),
+        s = (n("ZFWI"), n("5kRJ")),
+        c = n("eXZ6"),
+        u = n("GQ3c"),
+        f = n("Y2hc"),
+        d = function e(t, n, r) {
+          if (!1 === r) t.removePanel(n);
+          else {
+            var a = n.alert
+                ? "Panel includes an alert rule, removing panel will also remove alert rule"
+                : null,
+              o = n.alert ? "YES" : null;
+            l.b.emit(u.CoreEvents.showConfirmModal, {
+              title: "Remove Panel",
+              text: "Are you sure you want to remove this panel?",
+              text2: a,
+              icon: "fa-trash",
+              confirmText: o,
+              yesText: "Remove",
+              onConfirm: function () {
+                return e(t, n, !1);
+              },
+            });
+          }
+        },
+        p = function (e, t) {
+          e.duplicatePanel(t);
+        },
+        h = function (e) {
+          r.a.set(c.g, JSON.stringify(e.getSaveModel())),
+            l.b.emit(o.AppEvents.alertSuccess, [
+              "Panel copied. Open Add Panel to paste",
+            ]);
+        },
+        m = function (e, t) {
+          var n = {
+            object: t.getSaveModel(),
+            updateHandler: function (t, n) {
+              !(function (e, t, n) {
+                var r = e.panels.findIndex(function (e) {
+                    return e.id === n.id;
+                  }),
+                  o = e.panels.splice(r, 1)[0];
+                e.events.emit(a.c, o),
+                  ((t = new a.a(t)).id = n.id),
+                  e.panels.splice(r, 0, t),
+                  e.sortPanelsByGridPos(),
+                  e.events.emit(a.b, t);
+              })(e, t, n);
+            },
+            canUpdate: e.meta.canEdit,
+            enableCopy: !0,
+          };
+          l.b.emit(u.CoreEvents.showModal, {
+            src: "public/app/partials/edit_json.html",
+            model: n,
+          });
+        },
+        g = function (e, t) {
+          l.b.emit(u.CoreEvents.showModalReact, {
+            component: f.ShareModal,
+            props: { dashboard: e, panel: t },
+          });
+        };
+      function b(e, t) {
+        var n = { timeInfo: "", timeRange: t };
+        if (e.timeFrom) {
+          var r = s.b.replace(e.timeFrom, e.scopedVars),
+            a = o.rangeUtil.describeTextRange(r);
+          if (a.invalid) return (n.timeInfo = "invalid time override"), n;
+          if (Object(i.isString)(t.raw.from)) {
+            var l = o.dateMath.parse(a.from);
+            (n.timeInfo = a.display),
+              (n.timeRange = {
+                from: l,
+                to: o.dateMath.parse(a.to),
+                raw: { from: a.from, to: a.to },
+              });
+          }
+        }
+        if (e.timeShift) {
+          var c = s.b.replace(e.timeShift, e.scopedVars);
+          if (o.rangeUtil.describeTextRange(c).invalid)
+            return (n.timeInfo = "invalid timeshift"), n;
+          var u = "-" + c;
+          n.timeInfo += " timeshift " + u;
+          var f = o.dateMath.parseDateMath(u, n.timeRange.from, !1),
+            d = o.dateMath.parseDateMath(u, n.timeRange.to, !0);
+          n.timeRange = { from: f, to: d, raw: { from: f, to: d } };
+        }
+        return e.hideTimeOverride && (n.timeInfo = ""), n;
+      }
+    },
+    "+dgx": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return h;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("LvDl"),
+        i = n.n(o),
+        l = n("kDLi"),
+        s = n("t8hP");
+      function c(e) {
+        return (c =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function u(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function f(e) {
+        return (f = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function d(e) {
+        if (void 0 === e)
+          throw new ReferenceError(
+            "this hasn't been initialised - super() hasn't been called"
+          );
+        return e;
+      }
+      function p(e, t) {
+        return (p =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var h = (function (e) {
+        function t(e) {
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            (r = this),
+            ((n =
+              !(a = f(t).call(this, e)) ||
+              ("object" !== c(a) && "function" != typeof a)
+                ? d(r)
+                : a).state = { isLoading: !1 }),
+            (n.search = n.search.bind(d(n))),
+            (n.debouncedSearch = Object(o.debounce)(n.search, 300, {
+              leading: !0,
+              trailing: !0,
+            })),
+            n
+          );
+        }
+        var n, r, h;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && p(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "search",
+              value: function (e) {
+                var t = this;
+                return (
+                  this.setState({ isLoading: !0 }),
+                  i.a.isNil(e) && (e = ""),
+                  Object(s.getBackendSrv)()
+                    .get("/api/org/users/lookup?query=".concat(e, "&limit=10"))
+                    .then(function (e) {
+                      return e.map(function (e) {
+                        return {
+                          id: e.userId,
+                          value: e.userId,
+                          label: e.login,
+                          imgUrl: e.avatarUrl,
+                          login: e.login,
+                        };
+                      });
+                    })
+                    .finally(function () {
+                      t.setState({ isLoading: !1 });
+                    })
+                );
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.className,
+                  n = e.onSelected,
+                  r = this.state.isLoading;
+                return a.a.createElement(
+                  "div",
+                  { className: "user-picker" },
+                  a.a.createElement(l.AsyncSelect, {
+                    className: t,
+                    isLoading: r,
+                    defaultOptions: !0,
+                    loadOptions: this.debouncedSearch,
+                    onChange: n,
+                    placeholder: "Select user",
+                    noOptionsMessage: function () {
+                      return "No users found";
+                    },
+                  })
+                );
+              },
+            },
+          ]) && u(n.prototype, r),
+          h && u(n, h),
+          t
+        );
+      })(r.Component);
+    },
+    "+iHc": function (e, t, n) {
+      "use strict";
+      var r = n("dt0z"),
+        a = n.n(r),
+        o = n("E+oP"),
+        i = n.n(o),
+        l = n("LvDl"),
+        s = n.n(l),
+        c = n("HJqT"),
+        u = n("GNR5"),
+        f = n("b+mb"),
+        d = n("IjGO"),
+        p = n("KgU3"),
+        h = n("2wGe"),
+        m = n("m+sf"),
+        g = n("oetV"),
+        b = n("UB5X"),
+        v = n.n(b);
+      function y(e, t) {
+        var n = t ? t.type : p.GrafanaThemeType.Dark,
+          r = e.config || {},
+          a = r.thresholds,
+          o = r.color,
+          i =
+            o && o.mode === p.FieldColorMode.Fixed && o.fixedColor
+              ? Object(m.e)(o.fixedColor, n)
+              : void 0,
+          l = a && a.mode === p.ThresholdsMode.Percentage,
+          s = o && o.mode === p.FieldColorMode.Scheme;
+        if (l || s) {
+          var c = r.min,
+            u = r.max;
+          if (!v()(c) || !v()(u))
+            if (e.values && e.values.length) {
+              var f = Object(h.n)({ field: e, reducers: [h.h.min, h.h.max] });
+              v()(c) || (c = f[h.h.min]), v()(u) || (u = f[h.h.max]);
+            } else (c = 0), (u = 100);
+          var d,
+            b = u - c;
+          return (
+            s && (d = g["interpolate".concat(o.schemeName)]),
+            function (e) {
+              var t = (e - c) / b,
+                r = a ? w(l ? 100 * t : e, a.steps) : void 0,
+                o = i;
+              return (
+                d ? (o = d(t)) : r && (o = Object(m.e)(r.color, n)),
+                { percent: t, threshold: r, color: o }
+              );
+            }
+          );
+        }
+        return a
+          ? function (e) {
+              var t = w(e, a.steps);
+              return {
+                threshold: t,
+                color: null != i ? i : t ? Object(m.e)(t.color, n) : void 0,
+              };
+            }
+          : i
+          ? function (e) {
+              return { color: i };
+            }
+          : function (e) {
+              return {};
+            };
+      }
+      function w(e, t) {
+        var n = t[0],
+          r = !0,
+          a = !1,
+          o = void 0;
+        try {
+          for (
+            var i, l = t[Symbol.iterator]();
+            !(r = (i = l.next()).done);
+            r = !0
+          ) {
+            var s = i.value;
+            if (!(e >= s.value)) break;
+            n = s;
+          }
+        } catch (e) {
+          (a = !0), (o = e);
+        } finally {
+          try {
+            r || null == l.return || l.return();
+          } finally {
+            if (a) throw o;
+          }
+        }
+        return n;
+      }
+      function O(e) {
+        return e.sort(function (e, t) {
+          return e.value - t.value;
+        });
+      }
+      function x(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function k(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? x(Object(n), !0).forEach(function (t) {
+                j(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : x(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function j(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var S = { dateTimeAsIso: !0, dateTimeAsUS: !0, dateTimeFromNow: !0 };
+      function E(e) {
+        var t;
+        if (!e || s.a.isEmpty(e) || !e.field) return P;
+        var n = e.field,
+          r = null !== (t = n.config) && void 0 !== t ? t : {};
+        n.type === c.a.time &&
+          ((r.unit && S[r.unit]) ||
+            (r.unit && r.unit.startsWith("time:")) ||
+            (r.unit = "time:".concat(d.a)));
+        var a = Object(u.b)(r.unit || "none"),
+          o = y(n, e.theme);
+        return function (t) {
+          var n = r.mappings,
+            i = s.a.toString(t),
+            l = C(t),
+            c = void 0,
+            u = void 0,
+            d = !0;
+          if (n && n.length > 0) {
+            var p = Object(f.a)(n, t);
+            if (p) {
+              var h = C((i = p.text));
+              isNaN(h) || (l = h), (d = !1);
+            }
+          }
+          if (!isNaN(l)) {
+            if (d && !s.a.isBoolean(t)) {
+              var m = T(t, r.decimals),
+                g = m.decimals,
+                b = m.scaledDecimals,
+                v = a(l, g, b, e.timeZone);
+              if (
+                ((i = v.text),
+                (u = v.suffix),
+                (c = v.prefix),
+                n && n.length > 0)
+              ) {
+                var y = Object(f.a)(n, i);
+                y && (i = y.text);
+              }
+            }
+            if (i)
+              return k({ text: i, numeric: l, prefix: c, suffix: u }, o(l));
+          }
+          return (
+            i || (i = r.noValue ? r.noValue : ""),
+            k({ text: i, numeric: l, prefix: c, suffix: u }, o(-1 / 0))
+          );
+        };
+      }
+      function C(e) {
+        return "number" == typeof e
+          ? e
+          : "" === e || null == e || Array.isArray(e)
+          ? NaN
+          : "boolean" == typeof e
+          ? e
+            ? 1
+            : 0
+          : s.a.toNumber(e);
+      }
+      function P(e) {
+        return { text: s.a.toString(e), numeric: C(e) };
+      }
+      function T(e, t) {
+        if (s.a.isNumber(t)) return { decimals: t, scaledDecimals: null };
+        var n,
+          r = 1 - Math.floor(Math.log(e) / Math.LN10),
+          a = Math.pow(10, -r),
+          o = e / a;
+        o < 1.5
+          ? (n = 1)
+          : o < 3
+          ? ((n = 2), o > 2.25 && ((n = 2.5), ++r))
+          : (n = o < 7.5 ? 5 : 10),
+          (n *= a),
+          e % 1 == 0 && (r = 0);
+        var i = Math.max(0, r);
+        return {
+          decimals: i,
+          scaledDecimals: i - Math.floor(Math.log(n) / Math.LN10) + 2,
+        };
+      }
+      var D = n("U5HE"),
+        A = n("if1/"),
+        _ = n("ZSVY"),
+        N = n("0v62"),
+        M = n("8//q"),
+        I = new (n("2kIT").a)();
+      function R(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function F(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? R(Object(n), !0).forEach(function (t) {
+                L(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : R(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function L(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function V(e) {
+        if (!e.data) return [];
+        var t = e.fieldOptions;
+        if (!t) return e.data;
+        var n = void 0,
+          r = [];
+        if (t.overrides) {
+          var a = !0,
+            o = !1,
+            i = void 0;
+          try {
+            for (
+              var l, s = t.overrides[Symbol.iterator]();
+              !(a = (l = s.next()).done);
+              a = !0
+            ) {
+              var c = l.value,
+                u = h.i.get(c.matcher.id);
+              u &&
+                r.push({
+                  match: u.get(c.matcher.options),
+                  properties: c.properties,
+                });
+            }
+          } catch (e) {
+            (o = !0), (i = e);
+          } finally {
+            try {
+              a || null == s.return || s.return();
+            } finally {
+              if (o) throw i;
+            }
+          }
+        }
+        return e.data.map(function (a, o) {
+          var i = a.name;
+          i || (i = "Series[".concat(o, "]"));
+          var l = { __series: { text: "Series", value: { name: i } } },
+            s = a.fields.map(function (a, i) {
+              var s = a.name;
+              s || (s = "Field[".concat(i, "]")),
+                (l.__field = { text: "Field", value: { name: s } });
+              var c = F({}, a.config, { scopedVars: l }) || {},
+                u = {
+                  field: a,
+                  data: e.data,
+                  dataFrameIndex: o,
+                  replaceVariables: e.replaceVariables,
+                  custom: e.custom,
+                };
+              !(function (e, t, n) {
+                if (t)
+                  for (
+                    var r = Object.keys(t), a = 0, o = r;
+                    a < o.length;
+                    a++
+                  ) {
+                    var i = o[a];
+                    if ("custom" === i) {
+                      if (!n.custom) continue;
+                      e.custom || (e.custom = {});
+                      for (
+                        var l = Object.keys(t.custom), s = 0, c = l;
+                        s < c.length;
+                        s++
+                      ) {
+                        var u = c[s];
+                        $(e.custom, t.custom, u, n.custom, n);
+                      }
+                    } else $(e, t, i, I, n);
+                  }
+                q(e);
+              })(c, t.defaults, u);
+              var f = !0,
+                d = !1,
+                m = void 0;
+              try {
+                for (
+                  var g, b = r[Symbol.iterator]();
+                  !(f = (g = b.next()).done);
+                  f = !0
+                ) {
+                  var y = g.value;
+                  if (y.match(a)) {
+                    var w = !0,
+                      O = !1,
+                      x = void 0;
+                    try {
+                      for (
+                        var k, j = y.properties[Symbol.iterator]();
+                        !(w = (k = j.next()).done);
+                        w = !0
+                      ) {
+                        B(c, k.value, u);
+                      }
+                    } catch (e) {
+                      (O = !0), (x = e);
+                    } finally {
+                      try {
+                        w || null == j.return || j.return();
+                      } finally {
+                        if (O) throw x;
+                      }
+                    }
+                  }
+                }
+              } catch (e) {
+                (d = !0), (m = e);
+              } finally {
+                try {
+                  f || null == b.return || b.return();
+                } finally {
+                  if (d) throw m;
+                }
+              }
+              var S = a.type;
+              if (!S || S === p.FieldType.other) {
+                var C = Object(M.q)(a);
+                C && (S = C);
+              }
+              "percent" === c.unit
+                ? (v()(c.min) || (c.min = 0), v()(c.max) || (c.max = 100))
+                : "percentunit" === c.unit &&
+                  (v()(c.min) || (c.min = 0), v()(c.max) || (c.max = 1)),
+                e.autoMinMax &&
+                  a.type === p.FieldType.number &&
+                  ((v()(c.min) && v()(c.max)) ||
+                    (n ||
+                      (n = (function (e) {
+                        var t = Number.MAX_VALUE,
+                          n = Number.MIN_VALUE,
+                          r = [h.h.min, h.h.max],
+                          a = !0,
+                          o = !1,
+                          i = void 0;
+                        try {
+                          for (
+                            var l, s = e[Symbol.iterator]();
+                            !(a = (l = s.next()).done);
+                            a = !0
+                          ) {
+                            var c = l.value,
+                              u = !0,
+                              f = !1,
+                              d = void 0;
+                            try {
+                              for (
+                                var m, g = c.fields[Symbol.iterator]();
+                                !(u = (m = g.next()).done);
+                                u = !0
+                              ) {
+                                var b = m.value;
+                                if (b.type === p.FieldType.number) {
+                                  var v = Object(h.n)({
+                                    field: b,
+                                    reducers: r,
+                                  });
+                                  v[h.h.min] < t && (t = v[h.h.min]),
+                                    v[h.h.max] > n && (n = v[h.h.max]);
+                                }
+                              }
+                            } catch (e) {
+                              (f = !0), (d = e);
+                            } finally {
+                              try {
+                                u || null == g.return || g.return();
+                              } finally {
+                                if (f) throw d;
+                              }
+                            }
+                          }
+                        } catch (e) {
+                          (o = !0), (i = e);
+                        } finally {
+                          try {
+                            a || null == s.return || s.return();
+                          } finally {
+                            if (o) throw i;
+                          }
+                        }
+                        return { min: t, max: n };
+                      })(e.data)),
+                    v()(c.min) || (c.min = n.min),
+                    v()(c.max) || (c.max = n.max)));
+              var P = F({}, a, { config: c, type: S });
+              return (
+                (P.display = E({
+                  field: P,
+                  theme: e.theme,
+                  timeZone: e.timeZone,
+                })),
+                P
+              );
+            });
+          return F({}, a, { fields: s, name: i });
+        });
+      }
+      function B(e, t, n) {
+        var r = t.custom ? n.custom : I,
+          a = null == r ? void 0 : r.getIfExists(t.prop);
+        if (a && a.shouldApply(n.field)) {
+          var o = a.process(t.value, n, a.settings);
+          null == o
+            ? t.custom
+              ? delete (null == e ? void 0 : e.custom)[t.prop]
+              : delete e[t.prop]
+            : t.custom
+            ? (e.custom || (e.custom = {}), (e.custom[t.prop] = o))
+            : (e[t.prop] = o);
+        }
+      }
+      var $ = function (e, t, n, r, a) {
+        var o = e[n];
+        if (null == o) {
+          var i = r.getIfExists(n);
+          if (!i)
+            return void console.warn(
+              "No processor available for ".concat(n, " config  property")
+            );
+          if (i && i.shouldApply(a.field)) {
+            var l = i.process(t[n], a, i.settings);
+            null != l && (e[n] = l);
+          }
+        }
+      };
+      function q(e) {
+        var t = e.thresholds;
+        if (
+          (t &&
+            (t.mode || (t.mode = p.ThresholdsMode.Absolute),
+            t.steps
+              ? t.steps.length && (t.steps[0].value = -1 / 0)
+              : (t.steps = [])),
+          e.color)
+        )
+          if (e.color.mode) {
+            var n = e.color;
+            n.mode === p.FieldColorMode.Scheme
+              ? n.schemeName || (n.schemeName = p.ColorScheme.BrBG)
+              : delete n.schemeName;
+          } else delete e.color;
+        else t && (e.color = { mode: p.FieldColorMode.Thresholds });
+        if (
+          e.hasOwnProperty("min") &&
+          e.hasOwnProperty("max") &&
+          e.min > e.max
+        ) {
+          var r = e.max;
+          (e.max = e.min), (e.min = r);
+        }
+      }
+      function U(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function z(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? U(Object(n), !0).forEach(function (t) {
+                H(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : U(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function H(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var G = function (e) {
+        var t = e.replaceVariables,
+          n = e.fieldOptions,
+          r = n.calcs.length ? n.calcs : [_.a.last],
+          o = [];
+        if (e.data)
+          for (
+            var l = V(e),
+              s = !1,
+              c = n.limit ? n.limit : 25,
+              u = (function (e, t, n) {
+                if (e) return e;
+                if (!n || !n.length) return "No Data";
+                var r = 0,
+                  a = !0,
+                  o = !1,
+                  i = void 0;
+                try {
+                  for (
+                    var l, s = n[0].fields[Symbol.iterator]();
+                    !(a = (l = s.next()).done);
+                    a = !0
+                  ) {
+                    l.value.type === p.FieldType.number && r++;
+                  }
+                } catch (e) {
+                  (o = !0), (i = e);
+                } finally {
+                  try {
+                    a || null == s.return || s.return();
+                  } finally {
+                    if (o) throw i;
+                  }
+                }
+                var c = [];
+                return (
+                  t.length > 1 && c.push("${__calc}"),
+                  n.length > 1 && c.push("${__series.name}"),
+                  (r > 1 || !c.length) && c.push("${__field.name}"),
+                  c.join(" ")
+                );
+              })(n.defaults.title, r, l),
+              f = {},
+              d = 0;
+            d < l.length && !s;
+            d++
+          )
+            for (
+              var h = l[d], m = Object(N.b)(h).timeField, g = new A.a(h), b = 0;
+              b < h.fields.length && !s;
+              b++
+            ) {
+              var v,
+                y = h.fields[b];
+              if (y.type === p.FieldType.number) {
+                var w = y.config,
+                  O =
+                    null !== (v = y.display) && void 0 !== v
+                      ? v
+                      : E({ field: y, theme: e.theme }),
+                  x = w.title ? w.title : u;
+                if (n.values)
+                  for (
+                    var k = x.indexOf("__cell_") >= 0, j = 0;
+                    j < y.values.length;
+                    j++
+                  ) {
+                    if (k)
+                      for (var S = 0; S < h.fields.length; S++) {
+                        var C = h.fields[S].values.get(j);
+                        f["__cell_" + S] = { value: C, text: a()(C) };
+                      }
+                    var P = O(y.values.get(j));
+                    if (
+                      ((P.title = t(x, z({}, y.config.scopedVars, {}, f))),
+                      o.push({
+                        name: name,
+                        field: w,
+                        display: P,
+                        view: g,
+                        colIndex: b,
+                        rowIndex: j,
+                      }),
+                      o.length >= c)
+                    ) {
+                      s = !0;
+                      break;
+                    }
+                  }
+                else {
+                  var T = Object(_.c)({ field: y, reducers: r }),
+                    M = void 0;
+                  e.sparkline &&
+                    m &&
+                    (M = Object(D.a)({ xField: m, yField: h.fields[b] }));
+                  var I = !0,
+                    R = !1,
+                    F = void 0;
+                  try {
+                    for (
+                      var L, B = r[Symbol.iterator]();
+                      !(I = (L = B.next()).done);
+                      I = !0
+                    ) {
+                      var $ = L.value;
+                      f.__calc = { value: $, text: $ };
+                      var q = O(T[$]);
+                      (q.title = t(x, z({}, y.config.scopedVars, {}, f))),
+                        o.push({
+                          name: $,
+                          field: w,
+                          display: q,
+                          sparkline: M,
+                          view: g,
+                          colIndex: b,
+                        });
+                    }
+                  } catch (e) {
+                    (R = !0), (F = e);
+                  } finally {
+                    try {
+                      I || null == B.return || B.return();
+                    } finally {
+                      if (R) throw F;
+                    }
+                  }
+                }
+              }
+            }
+        return (
+          0 === o.length
+            ? o.push(
+                (function (e) {
+                  var t = e.fieldOptions.defaults,
+                    n = E({
+                      field: { type: p.FieldType.other, config: t },
+                      theme: e.theme,
+                    })(null),
+                    r = (function (e, t) {
+                      if (!e || i()(e.text)) return t;
+                      return e.text;
+                    })(n, "No data");
+                  return {
+                    name: "No data",
+                    field: z({}, t),
+                    display: { text: r, numeric: 0, color: n.color },
+                  };
+                })(e)
+              )
+            : 1 !== o.length ||
+              n.defaults.title ||
+              (o[0].display.title = void 0),
+          o
+        );
+      };
+      function W(e) {
+        for (
+          var t = { title: "", text: "" }, n = 0, r = 0, a = 0;
+          a < e.length;
+          a++
+        ) {
+          var o = e[a].display;
+          o.text && o.text.length > t.text.length && (t.text = o.text),
+            o.title && o.title.length > t.title.length && (t.title = o.title),
+            o.prefix &&
+              o.prefix.length > n &&
+              ((t.prefix = o.prefix), (n = o.prefix.length)),
+            o.suffix &&
+              o.suffix.length > r &&
+              ((t.suffix = o.suffix), (r = o.suffix.length));
+        }
+        return t;
+      }
+      n.d(t, "e", function () {
+        return "__series.name";
+      }),
+        n.d(t, "d", function () {
+          return "__field.name";
+        }),
+        n.d(t, "b", function () {
+          return "__calc";
+        }),
+        n.d(t, "c", function () {
+          return "__cell_";
+        }),
+        n.d(t, "a", function () {
+          return 25;
+        }),
+        n.d(t, "k", function () {
+          return G;
+        }),
+        n.d(t, "j", function () {
+          return W;
+        }),
+        n.d(t, "i", function () {
+          return E;
+        }),
+        n.d(t, "h", function () {
+          return T;
+        }),
+        n.d(t, "l", function () {
+          return y;
+        }),
+        n.d(t, "g", function () {
+          return w;
+        }),
+        n.d(t, "m", function () {
+          return O;
+        }),
+        n.d(t, "n", function () {
+          return I;
+        }),
+        n.d(t, "f", function () {
+          return V;
+        }),
+        n.d(t, "o", function () {
+          return q;
+        });
+    },
+    "+ujO": function (e, t, n) {
+      "use strict";
+      var r = n("GNR5");
+      n.d(t, "a", function () {
+        return r.a;
+      }),
+        n.d(t, "b", function () {
+          return r.b;
+        }),
+        n.d(t, "c", function () {
+          return r.c;
+        }),
+        n.d(t, "d", function () {
+          return r.d;
+        }),
+        n.d(t, "e", function () {
+          return r.e;
+        }),
+        n.d(t, "f", function () {
+          return r.f;
+        }),
+        n.d(t, "g", function () {
+          return r.g;
+        }),
+        n.d(t, "h", function () {
+          return r.h;
+        }),
+        n.d(t, "i", function () {
+          return r.i;
+        }),
+        n.d(t, "j", function () {
+          return r.j;
+        });
+    },
+    "/2Ru": function (e, t) {
+      var n = "public/app/features/datasources/partials/tls_auth_settings.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=gf-form-group>\n  <div class=gf-form>\n    <h6>TLS Auth Details</h6>\n    <info-popover mode=header>TLS Certs are encrypted and stored in the Grafana database.</info-popover>\n  </div>\n  <div ng-if=current.jsonData.tlsAuthWithCACert>\n    <div class=gf-form-inline>\n      <div class="gf-form gf-form--v-stretch"><label class="gf-form-label width-7">CA Cert</label></div>\n      <div class="gf-form gf-form--grow" ng-if=!current.secureJsonFields.tlsCACert>\n         <textarea rows=7 class="gf-form-input gf-form-textarea" ng-model=current.secureJsonData.tlsCACert placeholder="Begins with -----BEGIN CERTIFICATE-----"></textarea>\n      </div>\n\n      <div class=gf-form ng-if=current.secureJsonFields.tlsCACert>\n        <input type=text class="gf-form-input max-width-12" disabled=disabled value=configured />\n        <a class="btn btn-secondary gf-form-btn" href=# ng-click="current.secureJsonFields.tlsCACert = false">reset</a>\n      </div>\n    </div>\n  </div>\n\n  <div ng-if=current.jsonData.tlsAuth>\n    <div class=gf-form-inline>\n      <div class="gf-form gf-form--v-stretch"><label class="gf-form-label width-7">Client Cert</label></div>\n      <div class="gf-form gf-form--grow" ng-if=!current.secureJsonFields.tlsClientCert>\n         <textarea rows=7 class="gf-form-input gf-form-textarea" ng-model=current.secureJsonData.tlsClientCert placeholder="Begins with -----BEGIN CERTIFICATE-----" required></textarea>\n      </div>\n      <div class=gf-form ng-if=current.secureJsonFields.tlsClientCert>\n        <input type=text class="gf-form-input max-width-12" disabled=disabled value=configured />\n        <a class="btn btn-secondary gf-form-btn" href=# ng-click="current.secureJsonFields.tlsClientCert = false">reset</a>\n      </div>\n    </div>\n\n    <div class=gf-form-inline>\n      <div class="gf-form gf-form--v-stretch"><label class="gf-form-label width-7">Client Key</label></div>\n      <div class="gf-form gf-form--grow" ng-if=!current.secureJsonFields.tlsClientKey>\n         <textarea rows=7 class="gf-form-input gf-form-textarea" ng-model=current.secureJsonData.tlsClientKey placeholder="Begins with -----BEGIN RSA PRIVATE KEY-----" required></textarea>\n      </div>\n      <div class=gf-form ng-if=current.secureJsonFields.tlsClientKey>\n        <input type=text class="gf-form-input max-width-12" disabled=disabled value=configured />\n        <a class="btn btn-secondary gf-form-btn" href=# ng-click="current.secureJsonFields.tlsClientKey = false">reset</a>\n      </div>\n    </div>\n  </div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "/8l8": function (e, t) {
+      var n =
+        "public/app/plugins/datasource/grafana/partials/annotations.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '\n<div class=gf-form-group>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-9">\n\t\t\t\tFilter by\n\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li>Dashboard: This will fetch annotation and alert state changes for whole dashboard and show them only on the event\'s originating panel.</li>\n\t\t\t\t\t\t<li>Tags: This will fetch any annotation events that match the tags filter.</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</info-popover>\n\t\t\t</span>\n\t\t\t<div class="gf-form-select-wrapper width-8">\n\t\t\t\t<select class=gf-form-input ng-model=ctrl.annotation.type ng-options="f.value as f.text for f in ctrl.types">\n\t\t\t\t</select>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class=gf-form-label>Max limit</span>\n\t\t\t<div class=gf-form-select-wrapper>\n\t\t\t\t<select class=gf-form-input ng-model=ctrl.annotation.limit ng-options="f for f in [10,50,100,200,300,500,1000,2000]">\n\t\t\t\t</select>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form ng-if="ctrl.annotation.type === \'tags\'">\n\t\t\t<gf-form-switch class=gf-form label="Match any" label-class=width-9 checked=ctrl.annotation.matchAny on-change=ctrl.refresh() tooltip="By default Grafana only shows annotations that match all tags in the query. Enabling this returns annotations that match any of the tags in the query."></gf-form-switch>\n\t\t</div>\n\t\t<div class=gf-form ng-if="ctrl.annotation.type === \'tags\'">\n\t\t\t<span class=gf-form-label>\n\t\t\t\tTags\n\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\tA tag entered here as \'foo\' will match\n\t\t\t\t\t<ul>\n\t\t\t\t\t\t<li>annotation tags \'foo\'</li>\n\t\t\t\t\t\t<li>annotation key-value tags formatted as \'foo:bar\'</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</info-popover>\n\t\t\t</span>\n\t\t\t<bootstrap-tagsinput ng-model=ctrl.annotation.tags tagclass="label label-tag" placeholder="add tags">\n\t\t\t</bootstrap-tagsinput>\n\t\t</div>\n\t</div>\n</div>\n\n\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "/Dwp": function (e, t) {
+      var n = "public/app/plugins/panel/text/module.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<p class="markdown-html panel-text-content" ng-bind-html=ctrl.content ng-show=ctrl.content>\n</p>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "/FV5": function (e, t, n) {
+      "use strict";
+      var r;
+      n.d(t, "a", function () {
+        return r;
+      }),
+        (function (e) {
+          (e.Admin = "Admin"), (e.Editor = "Editor"), (e.Viewer = "Viewer");
+        })(r || (r = {}));
+    },
+    "/GJV": function (e, t, n) {
+      "use strict";
+      n.r(t),
+        n.d(t, "refresh", function () {
+          return a;
+        }),
+        n.d(t, "componentDidMount", function () {
+          return o;
+        }),
+        n.d(t, "dataError", function () {
+          return i;
+        }),
+        n.d(t, "dataReceived", function () {
+          return l;
+        }),
+        n.d(t, "dataSnapshotLoad", function () {
+          return s;
+        }),
+        n.d(t, "editModeInitialized", function () {
+          return c;
+        }),
+        n.d(t, "initPanelActions", function () {
+          return u;
+        }),
+        n.d(t, "panelChangeView", function () {
+          return f;
+        }),
+        n.d(t, "panelInitialized", function () {
+          return d;
+        }),
+        n.d(t, "panelSizeChanged", function () {
+          return p;
+        }),
+        n.d(t, "panelTeardown", function () {
+          return h;
+        }),
+        n.d(t, "render", function () {
+          return m;
+        }),
+        n.d(t, "viewModeChanged", function () {
+          return g;
+        });
+      var r = n("5m9O"),
+        a = Object(r.a)("refresh"),
+        o = Object(r.a)("component-did-mount"),
+        i = Object(r.a)("data-error"),
+        l = Object(r.a)("data-received"),
+        s = Object(r.a)("data-snapshot-load"),
+        c = Object(r.a)("init-edit-mode"),
+        u = Object(r.a)("init-panel-actions"),
+        f = Object(r.a)("panel-change-view"),
+        d = Object(r.a)("panel-initialized"),
+        p = Object(r.a)("panel-size-changed"),
+        h = Object(r.a)("panel-teardown"),
+        m = Object(r.a)("render"),
+        g = Object(r.a)("view-mode-changed");
+    },
+    "/HFP": function (e, t) {
+      var n =
+        "public/app/plugins/datasource/influxdb/partials/query.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<query-editor-row query-ctrl=ctrl can-collapse=true has-text-edit-mode=true>\n  <div ng-if=ctrl.target.rawQuery>\n    <div class=gf-form>\n      <textarea rows=3 class=gf-form-input ng-model=ctrl.target.query spellcheck=false placeholder="InfluxDB Query" ng-model-onblur ng-change=ctrl.refresh()></textarea>\n    </div>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword">FORMAT AS</label>\n        <div class=gf-form-select-wrapper>\n          <select class="gf-form-input gf-size-auto" ng-model=ctrl.target.resultFormat ng-options="f.value as f.text for f in ctrl.resultFormats" ng-change=ctrl.refresh()></select>\n        </div>\n      </div>\n      <div class="gf-form max-width-25" ng-hide="ctrl.target.resultFormat === \'table\'">\n        <label class="gf-form-label query-keyword">ALIAS BY</label>\n        <input type=text class=gf-form-input ng-model=ctrl.target.alias spellcheck=false placeholder="Naming pattern" ng-blur=ctrl.refresh() />\n      </div>\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n    </div>\n  </div>\n\n  <div ng-if=!ctrl.target.rawQuery>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-7">FROM</label>\n\n        <metric-segment segment=ctrl.policySegment get-options=ctrl.getPolicySegments() on-change=ctrl.policyChanged()></metric-segment>\n        <metric-segment segment=ctrl.measurementSegment get-options=ctrl.getMeasurements($query) on-change=ctrl.measurementChanged()></metric-segment>\n      </div>\n\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword">WHERE</label>\n      </div>\n\n      <div class=gf-form ng-repeat="segment in ctrl.tagSegments">\n        <metric-segment segment=segment get-options="ctrl.getTagsOrValues(segment, $index)" on-change="ctrl.tagSegmentUpdated(segment, $index)"></metric-segment>\n      </div>\n\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline ng-repeat="selectParts in ctrl.queryModel.selectModels">\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-7"> <span ng-show="$index === 0">SELECT</span>&nbsp; </label>\n      </div>\n\n      <div class=gf-form ng-repeat="part in selectParts">\n        <query-part-editor class="gf-form-label query-part" part=part handle-event="ctrl.handleSelectPartEvent(selectParts, part, $event)">\n        </query-part-editor>\n      </div>\n\n      <div class=gf-form>\n        <label class=dropdown dropdown-typeahead2=ctrl.selectMenu dropdown-typeahead-on-select="ctrl.addSelectPart(selectParts, $item, $subItem)" button-template-class="gf-form-label query-part">\n        </label>\n      </div>\n\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-7">\n          <span>GROUP BY</span>\n        </label>\n\n        <query-part-editor ng-repeat="part in ctrl.queryModel.groupByParts" part=part class="gf-form-label query-part" handle-event="ctrl.handleGroupByPartEvent(part, $index, $event)">\n        </query-part-editor>\n      </div>\n\n      <div class=gf-form>\n        <metric-segment segment=ctrl.groupBySegment get-options=ctrl.getGroupByOptions() on-change="ctrl.groupByAction(part, $index)"></metric-segment>\n      </div>\n\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline ng-if="ctrl.target.orderByTime === \'DESC\'">\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-7">ORDER BY</label>\n        <label class="gf-form-label pointer" ng-click=ctrl.removeOrderByTime()>time <span class=query-keyword>DESC</span> <i class="fa fa-remove"></i></label>\n      </div>\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline ng-if=ctrl.target.limit>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-7">LIMIT</label>\n        <input type=text class="gf-form-input width-9" ng-model=ctrl.target.limit spellcheck=false placeholder="No Limit" ng-blur=ctrl.refresh() />\n      </div>\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline ng-if=ctrl.target.slimit>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-7">SLIMIT</label>\n        <input type=text class="gf-form-input width-9" ng-model=ctrl.target.slimit spellcheck=false placeholder="No Limit" ng-blur=ctrl.refresh() />\n      </div>\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline ng-if=ctrl.target.tz>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-7">tz</label>\n        <input type=text class="gf-form-input width-9" ng-model=ctrl.target.tz spellcheck=false placeholder="No Timezone" ng-blur=ctrl.refresh() />\n      </div>\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-7">FORMAT AS</label>\n        <div class=gf-form-select-wrapper>\n          <select class="gf-form-input gf-size-auto" ng-model=ctrl.target.resultFormat ng-options="f.value as f.text for f in ctrl.resultFormats" ng-change=ctrl.refresh()></select>\n        </div>\n      </div>\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline ng-hide="ctrl.target.resultFormat === \'table\'">\n      <div class="gf-form max-width-30">\n        <label class="gf-form-label query-keyword width-7">ALIAS BY</label>\n        <input type=text class=gf-form-input ng-model=ctrl.target.alias spellcheck=false placeholder="Naming pattern" ng-blur=ctrl.refresh() />\n      </div>\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n    </div>\n  </div>\n</query-editor-row>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "/XDc": function (e, t) {
+      var n = "public/app/plugins/panel/graph/tab_legend.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=editor-row>\n\t<div class="section gf-form-group">\n\t\t<h5 class=section-heading>Options</h5>\n\t\t<gf-form-switch class=gf-form label=Show label-class=width-7 checked=ctrl.panel.legend.show on-change=ctrl.render()>\n\t\t</gf-form-switch>\n\t\t<gf-form-switch class=gf-form label="As Table" label-class=width-7 checked=ctrl.panel.legend.alignAsTable on-change=ctrl.render()>\n\t\t</gf-form-switch>\n\t\t<gf-form-switch class=gf-form label="To the right" label-class=width-7 checked=ctrl.panel.legend.rightSide on-change=ctrl.render()>\n\t\t</gf-form-switch>\n\t\t<div ng-if=ctrl.panel.legend.rightSide class=gf-form>\n\t\t\t<label class="gf-form-label width-7">Width</label>\n\t\t\t<input type=number class="gf-form-input max-width-5" placeholder=250 bs-tooltip="\'Set a min-width for the legend side table/block\'" data-placement=right ng-model=ctrl.panel.legend.sideWidth ng-change=ctrl.render() ng-model-onblur>\n\t\t</div>\n\t</div>\n\n\t<div class="section gf-form-group">\n\t\t<h5 class=section-heading>Values</h5>\n\n\t\t<div class=gf-form-inline>\n\t\t\t<gf-form-switch class=gf-form label=Min label-class=width-4 checked=ctrl.panel.legend.min on-change=ctrl.legendValuesOptionChanged()>\n\t\t\t</gf-form-switch>\n\n\t\t\t<gf-form-switch class="gf-form max-width-12" label=Max label-class=width-6 switch-class=max-width-5 checked=ctrl.panel.legend.max on-change=ctrl.legendValuesOptionChanged()>\n\t\t\t</gf-form-switch>\n\t\t</div>\n\n\t\t<div class=gf-form-inline>\n\t\t\t<gf-form-switch class=gf-form label=Avg label-class=width-4 checked=ctrl.panel.legend.avg on-change=ctrl.legendValuesOptionChanged()>\n\t\t\t</gf-form-switch>\n\n\t\t\t<gf-form-switch class="gf-form max-width-12" label=Current label-class=width-6 switch-class=max-width-5 checked=ctrl.panel.legend.current on-change=ctrl.legendValuesOptionChanged()>\n\t\t\t</gf-form-switch>\n\t\t</div>\n\n\t\t<div class=gf-form-inline>\n\t\t\t<gf-form-switch class=gf-form label=Total label-class=width-4 checked=ctrl.panel.legend.total on-change=ctrl.legendValuesOptionChanged()>\n\t\t\t</gf-form-switch>\n\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class="gf-form-label width-6">Decimals</label>\n\t\t\t\t<input type=number class="gf-form-input width-5" placeholder=auto bs-tooltip="\'Override automatic decimal precision for legend and tooltips\'" data-placement=right ng-model=ctrl.panel.decimals ng-change=ctrl.render() ng-model-onblur>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class="section gf-form-group">\n\t\t<h5 class=section-heading>Hide series</h5>\n\t\t<gf-form-switch class=gf-form label="With only nulls" label-class=width-10 checked=ctrl.panel.legend.hideEmpty on-change=ctrl.render()>\n\t\t</gf-form-switch>\n\t\t<gf-form-switch class=gf-form label="With only zeros" label-class=width-10 checked=ctrl.panel.legend.hideZero on-change=ctrl.render()>\n\t\t</gf-form-switch>\n\t</div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "/YHu": function (e, t) {
+      var n = "public/app/partials/modal.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=modal-header>\n  <button type=button class=close data-dismiss=modal aria-hidden=true>×</button>\n  <h3>{{modal.title}}</h3>\n</div>\n<div class=modal-body>\n\n  <div ng-bind-html=modal.body></div>\n\n</div>\n<div class=modal-footer>\n  <button type=button class="btn btn-danger" ng-click=dismiss()>Close</button>\n</div>'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "/r3D": function (e, t, n) {
+      "use strict";
+      n.d(t, "b", function () {
+        return r;
+      }),
+        n.d(t, "a", function () {
+          return f;
+        });
+      var r,
+        a = n("CnP+");
+      function o(e) {
+        return (o =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function i(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function l(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function s(e, t) {
+        return !t || ("object" !== o(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function c(e) {
+        return (c = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function u(e, t) {
+        return (u =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      !(function (e) {
+        (e.Dashboard = "dashboard"), (e.Explore = "explore");
+      })(r || (r = {}));
+      var f = (function (e) {
+        function t() {
+          return i(this, t), s(this, c(t).apply(this, arguments));
+        }
+        var n, r, o;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && u(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            { key: "init", value: function (e) {} },
+            {
+              key: "setRootPage",
+              value: function (e, t) {
+                return (this.root = e), (this.rootNav = t), this;
+              },
+            },
+            {
+              key: "setComponentsFromLegacyExports",
+              value: function (e) {
+                if (
+                  (e.ConfigCtrl && (this.angularConfigCtrl = e.ConfigCtrl),
+                  this.meta && this.meta.includes)
+                ) {
+                  var t = !0,
+                    n = !1,
+                    r = void 0;
+                  try {
+                    for (
+                      var o, i = this.meta.includes[Symbol.iterator]();
+                      !(t = (o = i.next()).done);
+                      t = !0
+                    ) {
+                      var l = o.value;
+                      if (l.type === a.b.page && l.component) {
+                        var s = e[l.component];
+                        if (!s) {
+                          console.warn(
+                            "App Page uses unknown component: ",
+                            l.component,
+                            this.meta
+                          );
+                          continue;
+                        }
+                        this.angularPages || (this.angularPages = {}),
+                          (this.angularPages[l.component] = s);
+                      }
+                    }
+                  } catch (e) {
+                    (n = !0), (r = e);
+                  } finally {
+                    try {
+                      t || null == i.return || i.return();
+                    } finally {
+                      if (n) throw r;
+                    }
+                  }
+                }
+              },
+            },
+          ]) && l(n.prototype, r),
+          o && l(n, o),
+          t
+        );
+      })(a.a);
+    },
+    "/vR/": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return o;
+      }),
+        n.d(t, "b", function () {
+          return i;
+        });
+      var r = n("J9Im"),
+        a = n("e7Q0"),
+        o = n.n(a).a;
+      function i(e) {
+        var t = r.b.bootData.user.lightTheme ? e.light : e.dark;
+        return o.import("".concat(t, "!css"));
+      }
+    },
+    "0+gp": function (e, t) {
+      var n = "public/app/features/plugins/partials/plugin_page.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            "<div ng-if=ctrl.navModel>\n  <page-header model=ctrl.navModel></page-header>\n\n  <div class=page-container>\n    <div ng-if=ctrl.page>\n      <plugin-component type=app-page>\n      </plugin-component>\n    </div>\n  </div>\n</div>\n\n<footer/>\n"
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "0HV/": function (e, t) {},
+    "0LRa": function (e, t) {
+      var n = "public/app/features/alerting/partials/alert_tab.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div ng-if=ctrl.panel.alert>\n  <div class="alert alert-error m-b-2" ng-show=ctrl.error>\n    <i class="fa fa-warning"></i> {{ctrl.error}}\n  </div>\n  <div class=panel-options-group>\n    <div class=panel-options-group__body>\n      <div class=gf-form-group>\n        <h4 class=section-heading>Rule</h4>\n        <div class=gf-form-inline>\n          <div class=gf-form>\n            <span class="gf-form-label width-6">Name</span>\n            <input type=text class="gf-form-input width-20" ng-model=ctrl.alert.name>\n          </div>\n          <div class=gf-form>\n            <span class="gf-form-label width-9">Evaluate every</span>\n            <input class="gf-form-input max-width-6" type=text ng-model=ctrl.alert.frequency ng-blur=ctrl.checkFrequency()>\n          </div>\n          <div class="gf-form max-width-11">\n            <label class="gf-form-label width-5">For</label>\n            <input type=text class="gf-form-input max-width-6 gf-form-input--has-help-icon" ng-model=ctrl.alert.for spellcheck=false placeholder=5m>\n            <info-popover mode=right-absolute>\n              If an alert rule has a configured For and the query violates the configured\n              threshold it\n              will first go from OK to Pending.\n              Going from OK to Pending Grafana will not send any notifications. Once the alert\n              rule\n              has\n              been firing for more than For duration, it will change to Alerting and send alert\n              notifications.\n            </info-popover>\n          </div>\n        </div>\n        <div class=gf-form ng-if=ctrl.frequencyWarning>\n          <label class="gf-form-label text-warning">\n            <i class="fa fa-warning"></i> {{ctrl.frequencyWarning}}\n          </label>\n        </div>\n      </div>\n\n      <div class=gf-form-group>\n        <h4 class=section-heading>Conditions</h4>\n        <div class=gf-form-inline ng-repeat="conditionModel in ctrl.conditionModels">\n          <div class=gf-form>\n            <metric-segment-model css-class="query-keyword width-5" ng-if=$index property=conditionModel.operator.type options=ctrl.evalOperators custom=false></metric-segment-model>\n            <span class="gf-form-label query-keyword width-5" ng-if="$index===0">WHEN</span>\n          </div>\n          <div class=gf-form>\n            <query-part-editor class="gf-form-label query-part width-9" part=conditionModel.reducerPart handle-event="ctrl.handleReducerPartEvent(conditionModel, $event)">\n            </query-part-editor>\n            <span class="gf-form-label query-keyword">OF</span>\n          </div>\n          <div class=gf-form>\n            <query-part-editor class="gf-form-label query-part" part=conditionModel.queryPart handle-event="ctrl.handleQueryPartEvent(conditionModel, $event)">\n            </query-part-editor>\n          </div>\n          <div class=gf-form>\n            <metric-segment-model property=conditionModel.evaluator.type options=ctrl.evalFunctions custom=false css-class=query-keyword on-change=ctrl.evaluatorTypeChanged(conditionModel.evaluator)></metric-segment-model>\n            <input class="gf-form-input max-width-9" type=number step=any ng-hide="conditionModel.evaluator.params.length === 0" ng-model=conditionModel.evaluator.params[0] ng-change=ctrl.evaluatorParamsChanged() />\n            <label class="gf-form-label query-keyword" ng-show="conditionModel.evaluator.params.length === 2">TO</label>\n            <input class="gf-form-input max-width-9" type=number step=any ng-if="conditionModel.evaluator.params.length === 2" ng-model=conditionModel.evaluator.params[1] ng-change=ctrl.evaluatorParamsChanged() />\n          </div>\n          <div class=gf-form>\n            <label class=gf-form-label>\n              <a class=pointer tabindex=1 ng-click=ctrl.removeCondition($index)>\n                <i class="fa fa-trash"></i>\n              </a>\n            </label>\n          </div>\n        </div>\n\n        <div class=gf-form>\n          <label class="gf-form-label dropdown">\n            <a class="pointer dropdown-toggle" data-toggle=dropdown>\n              <i class="fa fa-plus"></i>\n            </a>\n            <ul class=dropdown-menu role=menu>\n              <li ng-repeat="ct in ctrl.conditionTypes" role=menuitem>\n                <a ng-click=ctrl.addCondition(ct.value);>{{ct.text}}</a>\n              </li>\n            </ul>\n          </label>\n        </div>\n      </div>\n\n      <div class=gf-form-group>\n        <h4 class=section-heading>No Data & Error Handling</h4>\n        <div class=gf-form-inline>\n          <div class=gf-form>\n            <span class="gf-form-label width-15">If no data or all values are null</span>\n          </div>\n          <div class=gf-form>\n            <span class="gf-form-label query-keyword">SET STATE TO</span>\n            <div class=gf-form-select-wrapper>\n              <select class=gf-form-input ng-model=ctrl.alert.noDataState ng-options="f.value as f.text for f in ctrl.noDataModes">\n              </select>\n            </div>\n          </div>\n        </div>\n\n        <div class=gf-form-inline>\n          <div class=gf-form>\n            <span class="gf-form-label width-15">If execution error or timeout</span>\n          </div>\n          <div class=gf-form>\n            <span class="gf-form-label query-keyword">SET STATE TO</span>\n            <div class=gf-form-select-wrapper>\n              <select class=gf-form-input ng-model=ctrl.alert.executionErrorState ng-options="f.value as f.text for f in ctrl.executionErrorModes">\n              </select>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n\n  <div class=panel-options-group>\n    <div class=panel-options-group__header>Notifications</div>\n    <div class=panel-options-group__body>\n      <div class=gf-form-inline>\n        <div class=gf-form>\n          <span class="gf-form-label width-8">Send to</span>\n        </div>\n        <div class=gf-form ng-repeat="nc in ctrl.alertNotifications">\n          <span class=gf-form-label>\n            <i class={{nc.iconClass}}></i>\n            &nbsp;{{nc.name}}&nbsp;<span ng-if=nc.isDefault>(default)</span>\n            <i class="fa fa-remove pointer muted" ng-click=ctrl.removeNotification(nc) ng-if="nc.isDefault === false"></i>\n          </span>\n        </div>\n        <div class=gf-form>\n          <metric-segment segment=ctrl.addNotificationSegment get-options=ctrl.getNotifications() on-change=ctrl.notificationAdded()></metric-segment>\n        </div>\n      </div>\n      <div class="gf-form gf-form--v-stretch">\n        <span class="gf-form-label width-8">Message</span>\n        <textarea class=gf-form-input rows=10 ng-model=ctrl.alert.message placeholder="Notification message details..."></textarea>\n      </div>\n      <div class=gf-form>\n        <span class="gf-form-label width-8">Tags</span>\n        <div class=gf-form-group>\n          <div class=gf-form-inline ng-repeat="(name, value) in ctrl.alert.alertRuleTags">\n            <label class="gf-form-label width-15">{{ name }}</label>\n            <input class="gf-form-input width-15" placeholder="Tag value..." ng-model=ctrl.alert.alertRuleTags[name] type=text />\n            <label class=gf-form-label>\n              <a class=pointer tabindex=1 ng-click=ctrl.removeAlertRuleTag(name)>\n                <i class="fa fa-trash"></i>\n              </a>\n            </label>\n          </div>\n          <div class=gf-form-group>\n            <div class=gf-form-inline>\n              <div class=gf-form>\n                <input class="gf-form-input width-15" placeholder="New tag name..." ng-model=ctrl.newAlertRuleTag.name type=text>\n                <input class="gf-form-input width-15" placeholder="New tag value..." ng-model=ctrl.newAlertRuleTag.value type=text>\n              </div>\n            </div>\n            <div class=gf-form>\n              <label class=gf-form-label>\n                <a class=pointer tabindex=1 ng-click=ctrl.addAlertRuleTag()>\n                  <i class="fa fa-plus"></i>&nbsp;Add Tag\n                </a>\n              </label>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "0Mjz": function (e, t, n) {
+      "use strict";
+      function r(e, t) {
+        return t && Object.keys(t).length > 0 && (e += "?" + o(t)), e;
+      }
+      function a(e, t) {
+        return encodeURIComponent(e)
+          .replace(/%40/gi, "@")
+          .replace(/%3A/gi, ":")
+          .replace(/%24/g, "$")
+          .replace(/%2C/gi, ",")
+          .replace(/%3B/gi, ";")
+          .replace(/%20/g, t ? "%20" : "+");
+      }
+      function o(e) {
+        var t = [],
+          n = /\[\]$/,
+          r = function (e) {
+            return "[object Array]" === Object.prototype.toString.call(e);
+          },
+          o = function (e, n) {
+            (n =
+              "function" == typeof n
+                ? n()
+                : null === n
+                ? ""
+                : void 0 === n
+                ? ""
+                : n),
+              (t[t.length] =
+                "boolean" != typeof n ? a(e, !0) + "=" + a(n, !0) : a(e, !0));
+          };
+        return (function e(a, i) {
+          var l, s, c;
+          if (a)
+            if (r(i))
+              for (l = 0, s = i.length; l < s; l++)
+                n.test(a) ? o(a, i[l]) : e(a, i[l]);
+            else if (i && "[object Object]" === String(i))
+              for (c in i) e(a + "[" + c + "]", i[c]);
+            else o(a, i);
+          else if (r(i))
+            for (l = 0, s = i.length; l < s; l++) o(i[l].name, i[l].value);
+          else for (c in i) e(c, i[c]);
+          return t;
+        })("", e).join("&");
+      }
+      function i(e, t) {
+        if (null != t && "" !== t) {
+          var n = e.indexOf("?");
+          -1 !== n ? e.length - n > 1 && (e += "&") : (e += "?"), (e += t);
+        }
+        return e;
+      }
+      function l() {
+        var e = window.location.search.substring(1).split("&"),
+          t = {},
+          n = !0,
+          r = !1,
+          a = void 0;
+        try {
+          for (
+            var o, i = e[Symbol.iterator]();
+            !(n = (o = i.next()).done);
+            n = !0
+          ) {
+            var l = o.value.split("=");
+            if (l.length > 1) {
+              var s = decodeURIComponent(l[0]),
+                c = decodeURIComponent(l[1]);
+              t[s] = c;
+            } else if (1 === l.length) {
+              t[decodeURIComponent(l[0])] = !0;
+            }
+          }
+        } catch (e) {
+          (r = !0), (a = e);
+        } finally {
+          try {
+            n || null == i.return || i.return();
+          } finally {
+            if (r) throw a;
+          }
+        }
+        return t;
+      }
+      n.d(t, "c", function () {
+        return r;
+      }),
+        n.d(t, "d", function () {
+          return o;
+        }),
+        n.d(t, "a", function () {
+          return i;
+        }),
+        n.d(t, "b", function () {
+          return l;
+        });
+    },
+    "0Rz9": function (e, t) {},
+    "0X5I": function (e, t) {
+      !(function (e) {
+        var t = (function () {
+          var t,
+            o,
+            i,
+            l,
+            s,
+            c = function (e, r) {
+              (t = r),
+                (o = e.getPlaceholder()),
+                (i = e.getOptions()),
+                (l = i.series.gauges),
+                (s = e.getData()),
+                n(l.debug);
+            };
+          function u(e, t) {
+            "auto" === e.gauge.width && (e.gauge.width = Math.max(5, t / 8)),
+              "auto" === e.label.margin &&
+                (e.label.margin = Math.max(1, t / 20)),
+              "auto" === e.label.font.size &&
+                (e.label.font.size = Math.max(5, t / 8)),
+              "auto" === e.value.margin &&
+                (e.value.margin = Math.max(1, t / 30)),
+              "auto" === e.value.font.size &&
+                (e.value.font.size = Math.max(5, t / 9)),
+              "auto" === e.threshold.width &&
+                (e.threshold.width = Math.max(3, t / 100)),
+              "auto" === e.threshold.label.margin &&
+                (e.threshold.label.margin = Math.max(3, t / 40)),
+              "auto" === e.threshold.label.font.size &&
+                (e.threshold.label.font.size = Math.max(5, t / 15));
+          }
+          function f(e, t, n) {
+            var r =
+              e.gauge.startAngle +
+              (e.gauge.endAngle - e.gauge.startAngle) *
+                ((n - e.gauge.min) / (e.gauge.max - e.gauge.min));
+            return (
+              r < e.gauge.startAngle
+                ? (r = e.gauge.startAngle)
+                : r > e.gauge.endAngle && (r = e.gauge.endAngle),
+              r
+            );
+          }
+          function d(e, n, r, o, i, l, s, c, u, f) {
+            i !== l &&
+              (t.save(),
+              a(t, e, n, r, o, i, l, s, c, u),
+              f &&
+                (a(t, e, n, r, o, i, l),
+                t.clip(),
+                (t.shadowOffsetX = 0),
+                (t.shadowOffsetY = 0),
+                (t.shadowBlur = 10),
+                (t.shadowColor = "gray"),
+                a(t, e, n, r + 1, o + 2, i, l, s, 1)),
+              t.restore());
+          }
+          function p(e, t, n, a, o, i) {
+            h(
+              n.cx +
+                (t.thresholdLabelMargin +
+                  t.thresholdLabelFontSize / 2 +
+                  t.radius) *
+                  Math.cos(r(i)),
+              n.cy +
+                (t.thresholdLabelMargin +
+                  t.thresholdLabelFontSize / 2 +
+                  t.radius) *
+                  Math.sin(r(i)),
+              "flotGagueThresholdValue" + a,
+              e.threshold.label.formatter ? e.threshold.label.formatter(o) : o,
+              e.threshold.label,
+              i
+            );
+          }
+          function h(t, n, r, a, i, l) {
+            var s = e(o).find("#" + r),
+              c = s.length;
+            c ||
+              ((s = e("<span></span>")).attr("id", r),
+              s.attr("class", "flot-temp-elem"),
+              o.append(s)),
+              s.css("position", "absolute"),
+              s.css("top", n + "px"),
+              s.css("white-space", "nowrap"),
+              i.font.size && s.css("font-size", i.font.size + "px"),
+              i.font.family && s.css("font-family", i.font.family),
+              i.color && s.css("color", i.color),
+              i.background.color &&
+                s.css("background-color", i.background.color),
+              i.background.opacity && s.css("opacity", i.background.opacity),
+              s.text(a),
+              s.css("left", t + "px"),
+              s.css("left", parseInt(s.css("left")) - s.width() / 2 + "px"),
+              !c &&
+                l &&
+                (s.css("top", parseInt(s.css("top")) - s.height() / 2 + "px"),
+                s.css("transform", "rotate(" + (180 * l + 90) + "deg)"));
+          }
+          return (
+            (c.prototype.calculateLayout = function () {
+              var e = o.width(),
+                t = o.height(),
+                n = Math.min(s.length, l.layout.columns),
+                a = Math.ceil(s.length / n),
+                i = l.layout.margin,
+                c = l.layout.hMargin,
+                f = l.layout.vMargin,
+                d = (e - 2 * i - c * (n - 1)) / n,
+                p = (t - 2 * i - f * (a - 1)) / a;
+              if (l.layout.square) {
+                var h = Math.min(d, p);
+                (d = h), (p = h);
+              }
+              u(l, d);
+              var m = l.cell.margin,
+                g = 0,
+                b = 0;
+              l.label.show && ((g = l.label.margin), (b = l.label.font.size));
+              var v = 0,
+                y = 0;
+              l.value.show && ((v = l.value.margin), (y = l.value.font.size));
+              var w = 0;
+              l.threshold.show && (w = l.threshold.width);
+              var O = 0,
+                x = 0;
+              l.threshold.label.show &&
+                ((O = l.threshold.label.margin),
+                (x = l.threshold.label.font.size));
+              for (
+                var k = d / 2 - m - w - 2 * O - x,
+                  j = l.gauge.startAngle,
+                  S = l.gauge.endAngle,
+                  E = (S - j) / 100,
+                  C = -1,
+                  P = j;
+                P < S;
+                P += E
+              )
+                C = Math.max(C, Math.sin(r(P)));
+              var T =
+                (p - 2 * m - 2 * g - b) /
+                (1 + (C = Math.max(C, Math.sin(r(S)))));
+              T * C < v + y / 2 && (T = p - 2 * m - 2 * g - b - v - y / 2);
+              var D = T - 2 * O - x - w,
+                A = Math.min(k, D),
+                _ = l.gauge.width;
+              _ >= A && (_ = Math.max(3, A / 3));
+              var N = 2 * O + x + w + A;
+              return {
+                canvasWidth: e,
+                canvasHeight: t,
+                margin: i,
+                hMargin: c,
+                vMargin: f,
+                columns: n,
+                rows: a,
+                cellWidth: d,
+                cellHeight: p,
+                cellMargin: m,
+                labelMargin: g,
+                labelFontSize: b,
+                valueMargin: v,
+                valueFontSize: y,
+                width: _,
+                radius: A,
+                thresholdWidth: w,
+                thresholdLabelMargin: O,
+                thresholdLabelFontSize: x,
+                gaugeOuterHeight: Math.max(N * (1 + C), N + v + y / 2),
+              };
+            }),
+            (c.prototype.calculateAutoValues = u),
+            (c.prototype.calculateCellLayout = function (e, t, n) {
+              var r = (function (e, t) {
+                  return t % e;
+                })(t.columns, n),
+                a = (function (e, t) {
+                  return Math.floor(t / e);
+                })(t.columns, n),
+                o = t.margin + (t.cellWidth + t.hMargin) * r,
+                i = t.margin + (t.cellHeight + t.vMargin) * a,
+                l = o + t.cellWidth / 2,
+                s =
+                  i +
+                  t.cellMargin +
+                  2 * t.labelMargin +
+                  t.labelFontSize +
+                  t.thresholdWidth +
+                  t.thresholdLabelFontSize +
+                  2 * t.thresholdLabelMargin +
+                  t.radius,
+                c =
+                  t.cellHeight -
+                  2 * t.cellMargin -
+                  2 * t.labelMargin -
+                  t.labelFontSize -
+                  t.gaugeOuterHeight,
+                u = 0;
+              return (
+                "middle" === e.cell.vAlign
+                  ? (u = c / 2)
+                  : "bottom" === e.cell.vAlign && (u = c),
+                (s += u),
+                {
+                  col: r,
+                  row: a,
+                  x: o,
+                  y: i,
+                  offsetY: u,
+                  cellWidth: t.cellWidth,
+                  cellHeight: t.cellHeight,
+                  cellMargin: t.cellMargin,
+                  cx: l,
+                  cy: s,
+                }
+              );
+            }),
+            (c.prototype.drawBackground = function (e) {
+              l.frame.show &&
+                (t.save(),
+                (t.strokeStyle = i.grid.borderColor),
+                (t.lineWidth = i.grid.borderWidth),
+                t.strokeRect(0, 0, e.canvasWidth, e.canvasHeight),
+                i.grid.backgroundColor &&
+                  ((t.fillStyle = i.grid.backgroundColor),
+                  t.fillRect(0, 0, e.canvasWidth, e.canvasHeight)),
+                t.restore());
+            }),
+            (c.prototype.drawCellBackground = function (e, n) {
+              t.save(),
+                e.cell.border &&
+                  e.cell.border.show &&
+                  e.cell.border.color &&
+                  e.cell.border.width &&
+                  ((t.strokeStyle = e.cell.border.color),
+                  (t.lineWidth = e.cell.border.width),
+                  t.strokeRect(n.x, n.y, n.cellWidth, n.cellHeight)),
+                e.cell.background &&
+                  e.cell.background.color &&
+                  ((t.fillStyle = e.cell.background.color),
+                  t.fillRect(n.x, n.y, n.cellWidth, n.cellHeight)),
+                t.restore();
+            }),
+            (c.prototype.drawGauge = function (e, t, n, a, o) {
+              var i = e.gauge.shadow.show ? e.gauge.shadow.blur : 0;
+              d(
+                n.cx,
+                n.cy,
+                t.radius,
+                t.width,
+                r(e.gauge.startAngle),
+                r(e.gauge.endAngle),
+                e.gauge.border.color,
+                e.gauge.border.width,
+                e.gauge.background.color,
+                i
+              );
+              var l = (function (e, t) {
+                  for (var n, r = 0; r < e.threshold.values.length; r++) {
+                    var a = e.threshold.values[r];
+                    if (((n = a.color), t < a.value)) break;
+                  }
+                  return n;
+                })(e, o),
+                s = f(e, t, o);
+              d(
+                n.cx,
+                n.cy,
+                t.radius - 1,
+                t.width - 2,
+                r(e.gauge.startAngle),
+                r(s),
+                l,
+                1,
+                l,
+                i
+              );
+            }),
+            (c.prototype.drawThreshold = function (e, n, o) {
+              for (
+                var i = e.gauge.startAngle, l = 0;
+                l < e.threshold.values.length;
+                l++
+              ) {
+                var s = e.threshold.values[l];
+                (c1 = s.color),
+                  (a2 = f(e, 0, s.value)),
+                  a(
+                    t,
+                    o.cx,
+                    o.cy,
+                    n.radius + n.thresholdWidth,
+                    n.thresholdWidth - 2,
+                    r(i),
+                    r(a2),
+                    c1,
+                    1,
+                    c1
+                  ),
+                  (i = a2);
+              }
+            }),
+            (c.prototype.drawLable = function (e, t, n, r, a) {
+              h(
+                n.cx,
+                n.y + n.cellMargin + t.labelMargin + n.offsetY,
+                "flotGagueLabel" + r,
+                e.label.formatter
+                  ? e.label.formatter(a.label, a.data[0][1])
+                  : text,
+                e.label
+              );
+            }),
+            (c.prototype.drawValue = function (e, t, n, r, a) {
+              h(
+                n.cx,
+                n.cy - e.value.font.size / 2,
+                "flotGagueValue" + r,
+                e.value.formatter
+                  ? e.value.formatter(a.label, a.data[0][1])
+                  : text,
+                e.value
+              );
+            }),
+            (c.prototype.drawThresholdValues = function (e, t, n, r) {
+              p(e, t, n, "Min" + r, e.gauge.min, e.gauge.startAngle),
+                p(e, t, n, "Max" + r, e.gauge.max, e.gauge.endAngle);
+              for (var a = 0; a < e.threshold.values.length; a++) {
+                var o = e.threshold.values[a];
+                if (o.value > e.gauge.min && o.value < e.gauge.max) {
+                  var i = f(e, 0, o.value);
+                  p(e, t, n, r + "_" + a, o.value, i);
+                }
+              }
+            }),
+            c
+          );
+        })();
+        function n(e) {
+          return "undefined" != typeof Logger ? new Logger(e) : null;
+        }
+        function r(e) {
+          return e * Math.PI;
+        }
+        function a(e, t, n, r, a, o, i, l, s, c) {
+          if (o !== i) {
+            e.save(),
+              e.beginPath(),
+              e.arc(t, n, r, o, i, !1),
+              e.lineTo(t + (r - a) * Math.cos(i), n + (r - a) * Math.sin(i)),
+              e.arc(t, n, r - a, i, o, !0),
+              e.closePath(),
+              s && (e.lineWidth = s),
+              l && ((e.strokeStyle = l), e.stroke()),
+              c && ((e.fillStyle = c), e.fill()),
+              e.restore();
+          }
+        }
+        var o = {
+          series: {
+            gauges: {
+              debug: { log: !1, layout: !1, alert: !1 },
+              show: !1,
+              layout: {
+                margin: 5,
+                columns: 3,
+                hMargin: 5,
+                vMargin: 5,
+                square: !1,
+              },
+              frame: { show: !0 },
+              cell: {
+                background: { color: null },
+                border: { show: !0, color: "black", width: 1 },
+                margin: 5,
+                vAlign: "middle",
+              },
+              gauge: {
+                width: "auto",
+                startAngle: 0.9,
+                endAngle: 2.1,
+                min: 0,
+                max: 100,
+                background: { color: "white" },
+                border: { color: "lightgray", width: 2 },
+                shadow: { show: !0, blur: 5 },
+              },
+              label: {
+                show: !0,
+                margin: "auto",
+                background: { color: null, opacity: 0 },
+                font: { size: "auto", family: "sans-serif" },
+                color: null,
+                formatter: function (e, t) {
+                  return e;
+                },
+              },
+              value: {
+                show: !0,
+                margin: "auto",
+                background: { color: null, opacity: 0 },
+                font: { size: "auto", family: "sans-serif" },
+                color: null,
+                formatter: function (e, t) {
+                  return parseInt(t);
+                },
+              },
+              threshold: {
+                show: !0,
+                width: "auto",
+                label: {
+                  show: !0,
+                  margin: "auto",
+                  background: { color: null, opacity: 0 },
+                  font: { size: "auto", family: ",sans-serif" },
+                  color: null,
+                  formatter: function (e) {
+                    return e;
+                  },
+                },
+                values: [],
+              },
+            },
+          },
+        };
+        e.plot.plugins.push({
+          init: function (r) {
+            r.hooks.processOptions.push(function (e, t) {
+              n(t.series.gauges.debug);
+              t.series.gauges.show &&
+                ((t.grid.show = !1), (t.legend.show = !1)),
+                t.series.gauges.threshold.values.sort(function (e, t) {
+                  return e.value < t.value ? -1 : e.value > t.value ? 1 : 0;
+                });
+            }),
+              r.hooks.draw.push(function (r, a) {
+                var o = r.getOptions().series.gauges;
+                n(o.debug);
+                if (o.show) {
+                  var i = r.getData();
+                  if (i && i.length) {
+                    var l = new t(r, a),
+                      s = l.calculateLayout();
+                    o.debug.layout, l.drawBackground(s);
+                    for (var c = 0; c < i.length; c++) {
+                      var u = i[c],
+                        f = e.extend({}, o, u.gauges);
+                      u.gauges && l.calculateAutoValues(f, s.cellWidth);
+                      var d = l.calculateCellLayout(f, s, c);
+                      l.drawCellBackground(f, d),
+                        f.debug.layout,
+                        f.label.show && l.drawLable(f, s, d, c, u),
+                        l.drawGauge(f, s, d, u.label, u.data[0][1]),
+                        f.threshold.show && l.drawThreshold(f, s, d),
+                        f.threshold.label.show &&
+                          l.drawThresholdValues(f, s, d, c),
+                        f.value.show && l.drawValue(f, s, d, c, u);
+                    }
+                  }
+                }
+              });
+          },
+          options: o,
+          name: "gauge",
+          version: "1.1.0",
+        });
+      })(jQuery);
+    },
+    "0ZQg": function (e, t) {
+      var n = "public/app/plugins/panel/alertlist/module.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=panel-alert-list>\n  <div class=panel-alert-list__no-alerts ng-show=ctrl.noAlertsMessage>\n    {{ctrl.noAlertsMessage}}\n  </div>\n\n  <section ng-if="ctrl.panel.show === \'current\'">\n    <ol class=alert-rule-list>\n      <li class=alert-rule-item ng-repeat="alert in ctrl.currentAlerts">\n        <div class="alert-rule-item__icon {{alert.stateModel.stateClass}}">\n          <i class={{alert.stateModel.iconClass}}></i>\n        </div>\n        <div class=alert-rule-item__body>\n          <div class=alert-rule-item__header>\n            <p class=alert-rule-item__name>\n              <a href="{{alert.url}}?panelId={{alert.panelId}}&fullscreen&edit&tab=alert">\n                {{alert.name}}\n              </a>\n            </p>\n            <div class=alert-rule-item__text>\n              <span class={{alert.stateModel.stateClass}}>{{alert.stateModel.text}}</span>\n              <span class=alert-rule-item__time>for {{alert.newStateDateAgo}}</span>\n            </div>\n          </div>\n        </div>\n      </li>\n    </ol>\n  </section>\n\n  <section ng-if="ctrl.panel.show === \'changes\'">\n    <ol class=alert-rule-list>\n      <li class=alert-rule-item ng-repeat="al in ctrl.alertHistory">\n        <div class="alert-rule-item__icon {{al.stateModel.stateClass}}">\n          <i class={{al.stateModel.iconClass}}></i>\n        </div>\n        <div class=alert-rule-item__body>\n          <div class=alert-rule-item__header>\n            <p class=alert-rule-item__name>{{al.alertName}}</p>\n            <div class=alert-rule-item__text>\n              <span class={{al.stateModel.stateClass}}>{{al.stateModel.text}}</span>\n            </div>\n          </div>\n          <span class=alert-rule-item__info>{{al.info}}</span>\n        </div>\n        <div class=alert-rule-item__time>\n          <span>{{al.time}}</span>\n        </div>\n      </li>\n    </ol>\n  </section>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "0bcw": function (e, t) {
+      var n = "public/app/partials/valueSelectDropdown.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=variable-link-wrapper>\n  <a ng-click=vm.show() class=variable-value-link aria-label={{vm.selectors.submenuItemValueDropDownValueLinkTexts(vm.linkText)}}>\n    {{vm.linkText}}\n    <span ng-repeat="tag in vm.selectedTags" bs-tooltip=tag.valuesText data-placement=bottom>\n      <span class=label-tag tag-color-from-name=tag.text>\n        &nbsp;&nbsp;<i class="fa fa-tag"></i>&nbsp; {{tag.text}}\n      </span>\n    </span>\n    <i class="fa fa-caret-down" style=font-size:12px></i>\n  </a>\n\n  <input type=text class=gf-form-input style=display:none ng-keydown=vm.keyDown($event) ng-model=vm.search.query ng-change=vm.debouncedQueryChanged() />\n\n  <div class=variable-value-dropdown ng-if=vm.dropdownVisible ng-class="{\'multi\': vm.variable.multi, \'single\': !vm.variable.multi}" aria-label={{::vm.selectors.submenuItemValueDropDownDropDown}}>\n    <div class=variable-options-wrapper>\n      <div class=variable-options-column>\n        <a class=variable-options-column-header ng-if=vm.variable.multi ng-class="{\'many-selected\': vm.selectedValues.length > 1}" bs-tooltip="\'Clear selections\'" data-placement=top ng-click=vm.clearSelections()>\n          <span class=variable-option-icon></span>\n          Selected ({{vm.selectedValues.length}})\n        </a>\n        <a class="variable-option pointer" ng-repeat="option in vm.search.options" ng-class="{\'selected\': option.selected, \'highlighted\': $index === vm.highlightIndex}" ng-click="vm.selectValue(option, $event)">\n          <span class=variable-option-icon></span>\n          <span aria-label={{vm.selectors.submenuItemValueDropDownOptionTexts(option.text)}}>{{option.text}}</span>\n        </a>\n      </div>\n      <div class=variable-options-column ng-if=vm.tags.length>\n        <div class="variable-options-column-header text-center">\n          Tags\n        </div>\n        <a class="variable-option-tag pointer" ng-repeat="tag in vm.tags" ng-click="vm.selectTag(tag, $event)" ng-class="{\'selected\': tag.selected}">\n          <span class="fa fa-fw variable-option-icon"></span>\n          <span class=label-tag tag-color-from-name=tag.text>{{tag.text}}&nbsp;&nbsp;<i class="fa fa-tag"></i>&nbsp;</span>\n        </a>\n      </div>\n    </div>\n  </div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "0mC0": function (e, t, n) {
+      "use strict";
+      (function (e) {
+        var r = n("q1tI"),
+          a = n.n(r),
+          o = n("0cfB"),
+          i = n("/MKj"),
+          l = n("lzJ5"),
+          s = n("X+V3"),
+          c = n("ZFWI"),
+          u = n("ZGyg"),
+          f = n("+99A"),
+          d = n("nvwu"),
+          p = n("SH6B"),
+          h = n("2k1X"),
+          m = n("sAJe"),
+          g = n("9XWl");
+        function b(e) {
+          return (b =
+            "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+              ? function (e) {
+                  return typeof e;
+                }
+              : function (e) {
+                  return e &&
+                    "function" == typeof Symbol &&
+                    e.constructor === Symbol &&
+                    e !== Symbol.prototype
+                    ? "symbol"
+                    : typeof e;
+                })(e);
+        }
+        function v(e, t, n, r, a, o, i) {
+          try {
+            var l = e[o](i),
+              s = l.value;
+          } catch (e) {
+            return void n(e);
+          }
+          l.done ? t(s) : Promise.resolve(s).then(r, a);
+        }
+        function y(e, t) {
+          if (!(e instanceof t))
+            throw new TypeError("Cannot call a class as a function");
+        }
+        function w(e, t) {
+          for (var n = 0; n < t.length; n++) {
+            var r = t[n];
+            (r.enumerable = r.enumerable || !1),
+              (r.configurable = !0),
+              "value" in r && (r.writable = !0),
+              Object.defineProperty(e, r.key, r);
+          }
+        }
+        function O(e, t) {
+          return !t || ("object" !== b(t) && "function" != typeof t)
+            ? (function (e) {
+                if (void 0 === e)
+                  throw new ReferenceError(
+                    "this hasn't been initialised - super() hasn't been called"
+                  );
+                return e;
+              })(e)
+            : t;
+        }
+        function x(e) {
+          return (x = Object.setPrototypeOf
+            ? Object.getPrototypeOf
+            : function (e) {
+                return e.__proto__ || Object.getPrototypeOf(e);
+              })(e);
+        }
+        function k(e, t) {
+          return (k =
+            Object.setPrototypeOf ||
+            function (e, t) {
+              return (e.__proto__ = t), e;
+            })(e, t);
+        }
+        var j = (function (e) {
+            function t() {
+              var e, n;
+              y(this, t);
+              for (
+                var r = arguments.length, a = new Array(r), o = 0;
+                o < r;
+                o++
+              )
+                a[o] = arguments[o];
+              return (
+                ((n = O(
+                  this,
+                  (e = x(t)).call.apply(e, [this].concat(a))
+                )).state = {}),
+                (n.onUserUpdate = function (e) {
+                  n.props.updateUser(e);
+                }),
+                (n.onPasswordChange = function (e) {
+                  var t = n.props,
+                    r = t.userId;
+                  (0, t.setUserPassword)(r, e);
+                }),
+                (n.onUserDelete = function (e) {
+                  n.props.deleteUser(e);
+                }),
+                (n.onUserDisable = function (e) {
+                  n.props.disableUser(e);
+                }),
+                (n.onUserEnable = function (e) {
+                  n.props.enableUser(e);
+                }),
+                (n.onGrafanaAdminChange = function (e) {
+                  var t = n.props,
+                    r = t.userId;
+                  (0, t.updateUserPermissions)(r, e);
+                }),
+                (n.onOrgRemove = function (e) {
+                  var t = n.props,
+                    r = t.userId;
+                  (0, t.deleteOrgUser)(r, e);
+                }),
+                (n.onOrgRoleChange = function (e, t) {
+                  var r = n.props,
+                    a = r.userId;
+                  (0, r.updateOrgUserRole)(a, e, t);
+                }),
+                (n.onOrgAdd = function (e, t) {
+                  var r = n.props,
+                    a = r.user;
+                  (0, r.addOrgUser)(a, e, t);
+                }),
+                (n.onSessionRevoke = function (e) {
+                  var t = n.props,
+                    r = t.userId;
+                  (0, t.revokeSession)(e, r);
+                }),
+                (n.onAllSessionsRevoke = function () {
+                  var e = n.props,
+                    t = e.userId;
+                  (0, e.revokeAllSessions)(t);
+                }),
+                (n.onUserSync = function () {
+                  var e = n.props,
+                    t = e.userId;
+                  (0, e.syncLdapUser)(t);
+                }),
+                n
+              );
+            }
+            var n, r, o, i, l;
+            return (
+              (function (e, t) {
+                if ("function" != typeof t && null !== t)
+                  throw new TypeError(
+                    "Super expression must either be null or a function"
+                  );
+                (e.prototype = Object.create(t && t.prototype, {
+                  constructor: { value: e, writable: !0, configurable: !0 },
+                })),
+                  t && k(e, t);
+              })(t, e),
+              (n = t),
+              (r = [
+                {
+                  key: "componentDidMount",
+                  value:
+                    ((i = regeneratorRuntime.mark(function e() {
+                      var t, n;
+                      return regeneratorRuntime.wrap(
+                        function (e) {
+                          for (;;)
+                            switch ((e.prev = e.next)) {
+                              case 0:
+                                (t = this.props),
+                                  (n = t.userId),
+                                  (0, t.loadAdminUserPage)(n);
+                              case 2:
+                              case "end":
+                                return e.stop();
+                            }
+                        },
+                        e,
+                        this
+                      );
+                    })),
+                    (l = function () {
+                      var e = this,
+                        t = arguments;
+                      return new Promise(function (n, r) {
+                        var a = i.apply(e, t);
+                        function o(e) {
+                          v(a, n, r, o, l, "next", e);
+                        }
+                        function l(e) {
+                          v(a, n, r, o, l, "throw", e);
+                        }
+                        o(void 0);
+                      });
+                    }),
+                    function () {
+                      return l.apply(this, arguments);
+                    }),
+                },
+                {
+                  key: "render",
+                  value: function () {
+                    var e = this.props,
+                      t = e.navModel,
+                      n = e.user,
+                      r = e.orgs,
+                      o = e.sessions,
+                      i = e.ldapSyncInfo,
+                      l = e.isLoading,
+                      s =
+                        n &&
+                        n.isExternal &&
+                        n.authLabels &&
+                        n.authLabels.includes("LDAP");
+                    return a.a.createElement(
+                      u.a,
+                      { navModel: t },
+                      a.a.createElement(
+                        u.a.Contents,
+                        { isLoading: l },
+                        n &&
+                          a.a.createElement(
+                            a.a.Fragment,
+                            null,
+                            a.a.createElement(f.a, {
+                              user: n,
+                              onUserUpdate: this.onUserUpdate,
+                              onUserDelete: this.onUserDelete,
+                              onUserDisable: this.onUserDisable,
+                              onUserEnable: this.onUserEnable,
+                              onPasswordChange: this.onPasswordChange,
+                            }),
+                            s &&
+                              c.b.licenseInfo.hasLicense &&
+                              i &&
+                              a.a.createElement(h.a, {
+                                ldapSyncInfo: i,
+                                user: n,
+                                onUserSync: this.onUserSync,
+                              }),
+                            a.a.createElement(d.a, {
+                              isGrafanaAdmin: n.isGrafanaAdmin,
+                              onGrafanaAdminChange: this.onGrafanaAdminChange,
+                            })
+                          ),
+                        r &&
+                          a.a.createElement(g.a, {
+                            orgs: r,
+                            onOrgRemove: this.onOrgRemove,
+                            onOrgRoleChange: this.onOrgRoleChange,
+                            onOrgAdd: this.onOrgAdd,
+                          }),
+                        o &&
+                          a.a.createElement(p.a, {
+                            sessions: o,
+                            onSessionRevoke: this.onSessionRevoke,
+                            onAllSessionsRevoke: this.onAllSessionsRevoke,
+                          })
+                      )
+                    );
+                  },
+                },
+              ]) && w(n.prototype, r),
+              o && w(n, o),
+              t
+            );
+          })(r.PureComponent),
+          S = {
+            loadAdminUserPage: m.h,
+            updateUser: m.q,
+            setUserPassword: m.n,
+            disableUser: m.f,
+            enableUser: m.g,
+            deleteUser: m.e,
+            updateUserPermissions: m.r,
+            addOrgUser: m.a,
+            updateOrgUserRole: m.p,
+            deleteOrgUser: m.d,
+            revokeSession: m.m,
+            revokeAllSessions: m.l,
+            syncLdapUser: m.o,
+          };
+        t.a = Object(o.hot)(e)(
+          Object(i.connect)(function (e) {
+            return {
+              userId: Object(s.a)(e.location),
+              navModel: Object(l.a)(e.navIndex, "global-users"),
+              user: e.userAdmin.user,
+              sessions: e.userAdmin.sessions,
+              orgs: e.userAdmin.orgs,
+              ldapSyncInfo: e.ldap.syncInfo,
+              isLoading: e.userAdmin.isLoading,
+              error: e.userAdmin.error,
+            };
+          }, S)(j)
+        );
+      }.call(this, n("3UD+")(e)));
+    },
+    "0pSv": function (e, t, n) {
+      "use strict";
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = function (e) {
+          var t = e.info,
+            n = e.showAttributeMapping;
+          return a.a.createElement(
+            "div",
+            { className: "gf-form-group" },
+            a.a.createElement(
+              "div",
+              { className: "gf-form" },
+              a.a.createElement(
+                "table",
+                { className: "filter-table form-inline" },
+                a.a.createElement(
+                  "thead",
+                  null,
+                  a.a.createElement(
+                    "tr",
+                    null,
+                    a.a.createElement("th", { colSpan: 2 }, "User information"),
+                    n && a.a.createElement("th", null, "LDAP attribute")
+                  )
+                ),
+                a.a.createElement(
+                  "tbody",
+                  null,
+                  a.a.createElement(
+                    "tr",
+                    null,
+                    a.a.createElement(
+                      "td",
+                      { className: "width-16" },
+                      "First name"
+                    ),
+                    a.a.createElement("td", null, t.name.ldapValue),
+                    n && a.a.createElement("td", null, t.name.cfgAttrValue)
+                  ),
+                  a.a.createElement(
+                    "tr",
+                    null,
+                    a.a.createElement(
+                      "td",
+                      { className: "width-16" },
+                      "Surname"
+                    ),
+                    a.a.createElement("td", null, t.surname.ldapValue),
+                    n && a.a.createElement("td", null, t.surname.cfgAttrValue)
+                  ),
+                  a.a.createElement(
+                    "tr",
+                    null,
+                    a.a.createElement(
+                      "td",
+                      { className: "width-16" },
+                      "Username"
+                    ),
+                    a.a.createElement("td", null, t.login.ldapValue),
+                    n && a.a.createElement("td", null, t.login.cfgAttrValue)
+                  ),
+                  a.a.createElement(
+                    "tr",
+                    null,
+                    a.a.createElement("td", { className: "width-16" }, "Email"),
+                    a.a.createElement("td", null, t.email.ldapValue),
+                    n && a.a.createElement("td", null, t.email.cfgAttrValue)
+                  )
+                )
+              )
+            )
+          );
+        },
+        i = function (e) {
+          var t = e.permissions;
+          return a.a.createElement(
+            "div",
+            { className: "gf-form-group" },
+            a.a.createElement(
+              "div",
+              { className: "gf-form" },
+              a.a.createElement(
+                "table",
+                { className: "filter-table form-inline" },
+                a.a.createElement(
+                  "thead",
+                  null,
+                  a.a.createElement(
+                    "tr",
+                    null,
+                    a.a.createElement("th", { colSpan: 1 }, "Permissions")
+                  )
+                ),
+                a.a.createElement(
+                  "tbody",
+                  null,
+                  a.a.createElement(
+                    "tr",
+                    null,
+                    a.a.createElement(
+                      "td",
+                      { className: "width-16" },
+                      " Grafana admin"
+                    ),
+                    a.a.createElement(
+                      "td",
+                      null,
+                      t.isGrafanaAdmin
+                        ? a.a.createElement(
+                            a.a.Fragment,
+                            null,
+                            a.a.createElement("i", {
+                              className: "gicon gicon-shield",
+                            }),
+                            " Yes"
+                          )
+                        : "No"
+                    )
+                  ),
+                  a.a.createElement(
+                    "tr",
+                    null,
+                    a.a.createElement(
+                      "td",
+                      { className: "width-16" },
+                      "Status"
+                    ),
+                    a.a.createElement(
+                      "td",
+                      null,
+                      t.isDisabled
+                        ? a.a.createElement(
+                            a.a.Fragment,
+                            null,
+                            a.a.createElement("i", {
+                              className: "fa fa-fw fa-times",
+                            }),
+                            " Inactive"
+                          )
+                        : a.a.createElement(
+                            a.a.Fragment,
+                            null,
+                            a.a.createElement("i", {
+                              className: "fa fa-fw fa-check",
+                            }),
+                            " Active"
+                          )
+                    )
+                  )
+                )
+              )
+            )
+          );
+        },
+        l = n("kDLi"),
+        s = function (e) {
+          var t = e.groups,
+            n = e.showAttributeMapping,
+            r = n
+              ? t
+              : t.filter(function (e) {
+                  return e.orgRole;
+                });
+          return a.a.createElement(
+            "div",
+            { className: "gf-form-group" },
+            a.a.createElement(
+              "div",
+              { className: "gf-form" },
+              a.a.createElement(
+                "table",
+                { className: "filter-table form-inline" },
+                a.a.createElement(
+                  "thead",
+                  null,
+                  a.a.createElement(
+                    "tr",
+                    null,
+                    n && a.a.createElement("th", null, "LDAP Group"),
+                    a.a.createElement(
+                      "th",
+                      null,
+                      "Organization",
+                      a.a.createElement(
+                        l.Tooltip,
+                        {
+                          placement: "top",
+                          content:
+                            "Only the first match for an Organization will be used",
+                          theme: "info",
+                        },
+                        a.a.createElement(
+                          "span",
+                          { className: "gf-form-help-icon" },
+                          a.a.createElement("i", {
+                            className: "fa fa-info-circle",
+                          })
+                        )
+                      )
+                    ),
+                    a.a.createElement("th", null, "Role")
+                  )
+                ),
+                a.a.createElement(
+                  "tbody",
+                  null,
+                  r.map(function (e, t) {
+                    return a.a.createElement(
+                      "tr",
+                      { key: "".concat(e.orgId, "-").concat(t) },
+                      n &&
+                        a.a.createElement(
+                          a.a.Fragment,
+                          null,
+                          a.a.createElement("td", null, e.groupDN),
+                          !e.orgRole &&
+                            a.a.createElement(
+                              a.a.Fragment,
+                              null,
+                              a.a.createElement("td", null),
+                              a.a.createElement(
+                                "td",
+                                null,
+                                a.a.createElement(
+                                  "span",
+                                  { className: "text-warning" },
+                                  "No match",
+                                  a.a.createElement(
+                                    l.Tooltip,
+                                    {
+                                      placement: "top",
+                                      content: "No matching groups found",
+                                      theme: "info",
+                                    },
+                                    a.a.createElement(
+                                      "span",
+                                      { className: "gf-form-help-icon" },
+                                      a.a.createElement("i", {
+                                        className: "fa fa-info-circle",
+                                      })
+                                    )
+                                  )
+                                )
+                              )
+                            )
+                        ),
+                      e.orgName &&
+                        a.a.createElement(
+                          a.a.Fragment,
+                          null,
+                          a.a.createElement("td", null, e.orgName),
+                          a.a.createElement("td", null, e.orgRole)
+                        )
+                    );
+                  })
+                )
+              )
+            )
+          );
+        },
+        c = function (e) {
+          var t = e.teams,
+            n = e.showAttributeMapping,
+            r = n
+              ? t
+              : t.filter(function (e) {
+                  return e.teamName;
+                });
+          return a.a.createElement(
+            "div",
+            { className: "gf-form-group" },
+            a.a.createElement(
+              "div",
+              { className: "gf-form" },
+              a.a.createElement(
+                "table",
+                { className: "filter-table form-inline" },
+                a.a.createElement(
+                  "thead",
+                  null,
+                  a.a.createElement(
+                    "tr",
+                    null,
+                    n && a.a.createElement("th", null, "LDAP Group"),
+                    a.a.createElement("th", null, "Organisation"),
+                    a.a.createElement("th", null, "Team")
+                  )
+                ),
+                a.a.createElement(
+                  "tbody",
+                  null,
+                  r.map(function (e, t) {
+                    return a.a.createElement(
+                      "tr",
+                      { key: "".concat(e.teamName, "-").concat(t) },
+                      n &&
+                        a.a.createElement(
+                          a.a.Fragment,
+                          null,
+                          a.a.createElement("td", null, e.groupDN),
+                          !e.orgName &&
+                            a.a.createElement(
+                              a.a.Fragment,
+                              null,
+                              a.a.createElement("td", null),
+                              a.a.createElement(
+                                "td",
+                                null,
+                                a.a.createElement(
+                                  "div",
+                                  { className: "text-warning" },
+                                  "No match",
+                                  a.a.createElement(
+                                    l.Tooltip,
+                                    {
+                                      placement: "top",
+                                      content: "No matching teams found",
+                                      theme: "info",
+                                    },
+                                    a.a.createElement(
+                                      "span",
+                                      { className: "gf-form-help-icon" },
+                                      a.a.createElement("i", {
+                                        className: "fa fa-info-circle",
+                                      })
+                                    )
+                                  )
+                                )
+                              )
+                            )
+                        ),
+                      e.orgName &&
+                        a.a.createElement(
+                          a.a.Fragment,
+                          null,
+                          a.a.createElement("td", null, e.orgName),
+                          a.a.createElement("td", null, e.teamName)
+                        )
+                    );
+                  })
+                )
+              )
+            )
+          );
+        };
+      n.d(t, "a", function () {
+        return u;
+      });
+      var u = function (e) {
+        var t = e.ldapUser,
+          n = e.showAttributeMapping;
+        return a.a.createElement(
+          a.a.Fragment,
+          null,
+          a.a.createElement(o, { info: t.info, showAttributeMapping: n }),
+          a.a.createElement(i, { permissions: t.permissions }),
+          t.roles &&
+            t.roles.length > 0 &&
+            a.a.createElement(s, { groups: t.roles, showAttributeMapping: n }),
+          t.teams && t.teams.length > 0
+            ? a.a.createElement(c, { teams: t.teams, showAttributeMapping: n })
+            : a.a.createElement(
+                "div",
+                { className: "gf-form-group" },
+                a.a.createElement(
+                  "div",
+                  { className: "gf-form" },
+                  a.a.createElement(
+                    "table",
+                    { className: "filter-table form-inline" },
+                    a.a.createElement(
+                      "tbody",
+                      null,
+                      a.a.createElement(
+                        "tr",
+                        null,
+                        a.a.createElement("td", null, "No teams found via LDAP")
+                      )
+                    )
+                  )
+                )
+              )
+        );
+      };
+    },
+    "0uOV": function (e, t, n) {
+      "use strict";
+      function r(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      n.d(t, "a", function () {
+        return a;
+      });
+      var a = (function () {
+        function e(t) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.buffer = t || []);
+        }
+        var t, n, a;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "add",
+              value: function (e) {
+                this.buffer.push(e);
+              },
+            },
+            {
+              key: "get",
+              value: function (e) {
+                return this.buffer[e];
+              },
+            },
+            {
+              key: "set",
+              value: function (e, t) {
+                this.buffer[e] = t;
+              },
+            },
+            {
+              key: "reverse",
+              value: function () {
+                this.buffer.reverse();
+              },
+            },
+            {
+              key: "toArray",
+              value: function () {
+                return this.buffer;
+              },
+            },
+            {
+              key: "toJSON",
+              value: function () {
+                return this.buffer;
+              },
+            },
+            {
+              key: "length",
+              get: function () {
+                return this.buffer.length;
+              },
+            },
+          ]) && r(t.prototype, n),
+          a && r(t, a),
+          e
+        );
+      })();
+    },
+    "0v62": function (e, t, n) {
+      "use strict";
+      n.d(t, "d", function () {
+        return b;
+      }),
+        n.d(t, "c", function () {
+          return v;
+        }),
+        n.d(t, "e", function () {
+          return y;
+        }),
+        n.d(t, "g", function () {
+          return w;
+        }),
+        n.d(t, "f", function () {
+          return O;
+        }),
+        n.d(t, "j", function () {
+          return x;
+        }),
+        n.d(t, "l", function () {
+          return k;
+        }),
+        n.d(t, "i", function () {
+          return j;
+        }),
+        n.d(t, "h", function () {
+          return S;
+        }),
+        n.d(t, "b", function () {
+          return E;
+        }),
+        n.d(t, "a", function () {
+          return C;
+        }),
+        n.d(t, "k", function () {
+          return P;
+        });
+      var r = n("LvDl"),
+        a = n("KgU3"),
+        o = n("tAX7"),
+        i = n("lhB2"),
+        l = n("0uOV"),
+        s = n("ir79"),
+        c = n("YmbM");
+      function u(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function f(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function d(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? f(Object(n), !0).forEach(function (t) {
+                p(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : f(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function p(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function h(e) {
+        return (h =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function m(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      var g = /^\s*(-?(\d*\.?\d+|\d+\.?\d*)(e[-+]?\d+)?|NAN)\s*$/i;
+      function b(e) {
+        return Object(r.isNumber)(e)
+          ? a.FieldType.number
+          : Object(r.isString)(e)
+          ? g.test(e)
+            ? a.FieldType.number
+            : "true" === e ||
+              "TRUE" === e ||
+              "True" === e ||
+              "false" === e ||
+              "FALSE" === e ||
+              "False" === e
+            ? a.FieldType.boolean
+            : a.FieldType.string
+          : Object(r.isBoolean)(e)
+          ? a.FieldType.boolean
+          : e instanceof Date || Object(o.f)(e)
+          ? a.FieldType.time
+          : a.FieldType.other;
+      }
+      function v(e) {
+        if (e.name) {
+          var t = e.name.toLowerCase();
+          if ("date" === t || "time" === t) return a.FieldType.time;
+        }
+        for (var n = 0; n < e.values.length; n++) {
+          var r = e.values.get(n);
+          if (null !== r) return b(r);
+        }
+      }
+      var y = function (e) {
+          for (var t = 0; t < e.fields.length; t++)
+            if (!e.fields[t].type)
+              return d({}, e, {
+                fields: e.fields.map(function (e) {
+                  return e.type && e.type !== a.FieldType.other
+                    ? e
+                    : d({}, e, { type: v(e) || a.FieldType.other });
+                }),
+              });
+          return e;
+        },
+        w = function (e) {
+          return e && e.hasOwnProperty("columns");
+        },
+        O = function (e) {
+          return e && e.hasOwnProperty("fields");
+        },
+        x = function (e) {
+          if (e.hasOwnProperty("fields")) {
+            if (e.hasOwnProperty("rows")) {
+              for (var t = new s.b(e), n = e.rows, o = 0; o < n.length; o++)
+                t.appendRow(n[o]);
+              return Object(i.a)("DataFrame", ".rows", "columnar format"), t;
+            }
+            return e.hasOwnProperty("length") ? e : new s.b(e);
+          }
+          if (e.hasOwnProperty("type") && "docs" === e.type)
+            return (function (e) {
+              var t = [
+                  {
+                    name: e.target,
+                    type: a.FieldType.other,
+                    labels: e.tags,
+                    config: { unit: e.unit, filterable: e.filterable },
+                    values: new l.a(),
+                  },
+                ],
+                n = !0,
+                r = !1,
+                o = void 0;
+              try {
+                for (
+                  var i, s = e.datapoints[Symbol.iterator]();
+                  !(n = (i = s.next()).done);
+                  n = !0
+                ) {
+                  var c = i.value;
+                  t[0].values.buffer.push(c);
+                }
+              } catch (e) {
+                (r = !0), (o = e);
+              } finally {
+                try {
+                  n || null == s.return || s.return();
+                } finally {
+                  if (r) throw o;
+                }
+              }
+              return {
+                name: e.target,
+                refId: e.target,
+                meta: { json: !0 },
+                fields: t,
+                length: e.datapoints.length,
+              };
+            })(e);
+          if (e.hasOwnProperty("datapoints"))
+            return (function (e) {
+              var t = [],
+                n = [],
+                r = !0,
+                o = !1,
+                i = void 0;
+              try {
+                for (
+                  var s, c = e.datapoints[Symbol.iterator]();
+                  !(r = (s = c.next()).done);
+                  r = !0
+                ) {
+                  var u = s.value;
+                  n.push(u[0]), t.push(u[1]);
+                }
+              } catch (e) {
+                (o = !0), (i = e);
+              } finally {
+                try {
+                  r || null == c.return || c.return();
+                } finally {
+                  if (o) throw i;
+                }
+              }
+              var f = [
+                {
+                  name: e.target || "Value",
+                  type: a.FieldType.number,
+                  config: { unit: e.unit },
+                  values: new l.a(n),
+                  labels: e.tags,
+                },
+                {
+                  name: "Time",
+                  type: a.FieldType.time,
+                  config: {},
+                  values: new l.a(t),
+                },
+              ];
+              return {
+                name: e.target,
+                refId: e.refId,
+                meta: e.meta,
+                fields: f,
+                length: n.length,
+              };
+            })(e);
+          if (e.hasOwnProperty("data"))
+            return (function (e) {
+              for (
+                var t = new l.a(), n = new l.a(), r = 0;
+                r < e.data.length;
+                r++
+              ) {
+                var o = e.data[r];
+                t.buffer.push(o[1]), n.buffer.push(o[0]);
+              }
+              return {
+                name: e.label,
+                fields: [
+                  {
+                    name: e.label || "Value",
+                    type: a.FieldType.number,
+                    config: {},
+                    values: t,
+                  },
+                  {
+                    name: "Time",
+                    type: a.FieldType.time,
+                    config: { unit: "dateTimeAsIso" },
+                    values: n,
+                  },
+                ],
+                length: t.buffer.length,
+              };
+            })(e);
+          if (e.hasOwnProperty("columns"))
+            return (function (e) {
+              var t = e.columns.map(function (e) {
+                return {
+                  name: e.text,
+                  config: m(e, ["text"]) || {},
+                  values: new l.a(),
+                  type: a.FieldType.other,
+                };
+              });
+              if (!Object(r.isArray)(e.rows))
+                throw new Error(
+                  "Expected table rows to be array, got ".concat(h(e.rows), ".")
+                );
+              var n = !0,
+                o = !1,
+                i = void 0;
+              try {
+                for (
+                  var s, c = e.rows[Symbol.iterator]();
+                  !(n = (s = c.next()).done);
+                  n = !0
+                )
+                  for (var u = s.value, f = 0; f < t.length; f++)
+                    t[f].values.buffer.push(u[f]);
+              } catch (e) {
+                (o = !0), (i = e);
+              } finally {
+                try {
+                  n || null == c.return || c.return();
+                } finally {
+                  if (o) throw i;
+                }
+              }
+              var d = !0,
+                p = !1,
+                g = void 0;
+              try {
+                for (
+                  var b, y = t[Symbol.iterator]();
+                  !(d = (b = y.next()).done);
+                  d = !0
+                ) {
+                  var w = b.value,
+                    O = v(w);
+                  O && (w.type = O);
+                }
+              } catch (e) {
+                (p = !0), (g = e);
+              } finally {
+                try {
+                  d || null == y.return || y.return();
+                } finally {
+                  if (p) throw g;
+                }
+              }
+              return {
+                fields: t,
+                refId: e.refId,
+                meta: e.meta,
+                name: e.name,
+                length: e.rows.length,
+              };
+            })(e);
+          throw (
+            (console.warn("Can not convert", e),
+            new Error("Unsupported data format"))
+          );
+        },
+        k = function (e) {
+          for (var t = e.fields, n = e.length, r = [], o = 0; o < n; o++) {
+            for (var i = [], l = 0; l < t.length; l++)
+              i.push(t[l].values.get(o));
+            r.push(i);
+          }
+          if (2 === t.length) {
+            var s = t[1].type;
+            if (
+              (s || (s = v(t[1]) || a.FieldType.other), s === a.FieldType.time)
+            )
+              return {
+                alias: t[0].name || e.name,
+                target: t[0].name || e.name,
+                datapoints: r,
+                unit: t[0].config ? t[0].config.unit : void 0,
+                refId: e.refId,
+                meta: e.meta,
+              };
+          }
+          return e.meta && e.meta.json
+            ? {
+                alias: t[0].name || e.name,
+                target: t[0].name || e.name,
+                datapoints: t[0].values.toArray(),
+                filterable: t[0].config ? t[0].config.filterable : void 0,
+                type: "docs",
+              }
+            : {
+                columns: t.map(function (e) {
+                  var t = e.name,
+                    n = e.config;
+                  if (n) {
+                    var r = Object.assign({}, n);
+                    return (r.text = t), r;
+                  }
+                  return { text: t };
+                }),
+                type: "table",
+                refId: e.refId,
+                meta: e.meta,
+                rows: r,
+              };
+        };
+      function j(e, t) {
+        var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2],
+          r = e.fields[t];
+        if (!r) return e;
+        for (var o = [], i = 0; i < e.length; i++) o.push(i);
+        var l = r.values,
+          s = function (e, t) {
+            return l.get(e) - l.get(t);
+          };
+        return (
+          r.type === a.FieldType.string &&
+            (s = function (e, t) {
+              var n = l.get(e),
+                r = l.get(t);
+              return n.localeCompare(r);
+            }),
+          o.sort(s),
+          n && o.reverse(),
+          d({}, e, {
+            fields: e.fields.map(function (e) {
+              return d({}, e, { values: new c.a(e.values, o) });
+            }),
+          })
+        );
+      }
+      function S(e) {
+        return d({}, e, {
+          fields: e.fields.map(function (e) {
+            var t = u(e.values.toArray());
+            return t.reverse(), d({}, e, { values: new l.a(t) });
+          }),
+        });
+      }
+      var E = function (e) {
+        for (var t = 0; t < e.fields.length; t++)
+          if (e.fields[t].type === a.FieldType.time)
+            return { timeField: e.fields[t], timeIndex: t };
+        return {};
+      };
+      function C(e, t) {
+        var n = [],
+          r = !0,
+          a = !1,
+          o = void 0;
+        try {
+          for (
+            var i, l = e.fields[Symbol.iterator]();
+            !(r = (i = l.next()).done);
+            r = !0
+          ) {
+            var s = i.value;
+            n.push(s.values.get(t));
+          }
+        } catch (e) {
+          (a = !0), (o = e);
+        } finally {
+          try {
+            r || null == l.return || l.return();
+          } finally {
+            if (a) throw o;
+          }
+        }
+        return n;
+      }
+      function P(e) {
+        return {
+          fields: e.fields.map(function (e) {
+            var t = e.values.toArray();
+            if (!Array.isArray(t)) {
+              t = [];
+              for (var n = 0; n < e.values.length; n++) t.push(e.values.get(n));
+            }
+            return {
+              name: e.name,
+              type: e.type,
+              config: e.config,
+              values: t,
+              labels: e.labels,
+            };
+          }),
+          refId: e.refId,
+          meta: e.meta,
+          name: e.name,
+        };
+      }
+    },
+    "0xpV": function (e, t) {
+      jQuery.plot.plugins.push({
+        init: function (e) {
+          e.hooks.processDatapoints.push(function (e, t, n) {
+            if (null != t.stack && !1 !== t.stack) {
+              var r = (function (e, t) {
+                for (var n = null, r = 0; r < t.length && e != t[r]; ++r)
+                  t[r].stack == e.stack && (n = t[r]);
+                return n;
+              })(t, e.getData());
+              if (r) {
+                for (
+                  var a,
+                    o,
+                    i,
+                    l,
+                    s,
+                    c,
+                    u,
+                    f,
+                    d = n.pointsize,
+                    p = n.points,
+                    h = r.datapoints.pointsize,
+                    m = r.datapoints.points,
+                    g = [],
+                    b = t.lines.show,
+                    v = t.bars.horizontal,
+                    y = d > 2 && (v ? n.format[2].x : n.format[2].y),
+                    w = b && t.lines.steps,
+                    O = v ? 1 : 0,
+                    x = v ? 0 : 1,
+                    k = 0,
+                    j = 0;
+                  !(k >= p.length && j >= m.length);
+
+                ) {
+                  if (((u = g.length), k < p.length && null == p[k])) {
+                    for (f = 0; f < d; ++f) g.push(p[k + f]);
+                    k += d;
+                  } else if (k >= p.length) {
+                    for (f = 0; f < d; ++f) g.push(m[j + f]);
+                    y && (g[u + 2] = m[j + x]), (j += h);
+                  } else if (j >= m.length) {
+                    for (f = 0; f < d; ++f) g.push(p[k + f]);
+                    k += d;
+                  } else if (j < m.length && null == m[j]) j += h;
+                  else {
+                    if (
+                      ((a = p[k + O]),
+                      (o = p[k + x]),
+                      (l = m[j + O]),
+                      (s = m[j + x]),
+                      (c = 0),
+                      a == l)
+                    ) {
+                      for (f = 0; f < d; ++f) g.push(p[k + f]);
+                      (g[u + x] += s), (c = s), (k += d), (j += h);
+                    } else if (a > l) {
+                      if (0 == k) {
+                        for (f = 0; f < d; ++f) g.push(m[j + f]);
+                        c = s;
+                      }
+                      if (k > 0 && null != p[k - d]) {
+                        for (
+                          i =
+                            o +
+                            ((p[k - d + x] - o) * (l - a)) / (p[k - d + O] - a),
+                            g.push(l),
+                            g.push(i + s),
+                            f = 2;
+                          f < d;
+                          ++f
+                        )
+                          g.push(p[k + f]);
+                        c = s;
+                      }
+                      j += h;
+                    } else {
+                      for (f = 0; f < d; ++f) g.push(p[k + f]);
+                      j > 0 &&
+                        null != m[j - h] &&
+                        (c =
+                          s +
+                          ((m[j - h + x] - s) * (a - l)) / (m[j - h + O] - l)),
+                        (g[u + x] += c),
+                        (k += d);
+                    }
+                    (fromgap = !1), u != g.length && y && (g[u + 2] = c);
+                  }
+                  if (
+                    w &&
+                    u != g.length &&
+                    u > 0 &&
+                    null != g[u] &&
+                    g[u] != g[u - d] &&
+                    g[u + 1] != g[u - d + 1]
+                  ) {
+                    for (f = 0; f < d; ++f) g[u + d + f] = g[u + f];
+                    g[u + 1] = g[u - d + 1];
+                  }
+                }
+                n.points = g;
+              }
+            }
+          });
+        },
+        options: { series: { stack: null } },
+        name: "stack",
+        version: "1.2",
+      });
+    },
+    "11hs": function (e, t) {
+      var n = "public/app/features/datasources/partials/http_settings.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(n, "");
+        },
+      ]),
+        (e.exports = n);
+    },
+    "13X4": function (e, t, n) {
+      "use strict";
+      n.d(t, "b", function () {
+        return f;
+      }),
+        n.d(t, "a", function () {
+          return d;
+        });
+      var r = n("LvDl"),
+        a = n.n(r),
+        o = n("i7Pf"),
+        i = n("0Mjz");
+      function l(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function s(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? l(Object(n), !0).forEach(function (t) {
+                c(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : l(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function c(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var u = {
+          url: "",
+          path: "",
+          query: {},
+          routeParams: {},
+          replace: !1,
+          lastUpdated: 0,
+        },
+        f = Object(o.b)("location/updateLocation"),
+        d = function () {
+          var e =
+              arguments.length > 0 && void 0 !== arguments[0]
+                ? arguments[0]
+                : u,
+            t = arguments.length > 1 ? arguments[1] : void 0;
+          if (f.match(t)) {
+            var n = t.payload,
+              r = n.path,
+              o = n.routeParams,
+              l = n.replace,
+              c = n.query || e.query;
+            return (
+              n.partial &&
+                ((c = a.a.defaults(c, e.query)),
+                (c = a.a.omitBy(c, a.a.isNull))),
+              {
+                url: Object(i.c)(r || e.path, c),
+                path: r || e.path,
+                query: s({}, c),
+                routeParams: o || e.routeParams,
+                replace: !0 === l,
+                lastUpdated: new Date().getTime(),
+              }
+            );
+          }
+          return e;
+        };
+    },
+    1524: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return o;
+      });
+      var r = n("uhBA");
+      function a(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var o = (function () {
+        function e() {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.emitter = new r.EventEmitter());
+        }
+        var t, n, o;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "emit",
+              value: function (e, t) {
+                "string" == typeof e
+                  ? (console.log(
+                      "Using strings as events is deprecated and will be removed in a future version. (".concat(
+                        e,
+                        ")"
+                      )
+                    ),
+                    this.emitter.emit(e, t))
+                  : this.emitter.emit(e.name, t);
+              },
+            },
+            {
+              key: "on",
+              value: function (e, t, n) {
+                var r = this;
+                if ("string" != typeof e) {
+                  if ((this.emitter.on(e.name, t), n))
+                    var a = n.$on("$destroy", function () {
+                      r.emitter.off(e.name, t), a();
+                    });
+                } else if (
+                  (console.log(
+                    "Using strings as events is deprecated and will be removed in a future version. (".concat(
+                      e,
+                      ")"
+                    )
+                  ),
+                  this.emitter.on(e, t),
+                  n)
+                )
+                  var o = n.$on("$destroy", function () {
+                    r.emitter.off(e, t), o();
+                  });
+              },
+            },
+            {
+              key: "off",
+              value: function (e, t) {
+                if ("string" == typeof e)
+                  return (
+                    console.log(
+                      "Using strings as events is deprecated and will be removed in a future version. (".concat(
+                        e,
+                        ")"
+                      )
+                    ),
+                    void this.emitter.off(e, t)
+                  );
+                this.emitter.off(e.name, t);
+              },
+            },
+            {
+              key: "removeAllListeners",
+              value: function (e) {
+                this.emitter.removeAllListeners(e);
+              },
+            },
+            {
+              key: "getEventCount",
+              value: function () {
+                return this.emitter._eventsCount;
+              },
+            },
+          ]) && a(t.prototype, n),
+          o && a(t, o),
+          e
+        );
+      })();
+    },
+    "1BU0": function (e, t, n) {
+      "use strict";
+      var r, a;
+      n.d(t, "a", function () {
+        return r;
+      }),
+        n.d(t, "b", function () {
+          return a;
+        }),
+        (function (e) {
+          (e.NotStarted = "NotStarted"),
+            (e.Loading = "Loading"),
+            (e.Streaming = "Streaming"),
+            (e.Done = "Done"),
+            (e.Error = "Error");
+        })(r || (r = {})),
+        (function (e) {
+          (e.Null = "null"),
+            (e.Ignore = "connected"),
+            (e.AsZero = "null as zero");
+        })(a || (a = {}));
+    },
+    "1VFa": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return g;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("ODSy"),
+        i = n("Lrfw"),
+        l = n("kDDq"),
+        s = n("Fts8"),
+        c = n("MIBK");
+      function u() {
+        var e = h(["\n    justify-content: flex-end;\n    flex-grow: 1;\n  "]);
+        return (
+          (u = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function f() {
+        var e = h(["\n    display: flex;\n  "]);
+        return (
+          (f = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function d() {
+        var e = h([
+          "\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: space-between;\n    width: 100%;\n  ",
+        ]);
+        return (
+          (d = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function p() {
+        var e = h([
+          "\n    padding-left: 10px;\n    display: flex;\n    font-size: ",
+          ";\n    white-space: nowrap;\n  ",
+        ]);
+        return (
+          (p = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function h(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var m = Object(c.g)(function (e) {
+          return {
+            item: Object(l.css)(p(), e.typography.size.sm),
+            wrapper: Object(l.css)(d()),
+            section: Object(l.css)(f()),
+            sectionRight: Object(l.css)(u()),
+          };
+        }),
+        g = function (e) {
+          var t = e.items,
+            n = e.itemRenderer,
+            c = e.placement,
+            u = e.className,
+            f = Object(r.useContext)(s.a),
+            d = m(f),
+            p = function (e, t) {
+              return a.a.createElement(
+                "span",
+                { className: d.item },
+                n ? n(e, t) : e.label
+              );
+            },
+            h = function (e) {
+              return "".concat(e.label);
+            };
+          return "under" === c
+            ? a.a.createElement(
+                "div",
+                { className: Object(l.cx)(d.wrapper, u) },
+                a.a.createElement(
+                  "div",
+                  { className: d.section },
+                  a.a.createElement(o.a, {
+                    items: t.filter(function (e) {
+                      return 1 === e.yAxis;
+                    }),
+                    renderItem: p,
+                    getItemKey: h,
+                  })
+                ),
+                a.a.createElement(
+                  "div",
+                  { className: Object(l.cx)(d.section, d.sectionRight) },
+                  a.a.createElement(o.a, {
+                    items: t.filter(function (e) {
+                      return 1 !== e.yAxis;
+                    }),
+                    renderItem: p,
+                    getItemKey: h,
+                  })
+                )
+              )
+            : a.a.createElement(i.a, {
+                items: t,
+                renderItem: p,
+                getItemKey: h,
+                className: u,
+              });
+        };
+      g.displayName = "LegendList";
+    },
+    "1Zgx": function (e, t, n) {
+      "use strict";
+      n.d(t, "b", function () {
+        return c;
+      }),
+        n.d(t, "a", function () {
+          return f;
+        });
+      var r = n("nwiq"),
+        a = n("LvDl"),
+        o = n.n(a),
+        i = n("Obii");
+      function l(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function s(e, t) {
+        if (!e) return !1;
+        if ("/" === e[0]) {
+          var n = Object(i.stringToJsRegex)(e);
+          return null != t.match(n);
+        }
+        return e === t;
+      }
+      function c(e, t, n) {
+        for (var a = 0; a < e.length; a++) {
+          var l = e[a],
+            s = t.yaxes[(l.yaxis || 1) - 1],
+            c = Object(i.getValueFormat)(s.format);
+          if (o.a.isNumber(t.decimals))
+            l.updateLegendValues(c, t.decimals, null);
+          else if (o.a.isNumber(s.decimals))
+            l.updateLegendValues(c, s.decimals + 1, null);
+          else {
+            var f = u(e),
+              d = f.datamin,
+              p = f.datamax,
+              h = Object(r.getFlotTickDecimals)(d, p, s, n),
+              m = h.tickDecimals,
+              g = h.scaledDecimals,
+              b = (m || -1) + 1;
+            l.updateLegendValues(c, b, g + 2);
+          }
+        }
+      }
+      function u(e) {
+        var t = null,
+          n = null,
+          r = !0,
+          a = !1,
+          o = void 0;
+        try {
+          for (
+            var i, l = e[Symbol.iterator]();
+            !(r = (i = l.next()).done);
+            r = !0
+          ) {
+            var s = i.value;
+            (null === n || n < s.stats.max) && (n = s.stats.max),
+              (null === t || t > s.stats.min) && (t = s.stats.min);
+          }
+        } catch (e) {
+          (a = !0), (o = e);
+        } finally {
+          try {
+            r || null == l.return || l.return();
+          } finally {
+            if (a) throw o;
+          }
+        }
+        return { datamin: t, datamax: n };
+      }
+      var f = (function () {
+        function e(t) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.datapoints = t.datapoints),
+            (this.label = t.alias),
+            (this.id = t.alias),
+            (this.alias = t.alias),
+            (this.aliasEscaped = o.a.escape(t.alias)),
+            (this.color = t.color),
+            (this.bars = { fillColor: t.color }),
+            (this.valueFormater = Object(i.getValueFormat)("none")),
+            (this.stats = {}),
+            (this.legend = !0),
+            (this.unit = t.unit),
+            (this.dataFrameIndex = t.dataFrameIndex),
+            (this.fieldIndex = t.fieldIndex),
+            (this.hasMsResolution = this.isMsResolutionNeeded());
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "applySeriesOverrides",
+              value: function (e) {
+                (this.lines = {}),
+                  (this.dashes = { dashLength: [] }),
+                  (this.points = {}),
+                  (this.yaxis = 1),
+                  (this.zindex = 0),
+                  (this.nullPointMode = null),
+                  delete this.stack,
+                  delete this.bars.show;
+                for (var t = 0; t < e.length; t++) {
+                  var n = e[t];
+                  s(n.alias, this.alias) &&
+                    (void 0 !== n.lines && (this.lines.show = n.lines),
+                    void 0 !== n.dashes &&
+                      ((this.dashes.show = n.dashes),
+                      (this.lines.lineWidth = 0)),
+                    void 0 !== n.points && (this.points.show = n.points),
+                    void 0 !== n.bars && (this.bars.show = n.bars),
+                    void 0 !== n.fill &&
+                      (this.lines.fill = 0 === (a = n.fill) ? 0.001 : a / 10),
+                    void 0 !== n.fillGradient &&
+                      (this.lines.fillColor = (r = n.fillGradient)
+                        ? { colors: [{ opacity: 0 }, { opacity: r / 10 }] }
+                        : null),
+                    void 0 !== n.stack && (this.stack = n.stack),
+                    void 0 !== n.linewidth &&
+                      ((this.lines.lineWidth = this.dashes.show
+                        ? 0
+                        : n.linewidth),
+                      (this.dashes.lineWidth = n.linewidth)),
+                    void 0 !== n.dashLength &&
+                      (this.dashes.dashLength[0] = n.dashLength),
+                    void 0 !== n.spaceLength &&
+                      (this.dashes.dashLength[1] = n.spaceLength),
+                    void 0 !== n.nullPointMode &&
+                      (this.nullPointMode = n.nullPointMode),
+                    void 0 !== n.pointradius &&
+                      (this.points.radius = n.pointradius),
+                    void 0 !== n.steppedLine &&
+                      (this.lines.steps = n.steppedLine),
+                    void 0 !== n.zindex && (this.zindex = n.zindex),
+                    void 0 !== n.fillBelowTo &&
+                      (this.fillBelowTo = n.fillBelowTo),
+                    void 0 !== n.color && this.setColor(n.color),
+                    void 0 !== n.transform && (this.transform = n.transform),
+                    void 0 !== n.legend && (this.legend = n.legend),
+                    void 0 !== n.hideTooltip &&
+                      (this.hideTooltip = n.hideTooltip),
+                    void 0 !== n.yaxis && (this.yaxis = n.yaxis),
+                    void 0 !== n.hiddenSeries &&
+                      (this.hiddenSeries = n.hiddenSeries));
+                }
+                var r, a;
+              },
+            },
+            {
+              key: "getFlotPairs",
+              value: function (e) {
+                var t = [];
+                (this.stats.total = 0),
+                  (this.stats.max = -Number.MAX_VALUE),
+                  (this.stats.min = Number.MAX_VALUE),
+                  (this.stats.logmin = Number.MAX_VALUE),
+                  (this.stats.avg = null),
+                  (this.stats.current = null),
+                  (this.stats.first = null),
+                  (this.stats.delta = 0),
+                  (this.stats.diff = null),
+                  (this.stats.range = null),
+                  (this.stats.timeStep = Number.MAX_VALUE),
+                  (this.allIsNull = !0),
+                  (this.allIsZero = !0);
+                for (
+                  var n,
+                    r,
+                    a,
+                    i = "connected" === e,
+                    l = "null as zero" === e,
+                    s = 0,
+                    c = 0,
+                    u = !0,
+                    f = 0;
+                  f < this.datapoints.length;
+                  f++
+                ) {
+                  if (
+                    ((r = this.datapoints[f][0]),
+                    (n = this.datapoints[f][1]),
+                    void 0 !== a)
+                  ) {
+                    var d = n - a;
+                    d < this.stats.timeStep && (this.stats.timeStep = d);
+                  }
+                  if (((a = n), null === r)) {
+                    if (i) continue;
+                    l && (r = 0);
+                  }
+                  null !== r &&
+                    (o.a.isNumber(r) &&
+                      ((this.stats.total += r), (this.allIsNull = !1), s++),
+                    r > this.stats.max && (this.stats.max = r),
+                    r < this.stats.min && (this.stats.min = r),
+                    null === this.stats.first
+                      ? (this.stats.first = r)
+                      : c > r
+                      ? ((u = !1),
+                        f === this.datapoints.length - 1 &&
+                          (this.stats.delta += r))
+                      : ((this.stats.delta += u ? r - c : r), (u = !0)),
+                    (c = r),
+                    r < this.stats.logmin && r > 0 && (this.stats.logmin = r),
+                    0 !== r && (this.allIsZero = !1)),
+                    t.push([n, r]);
+                }
+                return (
+                  this.stats.max === -Number.MAX_VALUE &&
+                    (this.stats.max = null),
+                  this.stats.min === Number.MAX_VALUE &&
+                    (this.stats.min = null),
+                  t.length &&
+                    !this.allIsNull &&
+                    ((this.stats.avg = this.stats.total / s),
+                    (this.stats.current = t[t.length - 1][1]),
+                    null === this.stats.current &&
+                      t.length > 1 &&
+                      (this.stats.current = t[t.length - 2][1])),
+                  null !== this.stats.max &&
+                    null !== this.stats.min &&
+                    (this.stats.range = this.stats.max - this.stats.min),
+                  null !== this.stats.current &&
+                    null !== this.stats.first &&
+                    (this.stats.diff = this.stats.current - this.stats.first),
+                  (this.stats.count = t.length),
+                  t
+                );
+              },
+            },
+            {
+              key: "updateLegendValues",
+              value: function (e, t, n) {
+                (this.valueFormater = e),
+                  (this.decimals = t),
+                  (this.scaledDecimals = n);
+              },
+            },
+            {
+              key: "formatValue",
+              value: function (e) {
+                return (
+                  o.a.isFinite(e) || (e = null),
+                  Object(i.formattedValueToString)(
+                    this.valueFormater(e, this.decimals, this.scaledDecimals)
+                  )
+                );
+              },
+            },
+            {
+              key: "isMsResolutionNeeded",
+              value: function () {
+                for (var e = 0; e < this.datapoints.length; e++)
+                  if (
+                    null !== this.datapoints[e][1] &&
+                    void 0 !== this.datapoints[e][1]
+                  ) {
+                    var t = this.datapoints[e][1].toString();
+                    if (13 === t.length && t % 1e3 != 0) return !0;
+                  }
+                return !1;
+              },
+            },
+            {
+              key: "hideFromLegend",
+              value: function (e) {
+                return (
+                  !(!e.hideEmpty || !this.allIsNull) ||
+                  !this.legend ||
+                  !(!e.hideZero || !this.allIsZero)
+                );
+              },
+            },
+            {
+              key: "setColor",
+              value: function (e) {
+                (this.color = e), (this.bars.fillColor = e);
+              },
+            },
+          ]) && l(t.prototype, n),
+          r && l(t, r),
+          e
+        );
+      })();
+    },
+    "1duI": function (e, t) {
+      var n = "public/app/features/admin/partials/admin_home.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body">\n\n  <div class="grafana-info-box span8">\n    Grafana is a multi-tenant system where most can be configured per organization. These\n    admin pages are for server admins where you can manage orgs, & all users across all orgs.\n  </div>\n\n</div>\n\n<footer/>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "1gCF": function (e, t, n) {
+      "use strict";
+      var r = function (e) {
+          return '[aria-label="'.concat(e, '"]');
+        },
+        a = function (e) {
+          var t = (e = e || "").replace("^/", "");
+          return ""
+            .concat(
+              _.env("BASE_URL") || _.config().baseUrl || "http://localhost:3000"
+            )
+            .concat(t);
+        },
+        o = function (e) {
+          var t = e.match("\\/d\\/(.*)\\/");
+          if (!t) throw new Error("Couldn't parse uid from ".concat(e));
+          return t[1];
+        };
+      function i(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function l(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var s = function (e) {
+          var t = e.url,
+            n = e.selectors,
+            o = {};
+          return (
+            Object.keys(n).forEach(function (e) {
+              var t = n[e];
+              "string" == typeof t &&
+                (o[e] = function () {
+                  return (
+                    _().logToConsole("Retrieving Selector:", t), _().get(r(t))
+                  );
+                }),
+                "function" == typeof t &&
+                  (o[e] = function (e) {
+                    if (!e) {
+                      var n = t();
+                      return (
+                        _().logToConsole("Retrieving Selector:", n), _().get(n)
+                      );
+                    }
+                    var a = t(e);
+                    return (
+                      _().logToConsole("Retrieving Selector:", a), _().get(r(a))
+                    );
+                  });
+            }),
+            (function (e) {
+              for (var t = 1; t < arguments.length; t++) {
+                var n = null != arguments[t] ? arguments[t] : {};
+                t % 2
+                  ? i(Object(n), !0).forEach(function (t) {
+                      l(e, t, n[t]);
+                    })
+                  : Object.getOwnPropertyDescriptors
+                  ? Object.defineProperties(
+                      e,
+                      Object.getOwnPropertyDescriptors(n)
+                    )
+                  : i(Object(n)).forEach(function (t) {
+                      Object.defineProperty(
+                        e,
+                        t,
+                        Object.getOwnPropertyDescriptor(n, t)
+                      );
+                    });
+              }
+              return e;
+            })(
+              {
+                visit: function (e) {
+                  if (!t) return _().visit("");
+                  var n = "";
+                  return (
+                    "string" == typeof t && (n = a(t)),
+                    "function" == typeof t && e && (n = a(t(e))),
+                    _().logToConsole("Visiting", n),
+                    _().visit(n)
+                  );
+                },
+              },
+              o,
+              { selectors: n }
+            )
+          );
+        },
+        c = {
+          lastAddedDataSource: "",
+          lastAddedDashboard: "",
+          lastAddedDashboardUid: "",
+        },
+        u = s({
+          url: "/login",
+          selectors: {
+            username: "Username input field",
+            password: "Password input field",
+            submit: "Login button",
+            skip: "Skip change password button",
+          },
+        }),
+        f = s({
+          url: "/datasources/new",
+          selectors: {
+            dataSourcePlugins: function (e) {
+              return "Data source plugin item ".concat(e);
+            },
+          },
+        }),
+        d = s({
+          url: "",
+          selectors: {
+            name: "Data source settings page name input field",
+            delete: "Data source settings page Delete button",
+            saveAndTest: "Data source settings page Save and Test button",
+            alert: "Data source settings page Alert",
+            alertMessage: "Data source settings page Alert message",
+          },
+        }),
+        p = s({
+          url: "/datasources",
+          selectors: {
+            dataSources: function (e) {
+              return "Data source list item ".concat(e);
+            },
+          },
+        }),
+        h = s({
+          url: "",
+          selectors: { delete: "Confirm Modal Danger Button" },
+        }),
+        m = s({
+          url: "/dashboard/new",
+          selectors: {
+            ctaButtons: function (e) {
+              return "Add Panel Widget CTA Button ".concat(e);
+            },
+          },
+        }),
+        g = s({
+          url: function (e) {
+            return "/d/".concat(e);
+          },
+          selectors: {
+            toolbarItems: function (e) {
+              return "Dashboard navigation bar button ".concat(e);
+            },
+            backArrow: "Dashboard settings Go Back button",
+            navBar: function () {
+              return ".navbar";
+            },
+          },
+        }),
+        b = s({
+          url: "",
+          selectors: {
+            newName: "Save dashboard title field",
+            save: "Save dashboard button",
+          },
+        }),
+        v = s({
+          url: "/dashboards",
+          selectors: {
+            dashboards: function (e) {
+              return "Dashboard search item ".concat(e);
+            },
+          },
+        }),
+        y = s({
+          url: "",
+          selectors: {
+            deleteDashBoard: "Dashboard settings page delete dashboard button",
+            sectionItems: function (e) {
+              return "Dashboard settings section item ".concat(e);
+            },
+            saveDashBoard: "Dashboard settings aside actions Save button",
+            saveAsDashBoard: "Dashboard settings aside actions Save As button",
+          },
+        }),
+        w = s({
+          url: "",
+          selectors: {
+            tabItems: function (e) {
+              return "Edit panel tab item ".concat(e);
+            },
+          },
+        }),
+        O = {
+          QueryTab: s({
+            url: "",
+            selectors: { scenarioSelect: "Test Data Query scenario select" },
+          }),
+        },
+        x = {
+          VisualizationTab: s({
+            url: "",
+            selectors: { xAxisSection: "X-Axis section" },
+          }),
+        },
+        k = s({
+          url: "",
+          selectors: {
+            save: "Dashboard settings Save Dashboard Modal Save button",
+            saveVariables:
+              "Dashboard settings Save Dashboard Modal Save variables checkbox",
+            saveTimerange:
+              "Dashboard settings Save Dashboard Modal Save timerange checkbox",
+          },
+        }),
+        j = s({
+          url: "",
+          selectors: {
+            title: function (e) {
+              return "Panel header title item ".concat(e);
+            },
+            headerItems: function (e) {
+              return "Panel header item ".concat(e);
+            },
+          },
+        }),
+        S = s({
+          url: "",
+          selectors: { linkToRenderedImage: "Link to rendered image" },
+        }),
+        E = s({
+          url: "",
+          selectors: {
+            addVariableCTA: "Call to action button Add variable",
+            newButton: "Variable editor New variable button",
+            table: "Variable editor Table",
+            tableRowNameFields: function (e) {
+              return "Variable editor Table Name field ".concat(e);
+            },
+            tableRowDefinitionFields: function (e) {
+              return "Variable editor Table Definition field ".concat(e);
+            },
+            tableRowArrowUpButtons: function (e) {
+              return "Variable editor Table ArrowUp button ".concat(e);
+            },
+            tableRowArrowDownButtons: function (e) {
+              return "Variable editor Table ArrowDown button ".concat(e);
+            },
+            tableRowDuplicateButtons: function (e) {
+              return "Variable editor Table Duplicate button ".concat(e);
+            },
+            tableRowRemoveButtons: function (e) {
+              return "Variable editor Table Remove button ".concat(e);
+            },
+          },
+        }),
+        C = s({
+          url: "",
+          selectors: {
+            submenuItem: "Dashboard template variables submenu item",
+            submenuItemLabels: function (e) {
+              return "Dashboard template variables submenu Label ".concat(e);
+            },
+            submenuItemValueDropDownValueLinkTexts: function (e) {
+              return "Dashboard template variables Variable Value DropDown value link text ".concat(
+                e
+              );
+            },
+            submenuItemValueDropDownDropDown:
+              "Dashboard template variables Variable Value DropDown DropDown",
+            submenuItemValueDropDownOptionTexts: function (e) {
+              return "Dashboard template variables Variable Value DropDown option text ".concat(
+                e
+              );
+            },
+          },
+        }),
+        P = s({
+          url: "",
+          selectors: {
+            headerLink: "Variable editor Header link",
+            modeLabelNew: "Variable editor Header mode New",
+            modeLabelEdit: "Variable editor Header mode Edit",
+            generalNameInput: "Variable editor Form Name field",
+            generalTypeSelect: "Variable editor Form Type select",
+            generalLabelInput: "Variable editor Form Label field",
+            generalHideSelect: "Variable editor Form Hide select",
+            selectionOptionsMultiSwitch: "Variable editor Form Multi switch",
+            selectionOptionsIncludeAllSwitch:
+              "Variable editor Form IncludeAll switch",
+            selectionOptionsCustomAllInput:
+              "Variable editor Form IncludeAll field",
+            previewOfValuesOption: "Variable editor Preview of Values option",
+            addButton: "Variable editor Add button",
+            updateButton: "Variable editor Update button",
+          },
+        }),
+        T = s({
+          url: "",
+          selectors: {
+            queryOptionsDataSourceSelect:
+              "Variable editor Form Query DataSource select",
+            queryOptionsRefreshSelect:
+              "Variable editor Form Query Refresh select",
+            queryOptionsRegExInput: "Variable editor Form Query RegEx field",
+            queryOptionsSortSelect: "Variable editor Form Query Sort select",
+            queryOptionsQueryInput:
+              "Variable editor Form Default Variable Query Editor textarea",
+            valueGroupsTagsEnabledSwitch:
+              "Variable editor Form Query UseTags switch",
+            valueGroupsTagsTagsQueryInput:
+              "Variable editor Form Query TagsQuery field",
+            valueGroupsTagsTagsValuesQueryInput:
+              "Variable editor Form Query TagsValuesQuery field",
+          },
+        }),
+        D = s({
+          url: "",
+          selectors: {
+            constantOptionsQueryInput:
+              "Variable editor Form Constant Query field",
+          },
+        }),
+        A = {
+          env: function (e) {
+            return Cypress.env(e);
+          },
+          config: function () {
+            return Cypress.config();
+          },
+          blobToBase64String: function (e) {
+            return Cypress.Blob.blobToBase64String(e);
+          },
+          imgSrcToBlob: function (e) {
+            return Cypress.Blob.imgSrcToBlob(e);
+          },
+          scenario: function (e) {
+            return (function (e) {
+              var t = e.describeName,
+                n = e.itName,
+                r = e.scenario,
+                a = e.skipScenario,
+                o = void 0 !== a && a,
+                i = e.addScenarioDataSource,
+                l = void 0 !== i && i,
+                s = e.addScenarioDashBoard,
+                c = void 0 !== s && s;
+              describe(t, function () {
+                o
+                  ? it.skip(n, function () {
+                      expect(!1).equals(!0);
+                    })
+                  : (beforeEach(function () {
+                      _.flows.login("admin", "admin"),
+                        l && _.flows.addDataSource("TestData DB"),
+                        c && _.flows.addDashboard();
+                    }),
+                    afterEach(function () {
+                      _.context().get("lastAddedDataSource") &&
+                        _.flows.deleteDataSource(
+                          _.context().get("lastAddedDataSource")
+                        ),
+                        _.context().get("lastAddedDashboardUid") &&
+                          _.flows.deleteDashboard(
+                            _.context().get("lastAddedDashboardUid")
+                          );
+                    }),
+                    it(n, function () {
+                      r();
+                    }));
+              });
+            })(e);
+          },
+          context: function () {
+            return {
+              get: function (e) {
+                return c[e];
+              },
+              set: function (e, t) {
+                c[e] = t;
+              },
+            };
+          },
+          pages: {
+            Login: u,
+            DataSource: d,
+            DataSources: p,
+            AddDataSource: f,
+            ConfirmModal: h,
+            AddDashboard: m,
+            Dashboard: {
+              visit: function (e) {
+                return g.visit(e);
+              },
+              Toolbar: g,
+              SubMenu: C,
+              Settings: {
+                General: y,
+                Variables: {
+                  List: E,
+                  Edit: { General: P, QueryVariable: T, ConstantVariable: D },
+                },
+              },
+              Panels: {
+                Panel: j,
+                EditPanel: w,
+                DataSource: { TestData: O },
+                Visualization: { Graph: x },
+              },
+            },
+            Dashboards: v,
+            SaveDashboardAsModal: b,
+            SaveDashboardModal: k,
+            SharePanelModal: S,
+          },
+          flows: {
+            login: function (e, t) {
+              _().logToConsole("Trying to login with:", {
+                username: e,
+                password: t,
+              }),
+                _.pages.Login.visit(),
+                _.pages.Login.username().should("be.visible").type(e),
+                _.pages.Login.password().type(t),
+                _.pages.Login.submit().click(),
+                _.pages.Login.skip().should("be.visible").click(),
+                _().get(".login-page").should("not.exist"),
+                _().logToConsole("Logged in with", {
+                  username: e,
+                  password: t,
+                });
+            },
+            addDataSource: function (e) {
+              (e = e || "TestData DB"),
+                _().logToConsole("Adding data source with pluginName:", e),
+                _.pages.AddDataSource.visit(),
+                _.pages.AddDataSource.dataSourcePlugins(e)
+                  .scrollIntoView()
+                  .should("be.visible")
+                  .click();
+              var t = "e2e-".concat(new Date().getTime());
+              return (
+                _.pages.DataSource.name().clear(),
+                _.pages.DataSource.name().type(t),
+                _.pages.DataSource.saveAndTest().click(),
+                _.pages.DataSource.alert().should("exist"),
+                _.pages.DataSource.alertMessage().should(
+                  "contain.text",
+                  "Data source is working"
+                ),
+                _().logToConsole("Added data source with name:", t),
+                _.context().set("lastAddedDataSource", t),
+                t
+              );
+            },
+            deleteDataSource: function (e) {
+              _().logToConsole("Deleting data source with name:", e),
+                _().request("DELETE", a("/api/datasources/name/".concat(e)));
+            },
+            addDashboard: function () {
+              _().logToConsole("Adding dashboard"),
+                _.pages.AddDashboard.visit();
+              var e = _.flows.saveNewDashboard();
+              _().logToConsole("Added dashboard with title:", e),
+                _()
+                  .url()
+                  .then(function (t) {
+                    _.context().set("lastAddedDashboard", e),
+                      _.context().set("lastAddedDashboardUid", o(t));
+                  });
+            },
+            assertSuccessNotification: function () {
+              _().get(".alert-success").should("exist");
+            },
+            deleteDashboard: function (e) {
+              _().logToConsole("Deleting dashboard with uid:", e),
+                _().request("DELETE", a("/api/dashboards/uid/".concat(e)));
+            },
+            openDashboard: function (e) {
+              _.pages.Dashboard.visit(e);
+            },
+            saveNewDashboard: function () {
+              _.pages.Dashboard.Toolbar.toolbarItems("Save dashboard").click();
+              var e = "e2e-".concat(new Date().getTime());
+              return (
+                _.pages.SaveDashboardAsModal.newName().clear(),
+                _.pages.SaveDashboardAsModal.newName().type(e),
+                _.pages.SaveDashboardAsModal.save().click(),
+                _.flows.assertSuccessNotification(),
+                e
+              );
+            },
+            saveDashboard: function () {
+              _.pages.Dashboard.Toolbar.toolbarItems("Save dashboard").click(),
+                _.pages.SaveDashboardModal.save().click(),
+                _.flows.assertSuccessNotification();
+            },
+          },
+        },
+        _ = Object.assign(function () {
+          return cy;
+        }, A);
+      n.d(t, "a", function () {
+        return _;
+      });
+    },
+    "1kYe": function (e, t) {
+      var n = "public/app/plugins/datasource/mssql/partials/config.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '\n<h3 class=page-heading>MSSQL Connection</h3>\n\n<div class=gf-form-group>\n\t<div class="gf-form max-width-30">\n\t\t<span class="gf-form-label width-7">Host</span>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.current.url placeholder=localhost:1433 bs-typeahead="{{[\'localhost\', \'localhost:1433\']}}" required>\n\t</div>\n\n\t<div class="gf-form max-width-30">\n\t\t<span class="gf-form-label width-7">Database</span>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.current.database placeholder="database name" required>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class="gf-form max-width-15">\n\t\t\t<span class="gf-form-label width-7">User</span>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.current.user placeholder=user>\n\t\t</div>\n    <div class=gf-form>\n      <secret-form-field isconfigured=ctrl.current.secureJsonFields.password value=ctrl.current.secureJsonData.password on-reset=ctrl.onPasswordReset on-change=ctrl.onPasswordChange inputwidth=9 />\n    </div>\n\t</div>\n\n\t<div class=gf-form>\n\t\t<label class="gf-form-label width-7">Encrypt</label>\n\t\t<div class="gf-form-select-wrapper max-width-15 gf-form-select-wrapper--has-help-icon">\n\t\t\t<select class=gf-form-input ng-model=ctrl.current.jsonData.encrypt ng-options="mode for mode in [\'disable\', \'false\', \'true\']" ng-init=ctrl.current.jsonData.encrypt></select>\n\t\t\t<info-popover mode=right-absolute>\n\t\t\t\tDetermines whether or to which extent a secure SSL TCP/IP connection will be negotiated with the server.\n\t\t\t\t<ul>\n\t\t\t\t\t<li><i>disable</i> - Data sent between client and server is not encrypted.</li>\n\t\t\t\t\t<li><i>false</i> - Data sent between client and server is not encrypted beyond the login packet. (default)</li>\n\t\t\t\t\t<li><i>true</i> - Data sent between client and server is encrypted.</li>\n\t\t\t\t</ul>\n\t\t\t\tIf you\'re using an older version of Microsoft SQL Server like 2008 and 2008R2 you may need to disable encryption to be able to connect.\n\t\t\t</info-popover>\n\t\t</div>\n\t</div>\n</div>\n\n<b>Connection limits</b>\n\n<div class=gf-form-group>\n\t<div class="gf-form max-width-15">\n\t\t<span class="gf-form-label width-7">Max open</span>\n\t\t<input type=number min=0 class="gf-form-input gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.maxOpenConns placeholder=unlimited>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum number of open connections to the database. If <i>Max idle connections</i> is greater than 0 and the\n\t\t\t<i>Max open connections</i> is less than <i>Max idle connections</i>, then <i>Max idle connections</i> will be\n\t\t\treduced to match the <i>Max open connections</i> limit. If set to 0, there is no limit on the number of open\n\t\t\tconnections.\n\t\t</info-popover>\n\t</div>\n\t<div class="gf-form max-width-15">\n\t\t<span class="gf-form-label width-7">Max idle</span>\n\t\t<input type=number min=0 class="gf-form-input gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.maxIdleConns placeholder=2>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum number of connections in the idle connection pool. If <i>Max open connections</i> is greater than 0 but\n\t\t\tless than the <i>Max idle connections</i>, then the <i>Max idle connections</i> will be reduced to match the\n\t\t\t<i>Max open connections</i> limit. If set to 0, no idle connections are retained.\n\t\t</info-popover>\n\t</div>\n\t<div class="gf-form max-width-15">\n\t\t<span class="gf-form-label width-7">Max lifetime</span>\n\t\t<input type=number min=0 class="gf-form-input gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.connMaxLifetime placeholder=14400>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum amount of time in seconds a connection may be reused. If set to 0, connections are reused forever.\n\t\t</info-popover>\n\t</div>\n</div>\n\n<h3 class=page-heading>MSSQL details</h3>\n\n<div class=gf-form-group>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-9">Min time interval</span>\n\t\t\t<input type=text class="gf-form-input width-6 gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.timeInterval spellcheck=false placeholder=1m ng-pattern=/^\\d+(ms|[Mwdhmsy])$/ >\n\t\t\t<info-popover mode=right-absolute>\n\t\t\t\tA lower limit for the auto group by time interval. Recommended to be set to write frequency,\n\t\t\t\tfor example <code>1m</code> if your data is written every minute.\n\t\t\t</info-popover>\n\t\t</div>\n\t</div>\n</div>\n\n<div class=gf-form-group>\n\t<div class=grafana-info-box>\n\t\t<h5>User Permission</h5>\n\t\t<p>\n\t\t\tThe database user should only be granted SELECT permissions on the specified database &amp; tables you want to query.\n\t\t\tGrafana does not validate that queries are safe so queries can contain any SQL statement. For example, statements\n\t\t\tlike <code>USE otherdb;</code> and <code>DROP TABLE user;</code> would be executed. To protect against this we\n\t\t\t<strong>Highly</strong> recommmend you create a specific MSSQL user with restricted permissions.\n\t\t</p>\n\t</div>\n</div>\n\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "1yDb": function (e, t) {
+      var n = "public/app/features/admin/partials/edit_org.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<page-header model=navModel></page-header>\n\n<div class="page-container page-body">\n\t<h3 class=page-sub-heading>Edit Organization</h3>\n\n\t<form name=orgDetailsForm class=gf-form-group>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-10">Name</span>\n\t\t\t<input type=text required ng-model=org.name class="gf-form-input max-width-14">\n\t\t</div>\n\n\t\t<div class=gf-form-button-row>\n\t\t\t<button type=submit class="btn btn-primary" ng-click=update() ng-show=!createMode>Update</button>\n\t\t</div>\n\t</form>\n\n\t<h3 class=page-heading>Organization Users</h3>\n\n\t<table class=filter-table>\n\t\t<tr>\n\t\t\t<th>Username</th>\n\t\t\t<th>Email</th>\n\t\t\t<th>Role</th>\n\t\t\t<th></th>\n\t\t</tr>\n\t\t<tr ng-repeat="orgUser in orgUsers">\n\t\t\t<td>{{orgUser.login}}</td>\n\t\t\t<td>{{orgUser.email}}</td>\n\t\t\t<td>\n        <div class=gf-form>\n          <span class=gf-form-select-wrapper>\n              <select type=text ng-model=orgUser.role class="gf-form-input max-width-8" ng-options="f for f in [\'Viewer\', \'Editor\', \'Admin\']" ng-change=updateOrgUser(orgUser)>\n              </select>\n          </span>\n        </div>\n\t\t\t</td>\n\t\t\t<td style=width:1%>\n\t\t\t\t<a ng-click=removeOrgUser(orgUser) class="btn btn-danger btn-small">\n\t\t\t\t\t<i class="fa fa-remove"></i>\n\t\t\t\t</a>\n\t\t\t</td>\n\t\t</tr>\n\t</table>\n</div>\n\n<footer/>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "2KQq": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return r;
+      });
+      var r = function (e) {
+        return function (t) {
+          return t.finally(e.$evalAsync);
+        };
+      };
+    },
+    "2L+O": function (e, t, n) {
+      "use strict";
+      var r, a;
+      n.d(t, "b", function () {
+        return r;
+      }),
+        n.d(t, "a", function () {
+          return a;
+        }),
+        n.d(t, "c", function () {
+          return o;
+        }),
+        (function (e) {
+          (e.Home = "home-dashboard"),
+            (e.New = "new-dashboard"),
+            (e.Normal = "normal-dashboard"),
+            (e.Scripted = "scripted-dashboard");
+        })(r || (r = {})),
+        (function (e) {
+          (e.NotStarted = "Not started"),
+            (e.Fetching = "Fetching"),
+            (e.Services = "Services"),
+            (e.Failed = "Failed"),
+            (e.Completed = "Completed");
+        })(a || (a = {}));
+      var o = "tv";
+    },
+    "2L8i": function (e, t) {
+      var n, r, a, o, i;
+      (n = document),
+        (r = n.createElement("STYLE")),
+        (a = "addEventListener" in n),
+        (o = function (e, t) {
+          a ? n.addEventListener(e, t) : n.attachEvent("on" + e, t);
+        }),
+        (i = function (e) {
+          r.styleSheet ? (r.styleSheet.cssText = e) : (r.innerHTML = e);
+        }),
+        n.getElementsByTagName("HEAD")[0].appendChild(r),
+        o("mousedown", function () {
+          i(":focus{outline:0 !important}::-moz-focus-inner{border:0;}");
+        }),
+        o("keydown", function () {
+          i("");
+        });
+    },
+    "2euF": function (e, t) {
+      var n = "public/app/plugins/panel/singlestat/mappings.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=editor-row>\n  <div class=gf-form-group>\n    <div class=gf-form>\n        <span class=gf-form-label>\n          Type\n        </span>\n        <div class=gf-form-select-wrapper>\n          <select class=gf-form-input ng-model=ctrl.panel.mappingType ng-options="f.value as f.name for f in ctrl.panel.mappingTypes" ng-change=ctrl.refresh()></select>\n        </div>\n    </div>\n  </div>\n</div>\n<div class=editor-row ng-if="ctrl.panel.mappingType==1">\n  <h5 class=section-heading>Set value mappings</h5>\n  <div class=gf-form-group>\n    <div class=gf-form ng-repeat="map in ctrl.panel.valueMaps">\n      <span class=gf-form-label>\n        <i class="fa fa-remove pointer" ng-click=ctrl.removeValueMap(map)></i>\n      </span>\n      <input type=text ng-model=map.value placeholder=value class="gf-form-input max-width-6" ng-blur=ctrl.refresh()>\n      <span class=gf-form-label>\n        <i class="fa fa-arrow-right"></i>\n      </span>\n      <input type=text placeholder=text ng-model=map.text class="gf-form-input max-width-8" ng-blur=ctrl.refresh()>\n    </div>\n\n    <div class=gf-form-button-row>\n      <button class="btn btn-inverse" ng-click=ctrl.addValueMap();>\n        <i class="fa fa-plus"></i>\n        Add a value mapping\n      </button>\n    </div>\n  </div>\n</div>\n<div class=editor-row ng-if="ctrl.panel.mappingType==2">\n  <h5 class=section-heading>Set range mappings</h5>\n  <div class=gf-form-group>\n    <div class=gf-form ng-repeat="rangeMap in ctrl.panel.rangeMaps">\n        <span class=gf-form-label>\n          <i class="fa fa-remove pointer" ng-click=ctrl.removeRangeMap(rangeMap)></i>\n        </span>\n        <span class=gf-form-label>From</span>\n        <input type=text ng-model=rangeMap.from class="gf-form-input max-width-6" ng-blur=ctrl.refresh()>\n        <span class=gf-form-label>To</span>\n        <input type=text ng-model=rangeMap.to class="gf-form-input max-width-6" ng-blur=ctrl.refresh()>\n        <span class=gf-form-label>Text</span>\n        <input type=text ng-model=rangeMap.text class="gf-form-input max-width-8" ng-blur=ctrl.refresh()>\n    </div>\n\n    <div class=gf-form-button-row>\n      <button class="btn btn-inverse" ng-click=ctrl.addRangeMap()>\n        <i class="fa fa-plus"></i>\n        Add a range mapping\n      </button>\n    </div>\n  </div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "2k1X": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return p;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("Obii"),
+        i = n("kDLi");
+      function l(e) {
+        return (l =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function s(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function c(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function u(e, t) {
+        return !t || ("object" !== l(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function f(e) {
+        return (f = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function d(e, t) {
+        return (d =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var p = (function (e) {
+        function t() {
+          var e, n;
+          s(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = u(
+              this,
+              (e = f(t)).call.apply(e, [this].concat(a))
+            )).onUserSync = function () {
+              n.props.onUserSync();
+            }),
+            n
+          );
+        }
+        var n, r, l;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && d(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.ldapSyncInfo,
+                  n = e.user,
+                  r = Object(o.dateTime)(t.nextSync).format(
+                    "dddd YYYY-MM-DD HH:mm zz"
+                  ),
+                  l = t && t.prevSync,
+                  s = l
+                    ? Object(o.dateTime)(t.prevSync.started).format(
+                        "dddd YYYY-MM-DD HH:mm zz"
+                      )
+                    : "",
+                  c = "".concat("/admin/ldap", "?user=").concat(n && n.login);
+                return a.a.createElement(
+                  a.a.Fragment,
+                  null,
+                  a.a.createElement(
+                    "h3",
+                    { className: "page-heading" },
+                    "LDAP Synchronisation"
+                  ),
+                  a.a.createElement(
+                    "div",
+                    { className: "gf-form-group" },
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form" },
+                      a.a.createElement(
+                        "table",
+                        { className: "filter-table form-inline" },
+                        a.a.createElement(
+                          "tbody",
+                          null,
+                          a.a.createElement(
+                            "tr",
+                            null,
+                            a.a.createElement("td", null, "External sync"),
+                            a.a.createElement(
+                              "td",
+                              null,
+                              "User synced via LDAP – some changes must be done in LDAP or mappings."
+                            ),
+                            a.a.createElement(
+                              "td",
+                              null,
+                              a.a.createElement(
+                                "span",
+                                { className: "label label-tag" },
+                                "LDAP"
+                              )
+                            )
+                          ),
+                          a.a.createElement(
+                            "tr",
+                            null,
+                            t.enabled
+                              ? a.a.createElement(
+                                  a.a.Fragment,
+                                  null,
+                                  a.a.createElement(
+                                    "td",
+                                    null,
+                                    "Next scheduled synchronisation"
+                                  ),
+                                  a.a.createElement("td", { colSpan: 2 }, r)
+                                )
+                              : a.a.createElement(
+                                  a.a.Fragment,
+                                  null,
+                                  a.a.createElement(
+                                    "td",
+                                    null,
+                                    "Next scheduled synchronisation"
+                                  ),
+                                  a.a.createElement(
+                                    "td",
+                                    { colSpan: 2 },
+                                    "Not enabled"
+                                  )
+                                )
+                          ),
+                          a.a.createElement(
+                            "tr",
+                            null,
+                            l
+                              ? a.a.createElement(
+                                  a.a.Fragment,
+                                  null,
+                                  a.a.createElement(
+                                    "td",
+                                    null,
+                                    "Last synchronisation"
+                                  ),
+                                  a.a.createElement("td", null, s),
+                                  a.a.createElement("td", null, "Successful")
+                                )
+                              : a.a.createElement(
+                                  "td",
+                                  { colSpan: 3 },
+                                  "Last synchronisation"
+                                )
+                          )
+                        )
+                      )
+                    ),
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form-button-row" },
+                      a.a.createElement(
+                        i.Button,
+                        { variant: "secondary", onClick: this.onUserSync },
+                        "Sync user"
+                      ),
+                      a.a.createElement(
+                        i.LinkButton,
+                        { variant: "inverse", href: c },
+                        "Debug LDAP Mapping"
+                      )
+                    )
+                  )
+                );
+              },
+            },
+          ]) && c(n.prototype, r),
+          l && c(n, l),
+          t
+        );
+      })(r.PureComponent);
+    },
+    "2kIT": function (e, t, n) {
+      "use strict";
+      function r(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function a(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      n.d(t, "a", function () {
+        return o;
+      });
+      var o = (function () {
+        function e(t) {
+          var n = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.init = t),
+            (this.ordered = []),
+            (this.byId = new Map()),
+            (this.initialized = !1),
+            (this.setInit = function (e) {
+              if (n.initialized)
+                throw new Error("Registry already initialized");
+              n.init = e;
+            });
+        }
+        var t, n, o;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "getIfExists",
+              value: function (e) {
+                if (!this.initialized) {
+                  if (this.init) {
+                    var t = !0,
+                      n = !1,
+                      r = void 0;
+                    try {
+                      for (
+                        var a, o = this.init()[Symbol.iterator]();
+                        !(t = (a = o.next()).done);
+                        t = !0
+                      ) {
+                        var i = a.value;
+                        this.register(i);
+                      }
+                    } catch (e) {
+                      (n = !0), (r = e);
+                    } finally {
+                      try {
+                        t || null == o.return || o.return();
+                      } finally {
+                        if (n) throw r;
+                      }
+                    }
+                  }
+                  this.sort(), (this.initialized = !0);
+                }
+                if (e) return this.byId.get(e);
+              },
+            },
+            {
+              key: "get",
+              value: function (e) {
+                var t = this.getIfExists(e);
+                if (!t) throw new Error("Undefined: " + e);
+                return t;
+              },
+            },
+            {
+              key: "selectOptions",
+              value: function (e, t) {
+                this.initialized || this.getIfExists("xxx");
+                var n = { options: [], current: [] },
+                  r = {};
+                if (e) {
+                  var a = !0,
+                    o = !1,
+                    i = void 0;
+                  try {
+                    for (
+                      var l, s = e[Symbol.iterator]();
+                      !(a = (l = s.next()).done);
+                      a = !0
+                    )
+                      r[l.value] = !0;
+                  } catch (e) {
+                    (o = !0), (i = e);
+                  } finally {
+                    try {
+                      a || null == s.return || s.return();
+                    } finally {
+                      if (o) throw i;
+                    }
+                  }
+                }
+                var c = !0,
+                  u = !1,
+                  f = void 0;
+                try {
+                  for (
+                    var d, p = this.ordered[Symbol.iterator]();
+                    !(c = (d = p.next()).done);
+                    c = !0
+                  ) {
+                    var h = d.value;
+                    if (!h.excludeFromPicker && (!t || t(h))) {
+                      var m = {
+                        value: h.id,
+                        label: h.name,
+                        description: h.description,
+                      };
+                      n.options.push(m), r[h.id] && n.current.push(m);
+                    }
+                  }
+                } catch (e) {
+                  (u = !0), (f = e);
+                } finally {
+                  try {
+                    c || null == p.return || p.return();
+                  } finally {
+                    if (u) throw f;
+                  }
+                }
+                return n;
+              },
+            },
+            {
+              key: "list",
+              value: function (e) {
+                if (e) {
+                  var t = [],
+                    n = !0,
+                    a = !1,
+                    o = void 0;
+                  try {
+                    for (
+                      var i, l = e[Symbol.iterator]();
+                      !(n = (i = l.next()).done);
+                      n = !0
+                    ) {
+                      var s = i.value,
+                        c = this.getIfExists(s);
+                      c && t.push(c);
+                    }
+                  } catch (e) {
+                    (a = !0), (o = e);
+                  } finally {
+                    try {
+                      n || null == l.return || l.return();
+                    } finally {
+                      if (a) throw o;
+                    }
+                  }
+                  return t;
+                }
+                return (
+                  this.initialized || this.getIfExists("xxx"), r(this.ordered)
+                );
+              },
+            },
+            {
+              key: "register",
+              value: function (e) {
+                if (this.byId.has(e.id))
+                  throw new Error("Duplicate Key:" + e.id);
+                if (
+                  (this.byId.set(e.id, e), this.ordered.push(e), e.aliasIds)
+                ) {
+                  var t = !0,
+                    n = !1,
+                    r = void 0;
+                  try {
+                    for (
+                      var a, o = e.aliasIds[Symbol.iterator]();
+                      !(t = (a = o.next()).done);
+                      t = !0
+                    ) {
+                      var i = a.value;
+                      this.byId.has(i) || this.byId.set(i, e);
+                    }
+                  } catch (e) {
+                    (n = !0), (r = e);
+                  } finally {
+                    try {
+                      t || null == o.return || o.return();
+                    } finally {
+                      if (n) throw r;
+                    }
+                  }
+                }
+                this.initialized && this.sort();
+              },
+            },
+            { key: "sort", value: function () {} },
+          ]) && a(t.prototype, n),
+          o && a(t, o),
+          e
+        );
+      })();
+    },
+    "2l57": function (e, t, n) {
+      "use strict";
+      var r;
+      !(function (e) {
+        (e.DashHitDB = "dash-db"),
+          (e.DashHitHome = "dash-home"),
+          (e.DashHitFolder = "dash-folder");
+      })(r || (r = {}));
+    },
+    "2nhE": function (e, t, n) {
+      "use strict";
+      function r(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      n.d(t, "b", function () {
+        return a;
+      }),
+        n.d(t, "a", function () {
+          return o;
+        });
+      var a = function () {
+          return {
+            type: "query",
+            query: { params: ["A", "5m", "now"] },
+            reducer: { type: "avg", params: [] },
+            evaluator: { type: "gt", params: [null] },
+            operator: { type: "and" },
+          };
+        },
+        o = (function () {
+          var e,
+            t =
+              ((e = regeneratorRuntime.mark(function e(t, n, r, a) {
+                var o, i, l, s, c, u, f, d, p, h;
+                return regeneratorRuntime.wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          if (0 !== n.length) {
+                            e.next = 2;
+                            break;
+                          }
+                          return e.abrupt(
+                            "return",
+                            "Could not find any metric queries"
+                          );
+                        case 2:
+                          if (!t || !t.length) {
+                            e.next = 4;
+                            break;
+                          }
+                          return e.abrupt(
+                            "return",
+                            "Transformations are not supported in alert queries"
+                          );
+                        case 4:
+                          (o = 0),
+                            (i = 0),
+                            (l = !0),
+                            (s = !1),
+                            (c = void 0),
+                            (e.prev = 9),
+                            (u = n[Symbol.iterator]());
+                        case 11:
+                          if ((l = (f = u.next()).done)) {
+                            e.next = 21;
+                            break;
+                          }
+                          return (
+                            (d = f.value),
+                            (p = d.datasource || a),
+                            (e.next = 16),
+                            r.get(p)
+                          );
+                        case 16:
+                          (h = e.sent).meta.alerting
+                            ? h.targetContainsTemplate &&
+                              h.targetContainsTemplate(d) &&
+                              i++
+                            : o++;
+                        case 18:
+                          (l = !0), (e.next = 11);
+                          break;
+                        case 21:
+                          e.next = 27;
+                          break;
+                        case 23:
+                          (e.prev = 23),
+                            (e.t0 = e.catch(9)),
+                            (s = !0),
+                            (c = e.t0);
+                        case 27:
+                          (e.prev = 27),
+                            (e.prev = 28),
+                            l || null == u.return || u.return();
+                        case 30:
+                          if (((e.prev = 30), !s)) {
+                            e.next = 33;
+                            break;
+                          }
+                          throw c;
+                        case 33:
+                          return e.finish(30);
+                        case 34:
+                          return e.finish(27);
+                        case 35:
+                          if (o !== n.length) {
+                            e.next = 37;
+                            break;
+                          }
+                          return e.abrupt(
+                            "return",
+                            "The datasource does not support alerting queries"
+                          );
+                        case 37:
+                          if (i !== n.length) {
+                            e.next = 39;
+                            break;
+                          }
+                          return e.abrupt(
+                            "return",
+                            "Template variables are not supported in alert queries"
+                          );
+                        case 39:
+                          return e.abrupt("return", "");
+                        case 40:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  null,
+                  [
+                    [9, 23, 27, 35],
+                    [28, , 30, 34],
+                  ]
+                );
+              })),
+              function () {
+                var t = this,
+                  n = arguments;
+                return new Promise(function (a, o) {
+                  var i = e.apply(t, n);
+                  function l(e) {
+                    r(i, a, o, l, s, "next", e);
+                  }
+                  function s(e) {
+                    r(i, a, o, l, s, "throw", e);
+                  }
+                  l(void 0);
+                });
+              });
+          return function (e, n, r, a) {
+            return t.apply(this, arguments);
+          };
+        })();
+    },
+    "2r/H": function (e, t, n) {
+      "use strict";
+      var r;
+      n.d(t, "a", function () {
+        return r;
+      }),
+        (function (e) {
+          e.GroupTitle = "GroupTitle";
+        })(r || (r = {}));
+    },
+    "2rVl": function (e, t) {
+      var n =
+        "public/app/plugins/datasource/graphite/partials/annotations.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=gf-form-group>\n  <div class=gf-form>\n    <span class="gf-form-label width-12">Graphite query</span>\n    <input type=text class=gf-form-input ng-model=ctrl.annotation.target placeholder="Example: statsd.application.counters.*.count">\n  </div>\n\n\t<h5 class=section-heading>Or</h5>\n\n  <div class=gf-form>\n    <span class="gf-form-label width-12">Graphite events tags</span>\n    <input type=text class=gf-form-input ng-model=ctrl.annotation.tags placeholder="Example: event_tag_name">\n  </div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "2t1j": function (e, t, n) {
+      "use strict";
+      var r = n("+2Rf"),
+        a = n.n(r),
+        o = n("LvDl"),
+        i = n.n(o),
+        l = n("KHwQ"),
+        s = n.n(l),
+        c = n("1gCF"),
+        u = n("HJRA"),
+        f = n("ZFWI"),
+        d = n("NXk7"),
+        p = n("GQ3c"),
+        h = n("Obii"),
+        m = n("2KQq"),
+        g = n("UIT+");
+      function b(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var v = (function () {
+        function e(t, n, r, a, o) {
+          var i = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$scope = t),
+            (this.$route = n),
+            (this.$location = r),
+            (this.$rootScope = a),
+            (this.dashboardSrv = o),
+            (this.onFolderChange = function (e) {
+              (i.dashboard.meta.folderId = e.id),
+                (i.dashboard.meta.folderTitle = e.title),
+                (i.hasUnsavedFolderChange = !0);
+            }),
+            (this.getDashboard = function () {
+              return i.dashboard;
+            }),
+            (t.dashboard = this.dashboard),
+            this.$scope.$on("$destroy", function () {
+              i.dashboard.updateSubmenuVisibility(),
+                setTimeout(function () {
+                  i.$rootScope.appEvent(p.CoreEvents.dashScroll, {
+                    restore: !0,
+                  }),
+                    i.dashboard.startRefresh();
+                });
+            }),
+            (this.canSaveAs = u.b.hasEditPermissionInFolders),
+            (this.canSave = this.dashboard.meta.canSave),
+            (this.canDelete = this.dashboard.meta.canSave),
+            this.buildSectionList(),
+            this.onRouteUpdated(),
+            this.$rootScope.onAppEvent(
+              p.CoreEvents.routeUpdated,
+              this.onRouteUpdated.bind(this),
+              t
+            ),
+            this.$rootScope.appEvent(p.CoreEvents.dashScroll, {
+              animate: !1,
+              pos: 0,
+            }),
+            u.a.on(p.CoreEvents.dashboardSaved, this.onPostSave.bind(this), t),
+            (this.selectors = c.a.pages.Dashboard.Settings.General.selectors),
+            (this.useAngularTemplating = !Object(f.c)().featureToggles
+              .newVariables);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = [
+            "$scope",
+            "$route",
+            "$location",
+            "$rootScope",
+            "dashboardSrv",
+          ]),
+          (t = e),
+          (n = [
+            {
+              key: "buildSectionList",
+              value: function () {
+                (this.sections = []),
+                  this.dashboard.meta.canEdit &&
+                    (this.sections.push({
+                      title: "General",
+                      id: "settings",
+                      icon: "gicon gicon-preferences",
+                    }),
+                    this.sections.push({
+                      title: "Annotations",
+                      id: "annotations",
+                      icon: "gicon gicon-annotation",
+                    }),
+                    this.sections.push({
+                      title: "Variables",
+                      id: "templating",
+                      icon: "gicon gicon-variable",
+                    }),
+                    this.sections.push({
+                      title: "Links",
+                      id: "links",
+                      icon: "gicon gicon-link",
+                    })),
+                  this.dashboard.id &&
+                    this.dashboard.meta.canSave &&
+                    this.sections.push({
+                      title: "Versions",
+                      id: "versions",
+                      icon: "fa fa-fw fa-history",
+                    }),
+                  this.dashboard.id &&
+                    this.dashboard.meta.canAdmin &&
+                    this.sections.push({
+                      title: "Permissions",
+                      id: "permissions",
+                      icon: "fa fa-fw fa-lock",
+                    }),
+                  this.dashboard.meta.canMakeEditable &&
+                    this.sections.push({
+                      title: "General",
+                      icon: "gicon gicon-preferences",
+                      id: "make_editable",
+                    }),
+                  this.sections.push({
+                    title: "JSON Model",
+                    id: "dashboard_json",
+                    icon: "gicon gicon-json",
+                  });
+                var e = this.$location.search(),
+                  t = this.$location.path(),
+                  n = !0,
+                  r = !1,
+                  o = void 0;
+                try {
+                  for (
+                    var l, s = this.sections[Symbol.iterator]();
+                    !(n = (l = s.next()).done);
+                    n = !0
+                  ) {
+                    var c = l.value,
+                      u = i.a.defaults({ editview: c.id }, e);
+                    c.url = Object(f.c)().appSubUrl + t + "?" + a.a.param(u);
+                  }
+                } catch (e) {
+                  (r = !0), (o = e);
+                } finally {
+                  try {
+                    n || null == s.return || s.return();
+                  } finally {
+                    if (r) throw o;
+                  }
+                }
+              },
+            },
+            {
+              key: "onRouteUpdated",
+              value: function () {
+                (this.viewId = this.$location.search().editview),
+                  this.viewId &&
+                    (this.json = s.a.toJson(
+                      this.dashboard.getSaveModelClone(),
+                      !0
+                    )),
+                  "settings" === this.viewId &&
+                    this.dashboard.meta.canMakeEditable &&
+                    (this.viewId = "make_editable"),
+                  i.a.find(this.sections, { id: this.viewId }) ||
+                    (this.sections.unshift({
+                      title: "Not found",
+                      id: "404",
+                      icon: "fa fa-fw fa-warning",
+                    }),
+                    (this.viewId = "404"));
+              },
+            },
+            {
+              key: "saveDashboardJson",
+              value: function () {
+                var e = this;
+                this.dashboardSrv
+                  .saveJSONDashboard(this.json)
+                  .then(function () {
+                    e.$route.reload();
+                  });
+              },
+            },
+            {
+              key: "onPostSave",
+              value: function () {
+                this.hasUnsavedFolderChange = !1;
+              },
+            },
+            {
+              key: "hideSettings",
+              value: function () {
+                var e = this,
+                  t = this.$location.search();
+                delete t.editview,
+                  setTimeout(function () {
+                    e.$rootScope.$apply(function () {
+                      e.$location.search(t);
+                    });
+                  });
+              },
+            },
+            {
+              key: "makeEditable",
+              value: function () {
+                (this.dashboard.editable = !0),
+                  (this.dashboard.meta.canMakeEditable = !1),
+                  (this.dashboard.meta.canEdit = !0),
+                  (this.dashboard.meta.canSave = !0),
+                  (this.canDelete = !0),
+                  (this.viewId = "settings"),
+                  this.buildSectionList();
+                var e = i.a.find(this.sections, { id: this.viewId });
+                this.$location.url(g.b.stripBaseFromUrl(e.url));
+              },
+            },
+            {
+              key: "deleteDashboard",
+              value: function () {
+                var e = this,
+                  t = "",
+                  n = this.dashboard.title;
+                if (this.dashboard.meta.provisioned)
+                  u.a.emit(p.CoreEvents.showConfirmModal, {
+                    title: "Cannot delete provisioned dashboard",
+                    text:
+                      "\n          This dashboard is managed by Grafanas provisioning and cannot be deleted. Remove the dashboard from the\n          config file to delete it.\n        ",
+                    text2: '\n          <i>See <a class="external-link" href="http://docs.grafana.org/administration/provisioning/#dashboards" target="_blank">\n          documentation</a> for more information about provisioning.</i>\n          </br>\n          File path: '.concat(
+                      this.dashboard.meta.provisionedExternalId,
+                      "\n        "
+                    ),
+                    text2htmlBind: !0,
+                    icon: "fa-trash",
+                    noText: "OK",
+                  });
+                else {
+                  var r = i.a.sumBy(this.dashboard.panels, function (e) {
+                    return e.alert ? 1 : 0;
+                  });
+                  r > 0 &&
+                    ((t = "DELETE"),
+                    (n = "This dashboard contains ".concat(
+                      r,
+                      " alerts. Deleting this dashboard will also delete those alerts"
+                    ))),
+                    u.a.emit(p.CoreEvents.showConfirmModal, {
+                      title: "Delete",
+                      text: "Do you want to delete this dashboard?",
+                      text2: n,
+                      icon: "fa-trash",
+                      confirmText: t,
+                      yesText: "Delete",
+                      onConfirm: function () {
+                        (e.dashboard.meta.canSave = !1),
+                          e.deleteDashboardConfirmed();
+                      },
+                    });
+                }
+              },
+            },
+            {
+              key: "deleteDashboardConfirmed",
+              value: function () {
+                var e = this;
+                Object(m.a)(this.$scope)(
+                  d.b.deleteDashboard(this.dashboard.uid, !1).then(function () {
+                    u.a.emit(h.AppEvents.alertSuccess, [
+                      "Dashboard Deleted",
+                      e.dashboard.title + " has been deleted",
+                    ]),
+                      e.$location.url("/");
+                  })
+                );
+              },
+            },
+            {
+              key: "getFolder",
+              value: function () {
+                return {
+                  id: this.dashboard.meta.folderId,
+                  title: this.dashboard.meta.folderTitle,
+                  url: this.dashboard.meta.folderUrl,
+                };
+              },
+            },
+          ]) && b(t.prototype, n),
+          r && b(t, r),
+          e
+        );
+      })();
+      u.c.directive("dashboardSettings", function () {
+        return {
+          restrict: "E",
+          templateUrl:
+            "public/app/features/dashboard/components/DashboardSettings/template.html",
+          controller: v,
+          bindToController: !0,
+          controllerAs: "ctrl",
+          transclude: !0,
+          scope: { dashboard: "=" },
+        };
+      });
+      var y = n("q1tI"),
+        w = n.n(y),
+        O = n("t8hP");
+      function x(e) {
+        return (x =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function k(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function j(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function S(e, t) {
+        return !t || ("object" !== x(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function E(e) {
+        return (E = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function C(e, t) {
+        return (C =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var P = (function (e) {
+          function t() {
+            return k(this, t), S(this, E(t).apply(this, arguments));
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && C(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value: function () {
+                  var e = Object(O.getAngularLoader)(),
+                    t = { dashboard: this.props.dashboard };
+                  this.angularCmp = e.load(
+                    this.element,
+                    t,
+                    '<dashboard-settings dashboard="dashboard" class="dashboard-settings" />'
+                  );
+                },
+              },
+              {
+                key: "componentWillUnmount",
+                value: function () {
+                  this.angularCmp && this.angularCmp.destroy();
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this;
+                  return w.a.createElement("div", {
+                    className: "panel-height-helper",
+                    ref: function (t) {
+                      return (e.element = t);
+                    },
+                  });
+                },
+              },
+            ]) && j(n.prototype, r),
+            a && j(n, a),
+            t
+          );
+        })(y.PureComponent),
+        T = n("txxJ"),
+        D = n("PbtU");
+      function A(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var _ = (function () {
+        function e() {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.panel = this.dashboard.timepicker),
+            (this.panel.refresh_intervals = this.panel.refresh_intervals || [
+              "5s",
+              "10s",
+              "30s",
+              "1m",
+              "5m",
+              "15m",
+              "30m",
+              "1h",
+              "2h",
+              "1d",
+            ]),
+            f.a.minRefreshInterval &&
+              (this.panel.refresh_intervals = this.filterRefreshRates(
+                this.panel.refresh_intervals
+              ));
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "filterRefreshRates",
+              value: function (e) {
+                return e.filter(function (e) {
+                  return (
+                    D.a.interval_to_ms(e) >
+                    D.a.interval_to_ms(f.a.minRefreshInterval)
+                  );
+                });
+              },
+            },
+          ]) && A(t.prototype, n),
+          r && A(t, r),
+          e
+        );
+      })();
+      T.c.directive("gfTimePickerSettings", function () {
+        return {
+          restrict: "E",
+          template:
+            '\n<div class="editor-row">\n\t<h5 class="section-heading">Time Options</h5>\n\n  <div class="gf-form-group">\n\t\t<div class="gf-form">\n\t\t\t<label class="gf-form-label width-10">Timezone</label>\n\t\t\t<div class="gf-form-select-wrapper">\n\t\t\t\t<select ng-model="ctrl.dashboard.timezone" class=\'gf-form-input\' ng-options="f.value as f.text for f in\n\t\t\t\t  [{value: \'\', text: \'Default\'}, {value: \'browser\', text: \'Local browser time\'},{value: \'utc\', text: \'UTC\'}]">\n\t\t\t\t</select>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class="gf-form">\n\t\t\t<span class="gf-form-label width-10">Auto-refresh</span>\n\t\t\t<input type="text" class="gf-form-input max-width-25" ng-model="ctrl.panel.refresh_intervals" array-join>\n\t\t</div>\n\t\t<div class="gf-form">\n\t\t\t<span class="gf-form-label width-10">Now delay now-</span>\n\t\t\t<input type="text" class="gf-form-input max-width-25" ng-model="ctrl.panel.nowDelay"\n\t\t\t    placeholder="0m"\n\t\t\t    valid-time-span\n\t\t\t    bs-tooltip="\'Enter 1m to ignore the last minute (because it can contain incomplete metrics)\'"\n \t\t\t\t  data-placement="right">\n\t\t</div>\n\n\t\t<gf-form-switch class="gf-form" label="Hide time picker" checked="ctrl.panel.hidden" label-class="width-10">\n\t\t</gf-form-switch>\n\t</div>\n</div>\n',
+          controller: _,
+          bindToController: !0,
+          controllerAs: "ctrl",
+          scope: { dashboard: "=" },
+        };
+      }),
+        n.d(t, "a", function () {
+          return P;
+        });
+    },
+    "2wGe": function (e, t, n) {
+      "use strict";
+      var r, a, o, i;
+      !(function (e) {
+        (e.anyMatch = "anyMatch"),
+          (e.allMatch = "allMatch"),
+          (e.invertMatch = "invertMatch"),
+          (e.alwaysMatch = "alwaysMatch"),
+          (e.neverMatch = "neverMatch");
+      })(r || (r = {})),
+        (function (e) {
+          (e.numeric = "numeric"),
+            (e.time = "time"),
+            (e.byType = "byType"),
+            (e.byName = "byName");
+        })(a || (a = {})),
+        (function (e) {
+          (e.byName = "byName"),
+            (e.byRefId = "byRefId"),
+            (e.byIndex = "byIndex"),
+            (e.byLabel = "byLabel");
+        })(o || (o = {})),
+        (function (e) {
+          (e.append = "append"),
+            (e.reduce = "reduce"),
+            (e.filterFields = "filterFields"),
+            (e.filterFieldsByName = "filterFieldsByName"),
+            (e.filterFrames = "filterFrames"),
+            (e.filterByRefId = "filterByRefId"),
+            (e.noop = "noop");
+        })(i || (i = {}));
+      var l = {
+          id: r.anyMatch,
+          name: "Any",
+          description: "Any child matches (OR)",
+          excludeFromPicker: !0,
+          defaultOptions: [],
+          get: function (e) {
+            var t = e.map(function (e) {
+              return M(e);
+            });
+            return function (e) {
+              var n = !0,
+                r = !1,
+                a = void 0;
+              try {
+                for (
+                  var o, i = t[Symbol.iterator]();
+                  !(n = (o = i.next()).done);
+                  n = !0
+                ) {
+                  if ((0, o.value)(e)) return !0;
+                }
+              } catch (e) {
+                (r = !0), (a = e);
+              } finally {
+                try {
+                  n || null == i.return || i.return();
+                } finally {
+                  if (r) throw a;
+                }
+              }
+              return !1;
+            };
+          },
+          getOptionsDisplayText: function (e) {
+            var t = "",
+              n = !0,
+              r = !1,
+              a = void 0;
+            try {
+              for (
+                var o, i = e[Symbol.iterator]();
+                !(n = (o = i.next()).done);
+                n = !0
+              ) {
+                var l = o.value;
+                t.length > 0 && (t += " OR ");
+                var s = _.get(l.id);
+                t += s.getOptionsDisplayText
+                  ? s.getOptionsDisplayText(l)
+                  : s.name;
+              }
+            } catch (e) {
+              (r = !0), (a = e);
+            } finally {
+              try {
+                n || null == i.return || i.return();
+              } finally {
+                if (r) throw a;
+              }
+            }
+            return t;
+          },
+        },
+        s = {
+          id: r.anyMatch,
+          name: "Any",
+          description: "Any child matches (OR)",
+          excludeFromPicker: !0,
+          defaultOptions: [],
+          get: function (e) {
+            var t = e.map(function (e) {
+              return I(e);
+            });
+            return function (e) {
+              var n = !0,
+                r = !1,
+                a = void 0;
+              try {
+                for (
+                  var o, i = t[Symbol.iterator]();
+                  !(n = (o = i.next()).done);
+                  n = !0
+                ) {
+                  if ((0, o.value)(e)) return !0;
+                }
+              } catch (e) {
+                (r = !0), (a = e);
+              } finally {
+                try {
+                  n || null == i.return || i.return();
+                } finally {
+                  if (r) throw a;
+                }
+              }
+              return !1;
+            };
+          },
+          getOptionsDisplayText: function (e) {
+            var t = "",
+              n = !0,
+              r = !1,
+              a = void 0;
+            try {
+              for (
+                var o, i = e[Symbol.iterator]();
+                !(n = (o = i.next()).done);
+                n = !0
+              ) {
+                var l = o.value;
+                t.length > 0 && (t += " OR ");
+                var s = N.get(l.id);
+                t += s.getOptionsDisplayText
+                  ? s.getOptionsDisplayText(l)
+                  : s.name;
+              }
+            } catch (e) {
+              (r = !0), (a = e);
+            } finally {
+              try {
+                n || null == i.return || i.return();
+              } finally {
+                if (r) throw a;
+              }
+            }
+            return t;
+          },
+        },
+        c = {
+          id: r.allMatch,
+          name: "All",
+          description: "Everything matches (AND)",
+          excludeFromPicker: !0,
+          defaultOptions: [],
+          get: function (e) {
+            var t = e.map(function (e) {
+              return M(e);
+            });
+            return function (e) {
+              var n = !0,
+                r = !1,
+                a = void 0;
+              try {
+                for (
+                  var o, i = t[Symbol.iterator]();
+                  !(n = (o = i.next()).done);
+                  n = !0
+                ) {
+                  if (!(0, o.value)(e)) return !1;
+                }
+              } catch (e) {
+                (r = !0), (a = e);
+              } finally {
+                try {
+                  n || null == i.return || i.return();
+                } finally {
+                  if (r) throw a;
+                }
+              }
+              return !0;
+            };
+          },
+          getOptionsDisplayText: function (e) {
+            var t = "",
+              n = !0,
+              r = !1,
+              a = void 0;
+            try {
+              for (
+                var o, i = e[Symbol.iterator]();
+                !(n = (o = i.next()).done);
+                n = !0
+              ) {
+                var l = o.value;
+                t.length > 0 && (t += " AND ");
+                var s = _.get(l.id);
+                t += s.getOptionsDisplayText
+                  ? s.getOptionsDisplayText(l)
+                  : s.name;
+              }
+            } catch (e) {
+              (r = !0), (a = e);
+            } finally {
+              try {
+                n || null == i.return || i.return();
+              } finally {
+                if (r) throw a;
+              }
+            }
+            return t;
+          },
+        },
+        u = {
+          id: r.allMatch,
+          name: "All",
+          description: "Everything matches (AND)",
+          excludeFromPicker: !0,
+          defaultOptions: [],
+          get: function (e) {
+            var t = e.map(function (e) {
+              return I(e);
+            });
+            return function (e) {
+              var n = !0,
+                r = !1,
+                a = void 0;
+              try {
+                for (
+                  var o, i = t[Symbol.iterator]();
+                  !(n = (o = i.next()).done);
+                  n = !0
+                ) {
+                  if (!(0, o.value)(e)) return !1;
+                }
+              } catch (e) {
+                (r = !0), (a = e);
+              } finally {
+                try {
+                  n || null == i.return || i.return();
+                } finally {
+                  if (r) throw a;
+                }
+              }
+              return !0;
+            };
+          },
+          getOptionsDisplayText: function (e) {
+            var t = "",
+              n = !0,
+              r = !1,
+              a = void 0;
+            try {
+              for (
+                var o, i = e[Symbol.iterator]();
+                !(n = (o = i.next()).done);
+                n = !0
+              ) {
+                var l = o.value;
+                t.length > 0 && (t += " AND ");
+                var s = N.get(l.id);
+                t += s.getOptionsDisplayText
+                  ? s.getOptionsDisplayText(l)
+                  : s.name;
+              }
+            } catch (e) {
+              (r = !0), (a = e);
+            } finally {
+              try {
+                n || null == i.return || i.return();
+              } finally {
+                if (r) throw a;
+              }
+            }
+            return t;
+          },
+        },
+        f = {
+          id: r.invertMatch,
+          name: "NOT",
+          description: "Inverts other matchers",
+          excludeFromPicker: !0,
+          get: function (e) {
+            var t = M(e);
+            return function (e) {
+              return !t(e);
+            };
+          },
+          getOptionsDisplayText: function (e) {
+            var t = _.get(e.id);
+            return (
+              "NOT " +
+              (t.getOptionsDisplayText
+                ? t.getOptionsDisplayText(e.options)
+                : t.name)
+            );
+          },
+        },
+        d = {
+          id: r.invertMatch,
+          name: "NOT",
+          description: "Inverts other matchers",
+          excludeFromPicker: !0,
+          get: function (e) {
+            var t = I(e);
+            return function (e) {
+              return !t(e);
+            };
+          },
+          getOptionsDisplayText: function (e) {
+            var t = N.get(e.id);
+            return (
+              "NOT " +
+              (t.getOptionsDisplayText
+                ? t.getOptionsDisplayText(e.options)
+                : t.name)
+            );
+          },
+        },
+        p = function (e) {
+          return !0;
+        },
+        h = function (e) {
+          return !0;
+        },
+        m = function (e) {
+          return !1;
+        },
+        g = function (e) {
+          return !1;
+        },
+        b = {
+          id: r.alwaysMatch,
+          name: "All Fields",
+          description: "Always Match",
+          get: function (e) {
+            return p;
+          },
+          getOptionsDisplayText: function (e) {
+            return "Always";
+          },
+        },
+        v = {
+          id: r.alwaysMatch,
+          name: "All Frames",
+          description: "Always Match",
+          get: function (e) {
+            return h;
+          },
+          getOptionsDisplayText: function (e) {
+            return "Always";
+          },
+        },
+        y = {
+          id: r.neverMatch,
+          name: "No Fields",
+          description: "Never Match",
+          excludeFromPicker: !0,
+          get: function (e) {
+            return m;
+          },
+          getOptionsDisplayText: function (e) {
+            return "Never";
+          },
+        },
+        w = {
+          id: r.neverMatch,
+          name: "No Frames",
+          description: "Never Match",
+          get: function (e) {
+            return g;
+          },
+          getOptionsDisplayText: function (e) {
+            return "Never";
+          },
+        };
+      var O = n("oOjz"),
+        x = {
+          id: a.byName,
+          name: "Field Name",
+          description: "match the field name",
+          defaultOptions: "/.*/",
+          get: function (e) {
+            var t = Object(O.c)(e);
+            return function (e) {
+              return t.test(e.name);
+            };
+          },
+          getOptionsDisplayText: function (e) {
+            return "Field name: ".concat(e);
+          },
+        },
+        k = {
+          id: o.byName,
+          name: "Frame Name",
+          description: "match the frame name",
+          defaultOptions: "/.*/",
+          get: function (e) {
+            var t = Object(O.c)(e);
+            return function (e) {
+              return t.test(e.name || "");
+            };
+          },
+          getOptionsDisplayText: function (e) {
+            return "Frame name: ".concat(e);
+          },
+        };
+      var j = n("HJqT"),
+        S = {
+          id: a.byType,
+          name: "Field Type",
+          description: "match based on the field type",
+          defaultOptions: j.a.number,
+          get: function (e) {
+            return function (t) {
+              return e === t.type;
+            };
+          },
+          getOptionsDisplayText: function (e) {
+            return "Field type: ".concat(e);
+          },
+        },
+        E = {
+          id: a.numeric,
+          name: "Numeric Fields",
+          description: "Fields with type number",
+          get: function () {
+            return S.get(j.a.number);
+          },
+          getOptionsDisplayText: function () {
+            return "Numeric Fields";
+          },
+        },
+        C = {
+          id: a.time,
+          name: "Time Fields",
+          description: "Fields with type time",
+          get: function () {
+            return S.get(j.a.time);
+          },
+          getOptionsDisplayText: function () {
+            return "Time Fields";
+          },
+        };
+      var P = n("Cawo"),
+        T = {
+          id: o.byRefId,
+          name: "Query refId",
+          description: "match the refId",
+          defaultOptions: "A",
+          get: function (e) {
+            var t = Object(P.h)(e);
+            return function (e) {
+              return t.test(e.refId || "");
+            };
+          },
+          getOptionsDisplayText: function (e) {
+            return "RefID: ".concat(e);
+          },
+        };
+      var D = n("2kIT");
+      function A(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      var _ = new D.a(function () {
+          return [].concat(A([l, c, f, b, y]), A([S, E, C]), A([x]));
+        }),
+        N = new D.a(function () {
+          return [].concat(A([s, u, d, v, w]), A([k]), A([T]));
+        });
+      function M(e) {
+        var t = _.get(e.id);
+        if (!t) throw new Error("Unknown Matcher: " + e.id);
+        return t.get(e.options);
+      }
+      function I(e) {
+        var t = N.get(e.id);
+        if (!t) throw new Error("Unknown Matcher: " + e.id);
+        return t.get(e.options);
+      }
+      var R = n("ir79");
+      function F(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function L(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function V(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? L(Object(n), !0).forEach(function (t) {
+                B(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : L(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function B(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var $ = {
+          id: i.append,
+          name: "Append",
+          description:
+            "Append values into a single DataFrame.  This uses the name as the key",
+          defaultOptions: {},
+          transformer: function (e) {
+            return function (e) {
+              if (e.length < 2) return e;
+              var t = new R.b(),
+                n = !0,
+                r = !1,
+                a = void 0;
+              try {
+                for (
+                  var o, i = e[0].fields[Symbol.iterator]();
+                  !(n = (o = i.next()).done);
+                  n = !0
+                ) {
+                  var l = o.value;
+                  t.addField(V({}, l, { values: F(l.values.toArray()) }));
+                }
+              } catch (e) {
+                (r = !0), (a = e);
+              } finally {
+                try {
+                  n || null == i.return || i.return();
+                } finally {
+                  if (r) throw a;
+                }
+              }
+              for (var s = 1; s < e.length; s++) {
+                for (
+                  var c = e[s], u = c.length, f = 0;
+                  f < c.fields.length;
+                  f++
+                ) {
+                  var d = c.fields[f],
+                    p = t.values[d.name];
+                  p || (p = t.addField(V({}, d, { values: [] }), u).values);
+                  for (var h = 0; h < c.length; h++) p.add(d.values.get(h));
+                }
+                t.validate();
+              }
+              return [t];
+            };
+          },
+        },
+        q = n("ZSVY"),
+        U = n("0uOV"),
+        z = n("0v62");
+      function H(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function G(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? H(Object(n), !0).forEach(function (t) {
+                W(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : H(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function W(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var Q = {
+          id: i.reduce,
+          name: "Reducer",
+          description: "Return a DataFrame with the reduction results",
+          defaultOptions: { reducers: [q.a.min, q.a.max, q.a.mean, q.a.last] },
+          transformer: function (e) {
+            var t = e.fields ? M(e.fields) : p,
+              n = e.reducers && e.reducers.length ? q.b.list(e.reducers) : [],
+              r = n.map(function (e) {
+                return e.id;
+              });
+            return function (e) {
+              var a = [],
+                o = !0,
+                i = !1,
+                l = void 0;
+              try {
+                for (
+                  var s, c = e[Symbol.iterator]();
+                  !(o = (s = c.next()).done);
+                  o = !0
+                ) {
+                  var u = s.value,
+                    f = [],
+                    d = [],
+                    p = {};
+                  f.push(new U.a()),
+                    d.push({
+                      name: "Field",
+                      type: j.a.string,
+                      values: f[0],
+                      config: {},
+                    });
+                  var h = !0,
+                    m = !1,
+                    g = void 0;
+                  try {
+                    for (
+                      var b, v = n[Symbol.iterator]();
+                      !(h = (b = v.next()).done);
+                      h = !0
+                    ) {
+                      var y = b.value,
+                        w = new U.a();
+                      (p[y.id] = w),
+                        f.push(w),
+                        d.push({
+                          name: y.id,
+                          type: j.a.other,
+                          values: f[f.length - 1],
+                          config: { title: y.name },
+                        });
+                    }
+                  } catch (e) {
+                    (m = !0), (g = e);
+                  } finally {
+                    try {
+                      h || null == v.return || v.return();
+                    } finally {
+                      if (m) throw g;
+                    }
+                  }
+                  for (var O = 0; O < u.fields.length; O++) {
+                    var x = u.fields[O];
+                    if (t(x)) {
+                      var k = Object(q.c)({ field: x, reducers: r });
+                      f[0].buffer.push(x.name);
+                      var S = !0,
+                        E = !1,
+                        C = void 0;
+                      try {
+                        for (
+                          var P, T = n[Symbol.iterator]();
+                          !(S = (P = T.next()).done);
+                          S = !0
+                        ) {
+                          var D = P.value,
+                            A = k[D.id];
+                          p[D.id].buffer.push(A);
+                        }
+                      } catch (e) {
+                        (E = !0), (C = e);
+                      } finally {
+                        try {
+                          S || null == T.return || T.return();
+                        } finally {
+                          if (E) throw C;
+                        }
+                      }
+                    }
+                  }
+                  for (var _ = 0, N = d; _ < N.length; _++) {
+                    var M = N[_],
+                      I = Object(z.c)(M);
+                    I && (M.type = I);
+                  }
+                  a.push(G({}, u, { fields: d, length: f[0].length }));
+                }
+              } catch (e) {
+                (i = !0), (l = e);
+              } finally {
+                try {
+                  o || null == c.return || c.return();
+                } finally {
+                  if (i) throw l;
+                }
+              }
+              return a;
+            };
+          },
+        },
+        Y = {
+          id: i.noop,
+          name: "noop",
+          description: "No-operation transformer",
+          defaultOptions: {},
+          transformer: function (e) {
+            return function (e) {
+              return e;
+            };
+          },
+        };
+      function K(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function J(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? K(Object(n), !0).forEach(function (t) {
+                Z(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : K(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Z(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var X = {
+          id: i.filterFields,
+          name: "Filter Fields",
+          description: "select a subset of fields",
+          defaultOptions: { include: { id: a.numeric } },
+          transformer: function (e) {
+            if (!e.include && !e.exclude) return Y.transformer({});
+            var t = e.include ? M(e.include) : null,
+              n = e.exclude ? M(e.exclude) : null;
+            return function (e) {
+              var r = [],
+                a = !0,
+                o = !1,
+                i = void 0;
+              try {
+                for (
+                  var l, s = e[Symbol.iterator]();
+                  !(a = (l = s.next()).done);
+                  a = !0
+                ) {
+                  for (
+                    var c = l.value, u = [], f = 0;
+                    f < c.fields.length;
+                    f++
+                  ) {
+                    var d = c.fields[f];
+                    if (n) {
+                      if (n(d)) continue;
+                      t || u.push(d);
+                    }
+                    t && t(d) && u.push(d);
+                  }
+                  if (u.length) {
+                    var p = J({}, c, { fields: u });
+                    r.push(p);
+                  }
+                }
+              } catch (e) {
+                (o = !0), (i = e);
+              } finally {
+                try {
+                  a || null == s.return || s.return();
+                } finally {
+                  if (o) throw i;
+                }
+              }
+              return r;
+            };
+          },
+        },
+        ee = {
+          id: i.filterFrames,
+          name: "Filter Frames",
+          description: "select a subset of frames",
+          defaultOptions: {},
+          transformer: function (e) {
+            if (!e.include && !e.exclude) return Y.transformer({});
+            var t = e.include ? I(e.include) : null,
+              n = e.exclude ? I(e.exclude) : null;
+            return function (e) {
+              var r = [],
+                a = !0,
+                o = !1,
+                i = void 0;
+              try {
+                for (
+                  var l, s = e[Symbol.iterator]();
+                  !(a = (l = s.next()).done);
+                  a = !0
+                ) {
+                  var c = l.value;
+                  if (n) {
+                    if (n(c)) continue;
+                    t || r.push(c);
+                  }
+                  t && t(c) && r.push(c);
+                }
+              } catch (e) {
+                (o = !0), (i = e);
+              } finally {
+                try {
+                  a || null == s.return || s.return();
+                } finally {
+                  if (o) throw i;
+                }
+              }
+              return r;
+            };
+          },
+        },
+        te = {
+          id: i.filterFieldsByName,
+          name: "Filter fields by name",
+          description: "select a subset of fields",
+          defaultOptions: {},
+          transformer: function (e) {
+            var t = {};
+            return (
+              e.include && (t.include = { id: a.byName, options: e.include }),
+              e.exclude && (t.exclude = { id: a.byName, options: e.exclude }),
+              X.transformer(t)
+            );
+          },
+        },
+        ne = {
+          id: i.filterByRefId,
+          name: "Filter data by query refId",
+          description: "select a subset of results",
+          defaultOptions: {},
+          transformer: function (e) {
+            var t = {};
+            return (
+              e.include && (t.include = { id: o.byRefId, options: e.include }),
+              e.exclude && (t.exclude = { id: o.byRefId, options: e.exclude }),
+              ee.transformer(t)
+            );
+          },
+        };
+      function re(e) {
+        return (re =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function ae(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function oe(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function ie(e, t) {
+        return !t || ("object" !== re(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function le(e) {
+        return (le = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function se(e, t) {
+        return (se =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      function ce(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function ue(e, t) {
+        var n = t,
+          r = !0,
+          a = !1,
+          o = void 0;
+        try {
+          for (
+            var i, l = e[Symbol.iterator]();
+            !(r = (i = l.next()).done);
+            r = !0
+          ) {
+            var s = i.value,
+              c = fe.get(s.id),
+              u = c.transformer(s.options)(n);
+            if (u && u !== n) {
+              var f = !0,
+                d = !1,
+                p = void 0;
+              try {
+                for (
+                  var h, m = u[Symbol.iterator]();
+                  !(f = (h = m.next()).done);
+                  f = !0
+                ) {
+                  var g = h.value;
+                  g.meta || (g.meta = {}),
+                    g.meta.transformations
+                      ? (g.meta.transformations = [].concat(
+                          ce(g.meta.transformations),
+                          [c.id]
+                        ))
+                      : (g.meta.transformations = [c.id]);
+                }
+              } catch (e) {
+                (d = !0), (p = e);
+              } finally {
+                try {
+                  f || null == m.return || m.return();
+                } finally {
+                  if (d) throw p;
+                }
+              }
+              n = u;
+            }
+          }
+        } catch (e) {
+          (a = !0), (o = e);
+        } finally {
+          try {
+            r || null == l.return || l.return();
+          } finally {
+            if (a) throw o;
+          }
+        }
+        return n;
+      }
+      var fe = new ((function (e) {
+        function t() {
+          return ae(this, t), ie(this, le(t).apply(this, arguments));
+        }
+        var n, r, a;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && se(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "append",
+              value: function (e, t) {
+                return $.transformer(t || $.defaultOptions)(e)[0];
+              },
+            },
+            {
+              key: "reduce",
+              value: function (e, t) {
+                return Q.transformer(t)(e);
+              },
+            },
+          ]) && oe(n.prototype, r),
+          a && oe(n, a),
+          t
+        );
+      })(D.a))(function () {
+        return [Y, X, te, ee, ne, $, Q];
+      });
+      n.d(t, "f", function () {
+        return r;
+      }),
+        n.d(t, "b", function () {
+          return a;
+        }),
+        n.d(t, "e", function () {
+          return o;
+        }),
+        n.d(t, "a", function () {
+          return i;
+        }),
+        n.d(t, "i", function () {
+          return _;
+        }),
+        n.d(t, "k", function () {
+          return N;
+        }),
+        n.d(t, "l", function () {
+          return M;
+        }),
+        n.d(t, "m", function () {
+          return I;
+        }),
+        n.d(t, "o", function () {
+          return ue;
+        }),
+        n.d(t, "p", function () {
+          return fe;
+        }),
+        n.d(t, "h", function () {
+          return q.a;
+        }),
+        n.d(t, "n", function () {
+          return q.c;
+        }),
+        n.d(t, "j", function () {
+          return q.b;
+        }),
+        n.d(t, "c", function () {}),
+        n.d(t, "d", function () {}),
+        n.d(t, "g", function () {});
+    },
+    "38Hk": function (e, t, n) {
+      "use strict";
+      (function (e) {
+        var r = n("q1tI"),
+          a = n.n(r),
+          o = n("YWTM"),
+          i = n("ZGyg"),
+          l = n("ZFWI"),
+          s = n("/MKj"),
+          c = n("0cfB");
+        function u(e, t) {
+          var n = Object.keys(e);
+          if (Object.getOwnPropertySymbols) {
+            var r = Object.getOwnPropertySymbols(e);
+            t &&
+              (r = r.filter(function (t) {
+                return Object.getOwnPropertyDescriptor(e, t).enumerable;
+              })),
+              n.push.apply(n, r);
+          }
+          return n;
+        }
+        function f(e, t, n) {
+          return (
+            t in e
+              ? Object.defineProperty(e, t, {
+                  value: n,
+                  enumerable: !0,
+                  configurable: !0,
+                  writable: !0,
+                })
+              : (e[t] = n),
+            e
+          );
+        }
+        function d() {
+          return (d =
+            Object.assign ||
+            function (e) {
+              for (var t = 1; t < arguments.length; t++) {
+                var n = arguments[t];
+                for (var r in n)
+                  Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+              }
+              return e;
+            }).apply(this, arguments);
+        }
+        var p = {
+          main: {
+            icon: "gicon gicon-branding",
+            text: "Sign Up",
+            subTitle: "Register your Grafana account",
+            breadcrumbs: [{ title: "Login", url: "login" }],
+          },
+          node: { text: "" },
+        };
+        t.a = Object(c.hot)(e)(
+          Object(s.connect)(function (e) {
+            return (function (e) {
+              for (var t = 1; t < arguments.length; t++) {
+                var n = null != arguments[t] ? arguments[t] : {};
+                t % 2
+                  ? u(Object(n), !0).forEach(function (t) {
+                      f(e, t, n[t]);
+                    })
+                  : Object.getOwnPropertyDescriptors
+                  ? Object.defineProperties(
+                      e,
+                      Object.getOwnPropertyDescriptors(n)
+                    )
+                  : u(Object(n)).forEach(function (t) {
+                      Object.defineProperty(
+                        e,
+                        t,
+                        Object.getOwnPropertyDescriptor(n, t)
+                      );
+                    });
+              }
+              return e;
+            })({}, e.location.routeParams);
+          })(function (e) {
+            return a.a.createElement(
+              i.a,
+              { navModel: p },
+              a.a.createElement(
+                i.a.Contents,
+                null,
+                a.a.createElement(
+                  "h3",
+                  { className: "p-b-1" },
+                  "You're almost there."
+                ),
+                a.a.createElement(
+                  "div",
+                  { className: "p-b-1" },
+                  "We just need a couple of more bits of",
+                  a.a.createElement("br", null),
+                  " information to finish creating your account."
+                ),
+                a.a.createElement(
+                  o.a,
+                  d({}, e, {
+                    verifyEmailEnabled: Object(l.c)().verifyEmailEnabled,
+                    autoAssignOrg: Object(l.c)().autoAssignOrg,
+                  })
+                )
+              )
+            );
+          })
+        );
+      }.call(this, n("3UD+")(e)));
+    },
+    "3CYn": function (e, t) {
+      var n =
+        "public/app/plugins/datasource/loki/partials/annotations.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            "<loki-annotations-query-editor expr=ctrl.annotation.expr on-change=ctrl.onQueryChange datasource=ctrl.datasource />\n"
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "3NGh": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return c;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDDq"),
+        i = n("kDLi");
+      function l() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })([
+          "\n      background: transparent;\n      border: none;\n      padding: 0;\n      margin: 0;\n      outline: none;\n      box-shadow: none;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      position: relative;\n\n      &:before {\n        content: '';\n        display: block;\n        opacity: 1;\n        position: absolute;\n        transition-duration: 0.2s;\n        transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n        z-index: -1;\n        bottom: -10px;\n        left: -10px;\n        right: -10px;\n        top: -10px;\n        background: none;\n        border-radius: 50%;\n        box-sizing: border-box;\n        transform: scale(0);\n        transition-property: transform, opacity;\n      }\n\n      .gicon {\n        font-size: 26px;\n      }\n\n      &:hover {\n        &:before {\n          background-color: ",
+          ";\n          border: none;\n          box-shadow: none;\n          opacity: 1;\n          transform: scale(0.8);\n        }\n      }\n    ",
+        ]);
+        return (
+          (l = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function s() {
+        return (s =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      var c = function (e) {
+        var t = Object(i.useTheme)(),
+          n = u(t);
+        return a.a.createElement(
+          i.Tooltip,
+          { content: "Go back (Esc)", placement: "bottom" },
+          a.a.createElement(
+            "button",
+            s({ className: n.wrapper }, e),
+            a.a.createElement("i", { className: "gicon gicon-arrow-left" })
+          )
+        );
+      };
+      c.displayName = "BackButton";
+      var u = Object(i.stylesFactory)(function (e) {
+        var t = Object(i.selectThemeVariant)(
+          { dark: e.colors.gray15, light: e.colors.gray85 },
+          e.type
+        );
+        return { wrapper: Object(o.css)(l(), t) };
+      });
+    },
+    "3SGO": function (e, t, n) {
+      "use strict";
+      var r = n("vMjj");
+      n.d(t, "b", function () {
+        return r.c;
+      }),
+        n.d(t, "a", function () {
+          return r.b;
+        });
+      var a = n("13X4");
+      n.d(t, "c", function () {
+        return a.b;
+      });
+      var o = n("R9Tc");
+      n.d(t, "d", function () {
+        return o.c;
+      });
+    },
+    "3Tvq": function (e, t, n) {
+      "use strict";
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("SMGL");
+      function i(e) {
+        return (i =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function l(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function s(e, t) {
+        return !t || ("object" !== i(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function c(e) {
+        return (c = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function u(e, t) {
+        return (u =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var f = (function (e) {
+          function t(e) {
+            var n;
+            !(function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+              ((n = s(this, c(t).call(this, e))).onSaveToStore = function (e) {
+                var t = n.props.storageKey;
+                o.a.setObject(t, e), n.setState({ value: e });
+              });
+            var r = e.storageKey,
+              a = e.defaultValue;
+            return (n.state = { value: o.a.getObject(r, a) }), n;
+          }
+          var n, r, i;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && u(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props.children,
+                    t = this.state.value;
+                  return a.a.createElement(
+                    a.a.Fragment,
+                    null,
+                    e(t, this.onSaveToStore)
+                  );
+                },
+              },
+            ]) && l(n.prototype, r),
+            i && l(n, i),
+            t
+          );
+        })(r.PureComponent),
+        d = n("Obii"),
+        p = n("3VL2");
+      function h(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function m() {
+        return (m =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      n.d(t, "a", function () {
+        return g;
+      });
+      var g = function (e) {
+        return a.a.createElement(
+          f,
+          {
+            storageKey: "grafana.dashboard.timepicker.history",
+            defaultValue: [],
+          },
+          function (t, n) {
+            return a.a.createElement(
+              p.a,
+              m({}, e, {
+                history:
+                  ((r = t),
+                  r.map(function (e) {
+                    return Object(d.isDateTime)(e.from)
+                      ? e
+                      : {
+                          from: Object(d.dateTime)(e.from),
+                          to: Object(d.dateTime)(e.to),
+                          raw: e.raw,
+                        };
+                  })),
+                onChange: function (r) {
+                  !(function (e, t, n) {
+                    if (
+                      !(function (e) {
+                        return (
+                          Object(d.isDateTime)(e.raw.from) ||
+                          Object(d.isDateTime)(e.raw.to)
+                        );
+                      })(e)
+                    )
+                      return;
+                    var r = (function (e) {
+                      return e.slice(0, 4);
+                    })([e].concat(h(t)));
+                    n(r);
+                  })(r, t, n),
+                    e.onChange(r);
+                },
+              })
+            );
+            var r;
+          }
+        );
+      };
+    },
+    "3VL2": function (e, t, n) {
+      "use strict";
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDDq"),
+        i = n("5/7A"),
+        l = n("lSEo"),
+        s = n("MIBK"),
+        c = n("Obii");
+      function u() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })([
+          "\n      font-size: ",
+          ";\n      font-weight: ",
+          ";\n      color: ",
+          ";\n    ",
+        ]);
+        return (
+          (u = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      var f = Object(s.g)(function (e) {
+          return {
+            text: Object(o.css)(
+              u(),
+              e.typography.size.md,
+              e.typography.weight.semibold,
+              e.colors.formLabel
+            ),
+          };
+        }),
+        d = Object(r.memo)(function (e) {
+          var t = e.children,
+            n = Object(s.h)(),
+            r = f(n);
+          return a.a.createElement("span", { className: r.text }, t);
+        }),
+        p = function (e, t, n) {
+          return Object(c.isDateTime)(e)
+            ? e
+            : -1 !== e.indexOf("now")
+            ? (c.dateMath.isValid(e) && c.dateMath.parse(e, t, n)) ||
+              Object(c.dateTime)()
+            : Object(c.dateTimeForTimeZone)(n, e, c.TIME_FORMAT);
+        },
+        h = function (e, t, n) {
+          return Object(c.isDateTime)(e)
+            ? "utc" === n
+              ? e.utc()
+              : e
+            : -1 !== e.indexOf("now")
+            ? (c.dateMath.isValid(e) && c.dateMath.parse(e, t, n)) ||
+              Object(c.dateTime)()
+            : Object(c.dateTimeForTimeZone)(n, e, c.TIME_FORMAT);
+        },
+        m = function (e, t) {
+          return Object(c.isDateTime)(e)
+            ? "utc" === t
+              ? e.utc().format(c.TIME_FORMAT)
+              : e.format(c.TIME_FORMAT)
+            : e;
+        },
+        g = n("sQeT"),
+        b = n.n(g),
+        v = n("lcef"),
+        y = n("BC3V"),
+        w = n("eGKl"),
+        O = function (e) {
+          return {
+            border: Object(w.a)(
+              { light: e.colors.gray4, dark: e.colors.gray25 },
+              e.type
+            ),
+            background: Object(w.a)(
+              { dark: e.colors.dark2, light: e.background.dropdown },
+              e.type
+            ),
+            shadow: Object(w.a)(
+              { light: e.colors.gray85, dark: e.colors.black },
+              e.type
+            ),
+            formBackground: Object(w.a)(
+              { dark: e.colors.gray15, light: e.colors.gray98 },
+              e.type
+            ),
+          };
+        },
+        x = n("bTeP");
+      function k(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function j() {
+        var e = M(["\n      cursor: pointer;\n      font-size: ", ";\n    "]);
+        return (
+          (j = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function S() {
+        var e = M([
+          "\n      background-color: ",
+          ";\n      display: flex;\n      justify-content: space-between;\n      padding: 7px;\n    ",
+        ]);
+        return (
+          (S = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function E() {
+        var e = M([
+          "\n      z-index: ",
+          ";\n      background-color: ",
+          ";\n      width: 268px;\n\n      .react-calendar__navigation__label,\n      .react-calendar__navigation__arrow,\n      .react-calendar__navigation {\n        padding-top: 4px;\n        background-color: inherit;\n        color: ",
+          ";\n        border: 0;\n        font-weight: ",
+          ";\n      }\n\n      .react-calendar__month-view__weekdays {\n        background-color: inherit;\n        text-align: center;\n        color: ",
+          ";\n\n        abbr {\n          border: 0;\n          text-decoration: none;\n          cursor: default;\n          display: block;\n          padding: 4px 0 4px 0;\n        }\n      }\n\n      .react-calendar__month-view__days {\n        background-color: inherit;\n      }\n\n      .react-calendar__tile,\n      .react-calendar__tile--now {\n        margin-bottom: 4px;\n        background-color: inherit;\n        height: 26px;\n      }\n\n      .react-calendar__navigation__label,\n      .react-calendar__navigation > button:focus,\n      .time-picker-calendar-tile:focus {\n        outline: 0;\n      }\n\n      .react-calendar__tile--active,\n      .react-calendar__tile--active:hover {\n        color: ",
+          ";\n        font-weight: ",
+          ";\n        background: ",
+          ";\n        box-shadow: none;\n        border: 0px;\n      }\n\n      .react-calendar__tile--rangeEnd,\n      .react-calendar__tile--rangeStart {\n        padding: 0;\n        border: 0px;\n        color: ",
+          ";\n        font-weight: ",
+          ";\n        background: ",
+          ";\n\n        abbr {\n          background-color: ",
+          ";\n          border-radius: 100px;\n          display: block;\n          padding-top: 2px;\n          height: 26px;\n        }\n      }\n\n      .react-calendar__tile--rangeStart {\n        border-top-left-radius: 20px;\n        border-bottom-left-radius: 20px;\n      }\n\n      .react-calendar__tile--rangeEnd {\n        border-top-right-radius: 20px;\n        border-bottom-right-radius: 20px;\n      }\n    ",
+        ]);
+        return (
+          (E = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function C() {
+        var e = M([
+          "\n      color: ",
+          "\n      background-color: ",
+          ";\n      font-size: ",
+          ";\n      border: 1px solid transparent;\n\n      &:hover {\n        position: relative;\n      }\n    ",
+        ]);
+        return (
+          (C = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function P() {
+        var e = M([
+          "\n      margin-right: 4px;\n      width: 100%;\n      justify-content: center;\n    ",
+        ]);
+        return (
+          (P = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function T() {
+        var e = M([
+          "\n      background-color: ",
+          ";\n      display: flex;\n      justify-content: center;\n      padding: 10px;\n      align-items: stretch;\n    ",
+        ]);
+        return (
+          (T = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function D() {
+        var e = M([
+          "\n      position: fixed;\n      top: 0;\n      right: 0;\n      bottom: 0;\n      left: 0;\n      background: #202226;\n      opacity: 0.7;\n      z-index: ",
+          ";\n      text-align: center;\n    ",
+        ]);
+        return (
+          (D = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function A() {
+        var e = M(["\n      margin: 0 auto;\n      width: 268px;\n    "]);
+        return (
+          (A = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function _() {
+        var e = M([
+          "\n      position: fixed;\n      top: 20%;\n      width: 100%;\n      z-index: ",
+          ";\n    ",
+        ]);
+        return (
+          (_ = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function N() {
+        var e = M([
+          "\n      top: 0;\n      position: absolute;\n      right: 546px;\n      box-shadow: 0px 0px 20px ",
+          ";\n      background-color: ",
+          ";\n      z-index: -1;\n\n      &:after {\n        display: block;\n        background-color: ",
+          ";\n        width: 19px;\n        height: 381px;\n        content: ' ';\n        position: absolute;\n        top: 0;\n        right: -19px;\n        border-left: 1px solid ",
+          ";\n      }\n    ",
+        ]);
+        return (
+          (N = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function M(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var I = Object(s.g)(function (e) {
+          var t = O(e);
+          return {
+            container: Object(o.css)(
+              N(),
+              t.shadow,
+              t.background,
+              t.background,
+              t.border
+            ),
+            modal: Object(o.css)(_(), e.zIndex.modal),
+            content: Object(o.css)(A()),
+            backdrop: Object(o.css)(D(), e.zIndex.modalBackdrop),
+          };
+        }),
+        R = Object(s.g)(function (e) {
+          var t = O(e);
+          return {
+            container: Object(o.css)(T(), t.background),
+            apply: Object(o.css)(P()),
+          };
+        }),
+        F = Object(s.g)(function (e) {
+          var t = O(e);
+          return {
+            title: Object(o.css)(
+              C(),
+              e.colors.text,
+              t.background,
+              e.typography.size.md
+            ),
+            body: Object(o.css)(
+              E(),
+              e.zIndex.modal,
+              t.background,
+              e.colors.text,
+              e.typography.weight.semibold,
+              e.colors.blueShade,
+              e.colors.white,
+              e.typography.weight.semibold,
+              e.colors.blue95,
+              e.colors.white,
+              e.typography.weight.semibold,
+              e.colors.blue95,
+              e.colors.blue77
+            ),
+          };
+        }),
+        L = Object(s.g)(function (e) {
+          var t = O(e);
+          return {
+            container: Object(o.css)(S(), t.background),
+            close: Object(o.css)(j(), e.typography.size.lg),
+          };
+        }),
+        V = function (e) {
+          return e.stopPropagation();
+        },
+        B = Object(r.memo)(function (e) {
+          var t = Object(s.h)(),
+            n = I(t),
+            r = e.isOpen,
+            o = e.isFullscreen;
+          return r
+            ? o
+              ? a.a.createElement(
+                  x.a,
+                  { onClick: e.onClose },
+                  a.a.createElement(
+                    "div",
+                    { className: n.container, onClick: V },
+                    a.a.createElement(q, e)
+                  )
+                )
+              : a.a.createElement(
+                  y.a,
+                  null,
+                  a.a.createElement(
+                    "div",
+                    { className: n.modal, onClick: V },
+                    a.a.createElement(
+                      "div",
+                      { className: n.content },
+                      a.a.createElement($, e),
+                      a.a.createElement(q, e),
+                      a.a.createElement(U, e)
+                    )
+                  ),
+                  a.a.createElement("div", {
+                    className: n.backdrop,
+                    onClick: V,
+                  })
+                )
+            : null;
+        }),
+        $ = Object(r.memo)(function (e) {
+          var t = e.onClose,
+            n = Object(s.h)(),
+            r = L(n);
+          return a.a.createElement(
+            "div",
+            { className: r.container },
+            a.a.createElement(d, null, "Select a time range"),
+            a.a.createElement("i", {
+              className: Object(o.cx)(r.close, "fa", "fa-times"),
+              onClick: t,
+            })
+          );
+        }),
+        q = Object(r.memo)(function (e) {
+          var t = e.onChange,
+            n = e.from,
+            o = e.to,
+            i = k(Object(r.useState)(), 2),
+            l = i[0],
+            u = i[1],
+            f = Object(s.h)(),
+            d = F(f);
+          return (
+            Object(r.useEffect)(function () {
+              u(
+                (function (e, t) {
+                  var n = p(e),
+                    r = p(t),
+                    a = n.isValid() ? n.toDate() : new Date(),
+                    o = r.isValid() ? r.toDate() : new Date();
+                  if (a > o) return [o, a];
+                  return [a, o];
+                })(n, o)
+              );
+            }, []),
+            a.a.createElement(b.a, {
+              selectRange: !0,
+              next2Label: null,
+              prev2Label: null,
+              className: d.body,
+              tileClassName: d.title,
+              value: l,
+              nextLabel: a.a.createElement("span", {
+                className: "fa fa-angle-right",
+              }),
+              prevLabel: a.a.createElement("span", {
+                className: "fa fa-angle-left",
+              }),
+              onChange: function (e) {
+                return (function (e, t) {
+                  var n = k(e, 2),
+                    r = n[0],
+                    a = n[1],
+                    o = Object(c.dateTime)(r).format(c.TIME_FORMAT),
+                    i = Object(c.dateTime)(a).format(c.TIME_FORMAT);
+                  return t(o, i);
+                })(e, t);
+              },
+              locale: "en",
+            })
+          );
+        }),
+        U = Object(r.memo)(function (e) {
+          var t = e.onClose,
+            n = e.onApply,
+            r = Object(s.h)(),
+            o = R(r);
+          return a.a.createElement(
+            "div",
+            { className: o.container },
+            a.a.createElement(
+              v.b.Button,
+              { className: o.apply, onClick: n },
+              "Apply time range"
+            ),
+            a.a.createElement(
+              v.b.Button,
+              { variant: "secondary", onClick: t },
+              "Cancel"
+            )
+          );
+        });
+      function z(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      var H = function (e) {
+        var t = e.value,
+          n = e.isFullscreen,
+          o = void 0 !== n && n,
+          i = e.timeZone,
+          l = e.roundup,
+          s = z(Object(r.useState)(W(t.raw.from, !1, i)), 2),
+          u = s[0],
+          f = s[1],
+          d = z(Object(r.useState)(W(t.raw.to, !0, i)), 2),
+          h = d[0],
+          m = d[1],
+          g = z(Object(r.useState)(!1), 2),
+          b = g[0],
+          y = g[1],
+          w = Object(r.useCallback)(
+            function (e) {
+              e.preventDefault(), y(!0);
+            },
+            [y]
+          ),
+          O = Object(r.useCallback)(
+            function (e) {
+              o && w(e);
+            },
+            [o, w]
+          ),
+          x = Object(r.useCallback)(
+            function () {
+              h.invalid ||
+                u.invalid ||
+                e.onApply(
+                  (function (e, t, n, r) {
+                    var a = p(e, n, r),
+                      o = p(t, n, r);
+                    return c.dateMath.isMathString(e) ||
+                      c.dateMath.isMathString(t)
+                      ? { from: a, to: o, raw: { from: e, to: t } }
+                      : { from: a, to: o, raw: { from: a, to: o } };
+                  })(u.value, h.value, l, i)
+                );
+            },
+            [u, h, l, i]
+          ),
+          k = Object(r.useCallback)(
+            function (e, t) {
+              f(W(e, !1, i)), m(W(t, !0, i));
+            },
+            [i]
+          ),
+          j = o
+            ? null
+            : a.a.createElement(v.b.Button, {
+                icon: "fa fa-calendar",
+                variant: "secondary",
+                onClick: w,
+              });
+        return a.a.createElement(
+          a.a.Fragment,
+          null,
+          a.a.createElement(
+            v.b.Field,
+            {
+              label: "From",
+              invalid: u.invalid,
+              error: 'Please enter a past date or "now"',
+            },
+            a.a.createElement(v.b.Input, {
+              onClick: function (e) {
+                return e.stopPropagation();
+              },
+              onFocus: O,
+              onChange: function (e) {
+                return f(G(e, !1, i));
+              },
+              addonAfter: j,
+              value: u.value,
+            })
+          ),
+          a.a.createElement(
+            v.b.Field,
+            {
+              label: "To",
+              invalid: h.invalid,
+              error: 'Please enter a past date or "now"',
+            },
+            a.a.createElement(v.b.Input, {
+              onClick: function (e) {
+                return e.stopPropagation();
+              },
+              onFocus: O,
+              onChange: function (e) {
+                return m(G(e, !0, i));
+              },
+              addonAfter: j,
+              value: h.value,
+            })
+          ),
+          a.a.createElement(v.b.Button, { onClick: x }, "Apply time range"),
+          a.a.createElement(B, {
+            isFullscreen: o,
+            isOpen: b,
+            from: u.value,
+            to: h.value,
+            onApply: x,
+            onClose: function () {
+              return y(!1);
+            },
+            onChange: k,
+          })
+        );
+      };
+      function G(e, t, n) {
+        return W(e.currentTarget.value, t, n);
+      }
+      function W(e, t, n) {
+        var r = (function (e) {
+          if (Object(c.isDateTime)(e)) return e.format(c.TIME_FORMAT);
+          return e;
+        })(e);
+        return {
+          value: r,
+          invalid: !(function (e, t, n) {
+            if (c.dateMath.isMathString(e))
+              return (function (e) {
+                return c.dateMath.isValid(e);
+              })(e);
+            return p(e, t, n).isValid();
+          })(r, t, n),
+        };
+      }
+      var Q = n("vkM9");
+      function Y() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })([
+          "\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      padding: 7px 9px 7px 9px;\n      border-left: 2px solid rgba(255, 255, 255, 0);\n\n      &:hover {\n        background: ",
+          ";\n        border-image: linear-gradient(#f05a28 30%, #fbca0a 99%);\n        border-image-slice: 1;\n        border-style: solid;\n        border-top: 0;\n        border-right: 0;\n        border-bottom: 0;\n        border-left-width: 2px;\n        cursor: pointer;\n      }\n    ",
+        ]);
+        return (
+          (Y = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      var K = Object(s.g)(function (e) {
+          var t = Object(s.e)(
+            { light: e.colors.gray7, dark: e.colors.dark3 },
+            e.type
+          );
+          return { container: Object(o.css)(Y(), t) };
+        }),
+        J = Object(r.memo)(function (e) {
+          var t = e.value,
+            n = e.onSelect,
+            r = e.selected,
+            o = void 0 !== r && r,
+            i = Object(s.h)(),
+            l = K(i);
+          return a.a.createElement(
+            "div",
+            {
+              className: l.container,
+              onClick: function () {
+                return n(t);
+              },
+              tabIndex: -1,
+            },
+            a.a.createElement("span", null, t.display),
+            o ? a.a.createElement("i", { className: "fa fa-check" }) : null
+          );
+        });
+      function Z() {
+        var e = ee([
+          "\n      flex-grow: 1;\n      align-items: flex-start;\n    ",
+        ]);
+        return (
+          (Z = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function X() {
+        var e = ee([
+          "\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      padding: 8px 16px 5px 9px;\n    ",
+        ]);
+        return (
+          (X = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ee(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var te = Object(s.g)(function () {
+          return { title: Object(o.css)(X()) };
+        }),
+        ne = Object(s.g)(function () {
+          return { grow: Object(o.css)(Z()) };
+        }),
+        re = function (e) {
+          var t = te(),
+            n = e.title,
+            r = e.options,
+            o = e.placeholderEmpty;
+          return void 0 !== o && r.length <= 0
+            ? a.a.createElement(a.a.Fragment, null, o)
+            : n
+            ? a.a.createElement(
+                a.a.Fragment,
+                null,
+                a.a.createElement(
+                  "div",
+                  { className: t.title },
+                  a.a.createElement(d, null, n)
+                ),
+                a.a.createElement(ae, e)
+              )
+            : a.a.createElement(ae, e);
+        },
+        ae = function (e) {
+          var t = e.options,
+            n = e.value,
+            r = e.onSelect,
+            o = e.timeZone,
+            i = ne();
+          return a.a.createElement(
+            a.a.Fragment,
+            null,
+            a.a.createElement(
+              "div",
+              null,
+              t.map(function (e, t) {
+                return a.a.createElement(J, {
+                  key: oe(e, t),
+                  value: e,
+                  selected: ie(e, n),
+                  onSelect: function (e) {
+                    return r(
+                      (function (e, t) {
+                        return {
+                          from: h(e.from, !1, t),
+                          to: h(e.to, !0, t),
+                          raw: { from: e.from, to: e.to },
+                        };
+                      })(e, o)
+                    );
+                  },
+                });
+              })
+            ),
+            a.a.createElement("div", { className: i.grow })
+          );
+        };
+      function oe(e, t) {
+        return "".concat(e.from, "-").concat(e.to, "-").concat(t);
+      }
+      function ie(e, t) {
+        return !(!t || !e) && t.raw.from === e.from && t.raw.to === e.to;
+      }
+      function le(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function se() {
+        return (se =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function ce() {
+        var e = Oe(["\n      color: ", ";\n    "]);
+        return (
+          (ce = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ue() {
+        var e = Oe([
+          "\n      background-color: ",
+          ";\n      padding: 12px;\n      margin: 12px;\n\n      a,\n      span {\n        font-size: 13px;\n      }\n    ",
+        ]);
+        return (
+          (ue = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function fe() {
+        var e = Oe([
+          "\n      flex-grow: 1;\n      display: flex;\n      flex-direction: column;\n      justify-content: flex-end;\n    ",
+        ]);
+        return (
+          (fe = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function de() {
+        var e = Oe(["\n      margin-bottom: 11px;\n    "]);
+        return (
+          (de = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function pe() {
+        var e = Oe([
+          "\n      padding-top: 9px;\n      padding-left: 11px;\n      padding-right: 20%;\n    ",
+        ]);
+        return (
+          (pe = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function he() {
+        var e = Oe(["\n      padding: 7px 9px 7px 9px;\n    "]);
+        return (
+          (he = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function me() {
+        var e = Oe([
+          "\n      border-bottom: 1px solid ",
+          ";\n      background: ",
+          ";\n      box-shadow: inset 0px 2px 2px ",
+          ";\n    ",
+        ]);
+        return (
+          (me = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ge() {
+        var e = Oe([
+          "\n      display: flex;\n      flex-direction: row;\n      justify-content: space-between;\n      align-items: center;\n      border-bottom: 1px solid ",
+          ";\n      padding: 7px 9px 7px 9px;\n    ",
+        ]);
+        return (
+          (ge = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function be() {
+        var e = Oe(["\n      margin-top: 16px;\n    "]);
+        return (
+          (be = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ve() {
+        var e = Oe([
+          "\n      width: 40% !important;\n\n      @media only screen and (max-width: ",
+          ") {\n        width: 100% !important;\n      }\n    ",
+        ]);
+        return (
+          (ve = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ye() {
+        var e = Oe([
+          "\n      display: flex;\n      flex-direction: column;\n      border-right: 1px solid ",
+          ";\n      width: 60%;\n      overflow: hidden;\n\n      @media only screen and (max-width: ",
+          ") {\n        display: none;\n      }\n    ",
+        ]);
+        return (
+          (ye = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function we() {
+        var e = Oe([
+          "\n      display: flex;\n      background: ",
+          ";\n      box-shadow: 0px 0px 20px ",
+          ";\n      position: absolute;\n      z-index: ",
+          ";\n      width: 546px;\n      height: 381px;\n      top: 116%;\n      margin-left: -322px;\n\n      @media only screen and (max-width: ",
+          ") {\n        width: 218px;\n        margin-left: 6px;\n      }\n\n      @media only screen and (max-width: ",
+          ") {\n        width: 264px;\n        margin-left: -100px;\n      }\n    ",
+        ]);
+        return (
+          (we = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Oe(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var xe = Object(s.g)(function (e) {
+          var t = O(e);
+          return {
+            container: Object(o.css)(
+              we(),
+              t.background,
+              t.shadow,
+              e.zIndex.modal,
+              e.breakpoints.lg,
+              e.breakpoints.sm
+            ),
+            leftSide: Object(o.css)(ye(), t.border, e.breakpoints.lg),
+            rightSide: Object(o.css)(ve(), e.breakpoints.lg),
+            spacing: Object(o.css)(be()),
+          };
+        }),
+        ke = Object(s.g)(function (e) {
+          var t = O(e);
+          return {
+            header: Object(o.css)(ge(), t.border),
+            body: Object(o.css)(me(), t.border, t.formBackground, t.shadow),
+            form: Object(o.css)(he()),
+          };
+        }),
+        je = Object(s.g)(function (e) {
+          return {
+            container: Object(o.css)(pe()),
+            title: Object(o.css)(de()),
+            recent: Object(o.css)(fe()),
+          };
+        }),
+        Se = Object(s.g)(function (e) {
+          var t = O(e);
+          return {
+            container: Object(o.css)(ue(), t.formBackground),
+            link: Object(o.css)(ce(), e.colors.linkExternal),
+          };
+        }),
+        Ee = function (e) {
+          var t = Object(s.h)(),
+            n = xe(t),
+            r = (function (e, t) {
+              if (!Array.isArray(e) || 0 === e.length) return [];
+              return e.slice(e.length - 4).map(function (e) {
+                return (function (e, t) {
+                  var n = h(e.from, !1, t).format(c.TIME_FORMAT),
+                    r = h(e.to, !0, t).format(c.TIME_FORMAT);
+                  return {
+                    from: m(e.from, t),
+                    to: m(e.to, t),
+                    section: 3,
+                    display: "".concat(n, " to ").concat(r),
+                  };
+                })(e, t);
+              });
+            })(e.history, e.timeZone),
+            o = e.quickOptions,
+            i = void 0 === o ? [] : o,
+            l = e.otherOptions,
+            u = void 0 === l ? [] : l,
+            f = e.isFullscreen;
+          return a.a.createElement(
+            "div",
+            { className: n.container },
+            a.a.createElement(
+              "div",
+              { className: n.leftSide },
+              a.a.createElement(
+                Te,
+                se({}, e, { visible: f, historyOptions: r })
+              )
+            ),
+            a.a.createElement(
+              Q.a,
+              { className: n.rightSide },
+              a.a.createElement(
+                Pe,
+                se({}, e, { visible: !f, historyOptions: r })
+              ),
+              a.a.createElement(re, {
+                title: "Relative time ranges",
+                options: i,
+                onSelect: e.onChange,
+                value: e.value,
+                timeZone: e.timeZone,
+              }),
+              a.a.createElement("div", { className: n.spacing }),
+              a.a.createElement(re, {
+                title: "Other quick ranges",
+                options: u,
+                onSelect: e.onChange,
+                value: e.value,
+                timeZone: e.timeZone,
+              })
+            )
+          );
+        },
+        Ce = function (e) {
+          var t = Object(s.h)(),
+            n = Object(l.a)("(min-width: ".concat(t.breakpoints.lg, ")"));
+          return a.a.createElement(Ee, se({}, e, { isFullscreen: n }));
+        },
+        Pe = function (e) {
+          if (!e.visible) return null;
+          var t = Object(s.h)(),
+            n = ke(t),
+            o =
+              Object(c.isDateTime)(e.value.raw.from) ||
+              Object(c.isDateTime)(e.value.raw.to),
+            i = le(Object(r.useState)(o), 2),
+            l = i[0],
+            u = i[1];
+          return a.a.createElement(
+            a.a.Fragment,
+            null,
+            a.a.createElement(
+              "div",
+              {
+                className: n.header,
+                onClick: function () {
+                  return u(!l);
+                },
+              },
+              a.a.createElement(d, null, "Absolute time range"),
+              l
+                ? a.a.createElement("i", { className: "fa fa-caret-up" })
+                : a.a.createElement("i", { className: "fa fa-caret-down" })
+            ),
+            l &&
+              a.a.createElement(
+                "div",
+                { className: n.body },
+                a.a.createElement(
+                  "div",
+                  { className: n.form },
+                  a.a.createElement(H, {
+                    value: e.value,
+                    onApply: e.onChange,
+                    timeZone: e.timeZone,
+                    isFullscreen: !1,
+                  })
+                ),
+                a.a.createElement(re, {
+                  title: "Recently used absolute ranges",
+                  options: e.historyOptions || [],
+                  onSelect: e.onChange,
+                  value: e.value,
+                  placeholderEmpty: null,
+                  timeZone: e.timeZone,
+                })
+              )
+          );
+        },
+        Te = function (e) {
+          if (!e.visible) return null;
+          var t = Object(s.h)(),
+            n = je(t);
+          return a.a.createElement(
+            a.a.Fragment,
+            null,
+            a.a.createElement(
+              "div",
+              { className: n.container },
+              a.a.createElement(
+                "div",
+                { className: n.title },
+                a.a.createElement(d, null, "Absolute time range")
+              ),
+              a.a.createElement(H, {
+                value: e.value,
+                timeZone: e.timeZone,
+                onApply: e.onChange,
+                isFullscreen: !0,
+              })
+            ),
+            a.a.createElement(
+              "div",
+              { className: n.recent },
+              a.a.createElement(re, {
+                title: "Recently used absolute ranges",
+                options: e.historyOptions || [],
+                onSelect: e.onChange,
+                value: e.value,
+                placeholderEmpty: a.a.createElement(De, null),
+                timeZone: e.timeZone,
+              })
+            )
+          );
+        },
+        De = Object(r.memo)(function () {
+          var e = Object(s.h)(),
+            t = Se(e);
+          return a.a.createElement(
+            "div",
+            { className: t.container },
+            a.a.createElement(
+              "div",
+              null,
+              a.a.createElement(
+                "span",
+                null,
+                "It looks like you haven't used this timer picker before. As soon as you enter some time intervals, recently used intervals will appear here."
+              )
+            ),
+            a.a.createElement(
+              "div",
+              null,
+              a.a.createElement(
+                "a",
+                {
+                  className: t.link,
+                  href:
+                    "https://grafana.com/docs/grafana/latest/reference/timerange/",
+                  target: "_new",
+                },
+                "Read the documentation"
+              ),
+              a.a.createElement(
+                "span",
+                null,
+                " to find out more about how to enter custom time ranges."
+              )
+            )
+          );
+        });
+      var Ae = n("qQGB"),
+        _e = n("Fts8");
+      function Ne(e) {
+        return (Ne =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Me(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Ie(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Re(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Fe(e, t) {
+        return !t || ("object" !== Ne(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Le(e) {
+        return (Le = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Ve(e, t) {
+        return (Ve =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      function Be() {
+        var e = Ge([
+          "\n      color: ",
+          ";\n      font-size: 75%;\n      padding: 3px;\n      font-weight: ",
+          ";\n    ",
+        ]);
+        return (
+          (Be = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function $e() {
+        var e = Ge(["\n      display: inline-block;\n    "]);
+        return (
+          ($e = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function qe() {
+        var e = Ge([
+          "\n      label: noRightBorderStyle;\n      border-right: 0;\n    ",
+        ]);
+        return (
+          (qe = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Ue() {
+        var e = Ge([
+          "\n      margin-left: 3px;\n\n      i {\n        font-size: ",
+          ";\n      }\n    ",
+        ]);
+        return (
+          (Ue = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ze() {
+        var e = Ge(["\n      display: flex;\n    "]);
+        return (
+          (ze = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function He() {
+        var e = Ge([
+          "\n      position: relative;\n      display: flex;\n      flex-flow: column nowrap;\n    ",
+        ]);
+        return (
+          (He = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Ge(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      n.d(t, "a", function () {
+        return rt;
+      });
+      var We = [
+          { from: "now-5m", to: "now", display: "Last 5 minutes", section: 3 },
+          {
+            from: "now-15m",
+            to: "now",
+            display: "Last 15 minutes",
+            section: 3,
+          },
+          {
+            from: "now-30m",
+            to: "now",
+            display: "Last 30 minutes",
+            section: 3,
+          },
+          { from: "now-1h", to: "now", display: "Last 1 hour", section: 3 },
+          { from: "now-3h", to: "now", display: "Last 3 hours", section: 3 },
+          { from: "now-6h", to: "now", display: "Last 6 hours", section: 3 },
+          { from: "now-12h", to: "now", display: "Last 12 hours", section: 3 },
+          { from: "now-24h", to: "now", display: "Last 24 hours", section: 3 },
+          { from: "now-2d", to: "now", display: "Last 2 days", section: 3 },
+          { from: "now-7d", to: "now", display: "Last 7 days", section: 3 },
+          { from: "now-30d", to: "now", display: "Last 30 days", section: 3 },
+          { from: "now-90d", to: "now", display: "Last 90 days", section: 3 },
+          { from: "now-6M", to: "now", display: "Last 6 months", section: 3 },
+          { from: "now-1y", to: "now", display: "Last 1 year", section: 3 },
+          { from: "now-2y", to: "now", display: "Last 2 years", section: 3 },
+          { from: "now-5y", to: "now", display: "Last 5 years", section: 3 },
+        ],
+        Qe = [
+          {
+            from: "now-1d/d",
+            to: "now-1d/d",
+            display: "Yesterday",
+            section: 3,
+          },
+          {
+            from: "now-2d/d",
+            to: "now-2d/d",
+            display: "Day before yesterday",
+            section: 3,
+          },
+          {
+            from: "now-7d/d",
+            to: "now-7d/d",
+            display: "This day last week",
+            section: 3,
+          },
+          {
+            from: "now-1w/w",
+            to: "now-1w/w",
+            display: "Previous week",
+            section: 3,
+          },
+          {
+            from: "now-1M/M",
+            to: "now-1M/M",
+            display: "Previous month",
+            section: 3,
+          },
+          {
+            from: "now-1y/y",
+            to: "now-1y/y",
+            display: "Previous year",
+            section: 3,
+          },
+          { from: "now/d", to: "now/d", display: "Today", section: 3 },
+          { from: "now/d", to: "now", display: "Today so far", section: 3 },
+          { from: "now/w", to: "now/w", display: "This week", section: 3 },
+          { from: "now/w", to: "now", display: "This week so far", section: 3 },
+          { from: "now/M", to: "now/M", display: "This month", section: 3 },
+          {
+            from: "now/M",
+            to: "now",
+            display: "This month so far",
+            section: 3,
+          },
+          { from: "now/y", to: "now/y", display: "This year", section: 3 },
+          { from: "now/y", to: "now", display: "This year so far", section: 3 },
+        ],
+        Ye = Object(Ae.a)(function (e) {
+          return {
+            container: Object(o.css)(He()),
+            buttons: Object(o.css)(ze()),
+            caretIcon: Object(o.css)(Ue(), e.typography.size.md),
+            noRightBorderStyle: Object(o.css)(qe()),
+          };
+        }),
+        Ke = Object(Ae.a)(function (e) {
+          return {
+            container: Object(o.css)($e()),
+            utc: Object(o.css)(
+              Be(),
+              e.colors.orange,
+              e.typography.weight.semibold
+            ),
+          };
+        }),
+        Je = (function (e) {
+          function t() {
+            var e, n;
+            Ie(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = Fe(
+                this,
+                (e = Le(t)).call.apply(e, [this].concat(a))
+              )).state = { isOpen: !1 }),
+              (n.onChange = function (e) {
+                n.props.onChange(e), n.setState({ isOpen: !1 });
+              }),
+              (n.onOpen = function (e) {
+                var t = n.state.isOpen;
+                e.stopPropagation(), n.setState({ isOpen: !t });
+              }),
+              (n.onClose = function () {
+                n.setState({ isOpen: !1 });
+              }),
+              n
+            );
+          }
+          var n, r, l;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Ve(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e,
+                    t = this.props,
+                    n = t.value,
+                    r = t.onMoveBackward,
+                    l = t.onMoveForward,
+                    s = t.onZoom,
+                    u = t.timeZone,
+                    f = t.timeSyncButton,
+                    d = t.isSynced,
+                    p = t.theme,
+                    h = t.history,
+                    m = this.state.isOpen,
+                    g = Ye(p),
+                    b =
+                      Object(c.isDateTime)(n.raw.from) ||
+                      Object(c.isDateTime)(n.raw.to),
+                    v = f && d,
+                    y = Object(o.cx)(
+                      "fa fa-clock-o fa-fw",
+                      Me({}, "icon-brand-gradient", v)
+                    ),
+                    w = Object(o.cx)(
+                      "btn navbar-button navbar-button--tight",
+                      (Me(
+                        (e = {}),
+                        "btn--radius-right-0 ".concat(g.noRightBorderStyle),
+                        !!f
+                      ),
+                      Me(e, "explore-active-button", v),
+                      e)
+                    );
+                  return a.a.createElement(
+                    "div",
+                    { className: g.container },
+                    a.a.createElement(
+                      "div",
+                      { className: g.buttons },
+                      b &&
+                        a.a.createElement(
+                          "button",
+                          {
+                            className: "btn navbar-button navbar-button--tight",
+                            onClick: r,
+                          },
+                          a.a.createElement("i", {
+                            className: "fa fa-chevron-left",
+                          })
+                        ),
+                      a.a.createElement(
+                        "div",
+                        null,
+                        a.a.createElement(
+                          i.b,
+                          {
+                            content: a.a.createElement(Xe, { timeRange: n }),
+                            placement: "bottom",
+                          },
+                          a.a.createElement(
+                            "button",
+                            {
+                              "aria-label": "TimePicker Open Button",
+                              className: w,
+                              onClick: this.onOpen,
+                            },
+                            a.a.createElement("i", { className: y }),
+                            a.a.createElement(et, this.props),
+                            a.a.createElement(
+                              "span",
+                              { className: g.caretIcon },
+                              m
+                                ? a.a.createElement("i", {
+                                    className: "fa fa-caret-up fa-fw",
+                                  })
+                                : a.a.createElement("i", {
+                                    className: "fa fa-caret-down fa-fw",
+                                  })
+                            )
+                          )
+                        ),
+                        m &&
+                          a.a.createElement(
+                            x.a,
+                            { onClick: this.onClose },
+                            a.a.createElement(Ce, {
+                              timeZone: u,
+                              value: n,
+                              onChange: this.onChange,
+                              otherOptions: Qe,
+                              quickOptions: We,
+                              history: h,
+                            })
+                          )
+                      ),
+                      f,
+                      b &&
+                        a.a.createElement(
+                          "button",
+                          {
+                            className: "btn navbar-button navbar-button--tight",
+                            onClick: l,
+                          },
+                          a.a.createElement("i", {
+                            className: "fa fa-chevron-right",
+                          })
+                        ),
+                      a.a.createElement(
+                        i.b,
+                        { content: Ze, placement: "bottom" },
+                        a.a.createElement(
+                          "button",
+                          {
+                            className: "btn navbar-button navbar-button--zoom",
+                            onClick: s,
+                          },
+                          a.a.createElement("i", {
+                            className: "fa fa-search-minus",
+                          })
+                        )
+                      )
+                    )
+                  );
+                },
+              },
+            ]) && Re(n.prototype, r),
+            l && Re(n, l),
+            t
+          );
+        })(r.PureComponent),
+        Ze = function () {
+          return a.a.createElement(
+            a.a.Fragment,
+            null,
+            "Time range zoom out ",
+            a.a.createElement("br", null),
+            " CTRL+Z"
+          );
+        },
+        Xe = function (e) {
+          var t = e.timeRange;
+          return a.a.createElement(
+            a.a.Fragment,
+            null,
+            t.from.format(c.TIME_FORMAT),
+            a.a.createElement("div", { className: "text-center" }, "to"),
+            t.to.format(c.TIME_FORMAT)
+          );
+        },
+        et = Object(r.memo)(function (e) {
+          var t = Object(_e.c)(),
+            n = Ke(t),
+            r = "utc" === e.timeZone;
+          return e.hideText
+            ? null
+            : a.a.createElement(
+                "span",
+                { className: n.container },
+                a.a.createElement("span", null, tt(e.value, r)),
+                r && a.a.createElement("span", { className: n.utc }, "UTC")
+              );
+        }),
+        tt = function (e, t) {
+          var n = {
+            to: c.dateMath.isMathString(e.raw.to) ? e.raw.to : nt(e.to, t),
+            from: c.dateMath.isMathString(e.raw.from)
+              ? e.raw.from
+              : nt(e.from, t),
+          };
+          return c.rangeUtil.describeTimeRange(n);
+        },
+        nt = function (e, t) {
+          return t ? e.utc() || null : e.local() || null;
+        },
+        rt = Object(_e.d)(Je);
+    },
+    "3XPa": function (e, t) {
+      var n = "public/app/features/folders/partials/create_folder.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body" ng-cloak>\n\n\t<h3 class=page-sub-heading>New Dashboard Folder</h3>\n\n  <form name=ctrl.saveForm ng-submit=ctrl.create() novalidate>\n\t\t<div class=gf-form-inline>\n\t\t\t<div class="gf-form gf-form--grow">\n\t\t\t\t<label class="gf-form-label width-10">Name</label>\n\t\t\t\t<input type=text class=gf-form-input ng-model=ctrl.title give-focus=true ng-change=ctrl.titleChanged() ng-model-options="{ debounce: 400 }" ng-class="{\'validation-error\': ctrl.nameExists || !ctrl.dash.title}">\n\t\t\t\t<label class="gf-form-label text-success" ng-if="ctrl.titleTouched && !ctrl.hasValidationError">\n\t\t\t\t\t<i class="fa fa-check"></i>\n\t\t\t\t</label>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=gf-form-inline ng-if=ctrl.hasValidationError>\n\t\t\t<div class="gf-form offset-width-10 gf-form--grow">\n\t\t\t\t<label class="gf-form-label text-warning gf-form-label--grow">\n\t\t\t\t\t<i class="fa fa-warning"></i>\n\t\t\t\t\t{{ctrl.validationError}}\n\t\t\t\t</label>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=gf-form-button-row>\n\t\t\t<button type=submit class="btn btn-primary width-12" ng-disabled="!ctrl.titleTouched || ctrl.hasValidationError">\n\t\t\t\tCreate\n\t\t\t</button>\n\t\t</div>\n\t</form>\n\n</div>\n\n<footer/>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "3lkw": function (e, t) {
+      var n =
+        "public/app/features/manage-dashboards/components/MoveToFolderModal/template.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=modal-body>\n  <div class=modal-header>\n    <h2 class=modal-header-title>\n      <i class="gicon gicon-folder-new"></i>\n      <span class=p-l-1>Choose Dashboard Folder</span>\n    </h2>\n\n    <a class=modal-header-close ng-click=ctrl.dismiss();>\n      <i class="fa fa-remove"></i>\n    </a>\n  </div>\n\n  <form name=ctrl.saveForm ng-submit=ctrl.save() class="modal-content folder-modal" novalidate>\n    <p>Move the {{ctrl.dashboards.length}} selected dashboards to the following folder:</p>\n\n    <div class=p-t-2>\n      <div class=gf-form>\n        <folder-picker on-change=ctrl.onFolderChange label-class=width-7 enable-create-new=true folder=ctrl.folder>\n        </folder-picker>\n      </div>\n    </div>\n    <div class="gf-form-button-row text-center">\n      <button type=submit class="btn btn-primary" ng-disabled="ctrl.saveForm.$invalid || !ctrl.isValidFolderSelection">\n        Move\n      </button>\n      <a class=btn-text ng-click=ctrl.dismiss();>Cancel</a>\n    </div>\n  </form>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "3oeA": function (e, t) {
+      !(function (e) {
+        e.plot.plugins.push({
+          init: function (t) {
+            var n = {
+                first: { x: -1, y: -1 },
+                second: { x: -1, y: -1 },
+                show: !1,
+                active: !1,
+              },
+              r = {},
+              a = null;
+            function o(e) {
+              n.active &&
+                (f(e), t.getPlaceholder().trigger("plotselecting", [l()]));
+            }
+            function i(o) {
+              1 == o.which &&
+                (document.body.focus(),
+                void 0 !== document.onselectstart &&
+                  null == r.onselectstart &&
+                  ((r.onselectstart = document.onselectstart),
+                  (document.onselectstart = function () {
+                    return !1;
+                  })),
+                void 0 !== document.ondrag &&
+                  null == r.ondrag &&
+                  ((r.ondrag = document.ondrag),
+                  (document.ondrag = function () {
+                    return !1;
+                  })),
+                u(n.first, o),
+                (n.active = !0),
+                (a = function (e) {
+                  !(function (e) {
+                    (a = null),
+                      void 0 !== document.onselectstart &&
+                        (document.onselectstart = r.onselectstart);
+                    void 0 !== document.ondrag && (document.ondrag = r.ondrag);
+                    (n.active = !1),
+                      f(e),
+                      h()
+                        ? s(e)
+                        : (t.getPlaceholder().trigger("plotunselected", []),
+                          t.getPlaceholder().trigger("plotselecting", [null]));
+                    setTimeout(function () {
+                      t.isSelecting = !1;
+                    }, 10);
+                  })(e);
+                }),
+                e(document).one("mouseup", a));
+            }
+            function l() {
+              if (!h()) return null;
+              if (!n.show) return null;
+              var r = {},
+                a = n.first,
+                o = n.second,
+                i = t.getAxes();
+              return (
+                e.each(i, function (e, t) {
+                  t.used && (anyUsed = !1);
+                }),
+                e.each(i, function (e, t) {
+                  t.used;
+                  var n = t.c2p(a[t.direction]),
+                    i = t.c2p(o[t.direction]);
+                  r[e] = { from: Math.min(n, i), to: Math.max(n, i) };
+                }),
+                r
+              );
+            }
+            function s(e) {
+              var n = l();
+              (n.ctrlKey = e.ctrlKey),
+                (n.metaKey = e.metaKey),
+                t.getPlaceholder().trigger("plotselected", [n]),
+                n.xaxis &&
+                  n.yaxis &&
+                  t.getPlaceholder().trigger("selected", [
+                    {
+                      x1: n.xaxis.from,
+                      y1: n.yaxis.from,
+                      x2: n.xaxis.to,
+                      y2: n.yaxis.to,
+                    },
+                  ]);
+            }
+            function c(e, t, n) {
+              return t < e ? e : t > n ? n : t;
+            }
+            function u(e, r) {
+              var a = t.getOptions(),
+                o = t.getPlaceholder().offset(),
+                i = t.getPlotOffset();
+              (e.x = c(0, r.pageX - o.left - i.left, t.width())),
+                (e.y = c(0, r.pageY - o.top - i.top, t.height())),
+                "y" == a.selection.mode && (e.x = e == n.first ? 0 : t.width()),
+                "x" == a.selection.mode &&
+                  (e.y = e == n.first ? 0 : t.height());
+            }
+            function f(e) {
+              null != e.pageX &&
+                (u(n.second, e),
+                h()
+                  ? ((t.isSelecting = !0),
+                    (n.show = !0),
+                    t.triggerRedrawOverlay())
+                  : d(!0));
+            }
+            function d(e) {
+              n.show &&
+                ((n.show = !1),
+                t.triggerRedrawOverlay(),
+                e || t.getPlaceholder().trigger("plotunselected", []));
+            }
+            function p(e, n) {
+              var r,
+                a,
+                o,
+                i,
+                l = t.getAxes();
+              for (var s in l)
+                if (
+                  (r = l[s]).direction == n &&
+                  (e[(i = n + r.n + "axis")] || 1 != r.n || (i = n + "axis"),
+                  e[i])
+                ) {
+                  (a = e[i].from), (o = e[i].to);
+                  break;
+                }
+              if (
+                (e[i] ||
+                  ((r = "x" == n ? t.getXAxes()[0] : t.getYAxes()[0]),
+                  (a = e[n + "1"]),
+                  (o = e[n + "2"])),
+                null != a && null != o && a > o)
+              ) {
+                var c = a;
+                (a = o), (o = c);
+              }
+              return { from: a, to: o, axis: r };
+            }
+            function h() {
+              var e = t.getOptions().selection.minSize;
+              return (
+                Math.abs(n.second.x - n.first.x) >= e &&
+                Math.abs(n.second.y - n.first.y) >= e
+              );
+            }
+            (t.clearSelection = d),
+              (t.setSelection = function (e, r) {
+                var a,
+                  o = t.getOptions();
+                "y" == o.selection.mode
+                  ? ((n.first.x = 0), (n.second.x = t.width()))
+                  : ((a = p(e, "x")),
+                    (n.first.x = a.axis.p2c(a.from)),
+                    (n.second.x = a.axis.p2c(a.to))),
+                  "x" == o.selection.mode
+                    ? ((n.first.y = 0), (n.second.y = t.height()))
+                    : ((a = p(e, "y")),
+                      (n.first.y = a.axis.p2c(a.from)),
+                      (n.second.y = a.axis.p2c(a.to))),
+                  (n.show = !0),
+                  t.triggerRedrawOverlay(),
+                  !r && h() && s();
+              }),
+              (t.getSelection = l),
+              t.hooks.bindEvents.push(function (e, t) {
+                null != e.getOptions().selection.mode &&
+                  (t.mousemove(o), t.mousedown(i));
+              }),
+              t.hooks.drawOverlay.push(function (t, r) {
+                if (n.show && h()) {
+                  var a = t.getPlotOffset(),
+                    o = t.getOptions();
+                  r.save(), r.translate(a.left, a.top);
+                  var i = e.color.parse(o.selection.color);
+                  (r.strokeStyle = i.scale("a", 0.8).toString()),
+                    (r.lineWidth = 1),
+                    (r.lineJoin = o.selection.shape),
+                    (r.fillStyle = i.scale("a", 0.4).toString());
+                  var l = Math.min(n.first.x, n.second.x) + 0.5,
+                    s = Math.min(n.first.y, n.second.y) + 0.5,
+                    c = Math.abs(n.second.x - n.first.x) - 1,
+                    u = Math.abs(n.second.y - n.first.y) - 1;
+                  r.fillRect(l, s, c, u), r.strokeRect(l, s, c, u), r.restore();
+                }
+              }),
+              t.hooks.shutdown.push(function (t, n) {
+                n.unbind("mousemove", o),
+                  n.unbind("mousedown", i),
+                  a &&
+                    (e(document).unbind("mouseup", a),
+                    void 0 !== document.onselectstart &&
+                      (document.onselectstart = r.onselectstart),
+                    void 0 !== document.ondrag && (document.ondrag = r.ondrag));
+              });
+          },
+          options: {
+            selection: {
+              mode: null,
+              color: "#e8cfac",
+              shape: "round",
+              minSize: 5,
+            },
+          },
+          name: "selection",
+          version: "1.1",
+        });
+      })(jQuery);
+    },
+    "3p3q": function (e, t, n) {
+      "use strict";
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDLi"),
+        i = n("9iwZ");
+      function l(e) {
+        return (l =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function s(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function c(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function u(e, t) {
+        return !t || ("object" !== l(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function f(e) {
+        return (f = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function d(e, t) {
+        return (d =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      function p(e) {
+        var t = e.item;
+        return t.userAvatarUrl
+          ? a.a.createElement("img", {
+              className: "filter-table__avatar",
+              src: t.userAvatarUrl,
+            })
+          : t.teamAvatarUrl
+          ? a.a.createElement("img", {
+              className: "filter-table__avatar",
+              src: t.teamAvatarUrl,
+            })
+          : "Editor" === t.role
+          ? a.a.createElement("i", {
+              style: { width: "25px", height: "25px" },
+              className: "gicon gicon-editor",
+            })
+          : a.a.createElement("i", {
+              style: { width: "25px", height: "25px" },
+              className: "gicon gicon-viewer",
+            });
+      }
+      function h(e) {
+        var t = e.item;
+        return t.userId
+          ? a.a.createElement(
+              "span",
+              { className: "filter-table__weak-italic" },
+              "(User)"
+            )
+          : t.teamId
+          ? a.a.createElement(
+              "span",
+              { className: "filter-table__weak-italic" },
+              "(Team)"
+            )
+          : a.a.createElement(
+              "span",
+              { className: "filter-table__weak-italic" },
+              "(Role)"
+            );
+      }
+      var m = (function (e) {
+        function t() {
+          var e, n;
+          s(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = u(
+              this,
+              (e = f(t)).call.apply(e, [this].concat(a))
+            )).onPermissionChanged = function (e) {
+              n.props.onPermissionChanged(n.props.item, e.value);
+            }),
+            (n.onRemoveItem = function () {
+              n.props.onRemoveItem(n.props.item);
+            }),
+            n
+          );
+        }
+        var n, r, l;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && d(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e,
+                  t = this.props,
+                  n = t.item,
+                  r = t.folderInfo,
+                  l = -1 === n.dashboardId && !n.inherited,
+                  s = i.f.find(function (e) {
+                    return e.value === n.permission;
+                  });
+                return a.a.createElement(
+                  "tr",
+                  {
+                    className: ((e = n.inherited), e ? "gf-form-disabled" : ""),
+                  },
+                  a.a.createElement(
+                    "td",
+                    { style: { width: "1%" } },
+                    a.a.createElement(p, { item: n })
+                  ),
+                  a.a.createElement(
+                    "td",
+                    { style: { width: "90%" } },
+                    n.name,
+                    " ",
+                    a.a.createElement(h, { item: n })
+                  ),
+                  a.a.createElement(
+                    "td",
+                    null,
+                    n.inherited &&
+                      r &&
+                      a.a.createElement(
+                        "em",
+                        { className: "muted no-wrap" },
+                        "Inherited from folder",
+                        " ",
+                        a.a.createElement(
+                          "a",
+                          {
+                            className: "text-link",
+                            href: "".concat(r.url, "/permissions"),
+                          },
+                          r.title
+                        ),
+                        " "
+                      ),
+                    l &&
+                      a.a.createElement(
+                        "em",
+                        { className: "muted no-wrap" },
+                        "Default Permission"
+                      )
+                  ),
+                  a.a.createElement(
+                    "td",
+                    { className: "query-keyword" },
+                    "Can"
+                  ),
+                  a.a.createElement(
+                    "td",
+                    null,
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form" },
+                      a.a.createElement(o.Select, {
+                        isSearchable: !1,
+                        options: i.f,
+                        onChange: this.onPermissionChanged,
+                        isDisabled: n.inherited,
+                        className: "gf-form-select-box__control--menu-right",
+                        value: s,
+                      })
+                    )
+                  ),
+                  a.a.createElement(
+                    "td",
+                    null,
+                    n.inherited
+                      ? a.a.createElement(
+                          "button",
+                          { className: "btn btn-inverse btn-small" },
+                          a.a.createElement("i", { className: "fa fa-lock" })
+                        )
+                      : a.a.createElement(
+                          "a",
+                          {
+                            className: "btn btn-danger btn-small",
+                            onClick: this.onRemoveItem,
+                          },
+                          a.a.createElement("i", { className: "fa fa-remove" })
+                        )
+                  )
+                );
+              },
+            },
+          ]) && c(n.prototype, r),
+          l && c(n, l),
+          t
+        );
+      })(r.PureComponent);
+      function g(e) {
+        return (g =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function b(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function v(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function y(e, t) {
+        return !t || ("object" !== g(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function w(e) {
+        return (w = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function O(e, t) {
+        return (O =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var x = (function (e) {
+        function t() {
+          return b(this, t), y(this, w(t).apply(this, arguments));
+        }
+        var n, r, l;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && O(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e = this.props.item,
+                  t = i.f.find(function (t) {
+                    return t.value === e.permission;
+                  });
+                return a.a.createElement(
+                  "tr",
+                  { className: "gf-form-disabled" },
+                  a.a.createElement(
+                    "td",
+                    { style: { width: "1%" } },
+                    a.a.createElement("i", {
+                      style: { width: "25px", height: "25px" },
+                      className: "gicon gicon-shield",
+                    })
+                  ),
+                  a.a.createElement(
+                    "td",
+                    { style: { width: "90%" } },
+                    e.name,
+                    a.a.createElement(
+                      "span",
+                      { className: "filter-table__weak-italic" },
+                      " (Role)"
+                    )
+                  ),
+                  a.a.createElement("td", null),
+                  a.a.createElement(
+                    "td",
+                    { className: "query-keyword" },
+                    "Can"
+                  ),
+                  a.a.createElement(
+                    "td",
+                    null,
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form" },
+                      a.a.createElement(o.Select, {
+                        options: i.f,
+                        onChange: function () {},
+                        isDisabled: !0,
+                        className: "gf-form-select-box__control--menu-right",
+                        value: t,
+                      })
+                    )
+                  ),
+                  a.a.createElement(
+                    "td",
+                    null,
+                    a.a.createElement(
+                      "button",
+                      { className: "btn btn-inverse btn-small" },
+                      a.a.createElement("i", { className: "fa fa-lock" })
+                    )
+                  )
+                );
+              },
+            },
+          ]) && v(n.prototype, r),
+          l && v(n, l),
+          t
+        );
+      })(r.Component);
+      function k(e) {
+        return (k =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function j(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function S(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function E(e, t) {
+        return !t || ("object" !== k(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function C(e) {
+        return (C = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function P(e, t) {
+        return (P =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var T = (function (e) {
+        function t() {
+          return j(this, t), E(this, C(t).apply(this, arguments));
+        }
+        var n, r, o;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && P(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.items,
+                  n = e.onRemoveItem,
+                  r = e.onPermissionChanged,
+                  o = e.isFetching,
+                  i = e.folderInfo;
+                return a.a.createElement(
+                  "table",
+                  { className: "filter-table gf-form-group" },
+                  a.a.createElement(
+                    "tbody",
+                    null,
+                    a.a.createElement(x, {
+                      key: 0,
+                      item: {
+                        name: "Admin",
+                        permission: 4,
+                        icon: "fa fa-fw fa-street-view",
+                      },
+                    }),
+                    t.map(function (e, t) {
+                      return a.a.createElement(m, {
+                        key: t + 1,
+                        item: e,
+                        onRemoveItem: n,
+                        onPermissionChanged: r,
+                        folderInfo: i,
+                      });
+                    }),
+                    !0 === o && t.length < 1
+                      ? a.a.createElement(
+                          "tr",
+                          null,
+                          a.a.createElement(
+                            "td",
+                            { colSpan: 4 },
+                            a.a.createElement(
+                              "em",
+                              null,
+                              "Loading permissions..."
+                            )
+                          )
+                        )
+                      : null,
+                    !1 === o && t.length < 1
+                      ? a.a.createElement(
+                          "tr",
+                          null,
+                          a.a.createElement(
+                            "td",
+                            { colSpan: 4 },
+                            a.a.createElement(
+                              "em",
+                              null,
+                              "No permissions are set. Will only be accessible by admins."
+                            )
+                          )
+                        )
+                      : null
+                  )
+                );
+              },
+            },
+          ]) && S(n.prototype, r),
+          o && S(n, o),
+          t
+        );
+      })(r.PureComponent);
+      t.a = T;
+    },
+    "3ulR": function (e, t, n) {
+      "use strict";
+      var r = n("LvDl"),
+        a = n.n(r),
+        o = n("QNPh"),
+        i = new o.b({
+          type: "query",
+          params: [
+            { name: "queryRefId", type: "string", dynamicLookup: !0 },
+            {
+              name: "from",
+              type: "string",
+              options: ["10s", "1m", "5m", "10m", "15m", "1h", "24h", "48h"],
+            },
+            {
+              name: "to",
+              type: "string",
+              options: ["now", "now-1m", "now-5m", "now-10m", "now-1h"],
+            },
+          ],
+          defaultParams: ["#A", "15m", "now", "avg"],
+        });
+      function l(e, t) {
+        return a.a
+          .reduce(
+            e,
+            function (e, t) {
+              return (
+                void 0 !== t.metric &&
+                  void 0 !== t.value &&
+                  e.push(t.metric + "=" + t.value),
+                void 0 !== t.Metric &&
+                  void 0 !== t.Value &&
+                  e.push(t.Metric + "=" + t.Value),
+                e
+              );
+            },
+            []
+          )
+          .join(t);
+      }
+      t.a = {
+        alertQueryDef: i,
+        getStateDisplayModel: function (e) {
+          switch (e) {
+            case "ok":
+              return {
+                text: "OK",
+                iconClass: "icon-gf icon-gf-online",
+                stateClass: "alert-state-ok",
+              };
+            case "alerting":
+              return {
+                text: "ALERTING",
+                iconClass: "icon-gf icon-gf-critical",
+                stateClass: "alert-state-critical",
+              };
+            case "no_data":
+              return {
+                text: "NO DATA",
+                iconClass: "fa fa-question",
+                stateClass: "alert-state-warning",
+              };
+            case "paused":
+              return {
+                text: "PAUSED",
+                iconClass: "fa fa-pause",
+                stateClass: "alert-state-paused",
+              };
+            case "pending":
+              return {
+                text: "PENDING",
+                iconClass: "fa fa-exclamation",
+                stateClass: "alert-state-warning",
+              };
+            case "unknown":
+              return {
+                text: "UNKNOWN",
+                iconClass: "fa fa-question",
+                stateClass: "alert-state-paused",
+              };
+          }
+          throw { message: "Unknown alert state" };
+        },
+        conditionTypes: [{ text: "Query", value: "query" }],
+        evalFunctions: [
+          { text: "IS ABOVE", value: "gt" },
+          { text: "IS BELOW", value: "lt" },
+          { text: "IS OUTSIDE RANGE", value: "outside_range" },
+          { text: "IS WITHIN RANGE", value: "within_range" },
+          { text: "HAS NO VALUE", value: "no_value" },
+        ],
+        evalOperators: [
+          { text: "OR", value: "or" },
+          { text: "AND", value: "and" },
+        ],
+        noDataModes: [
+          { text: "Alerting", value: "alerting" },
+          { text: "No Data", value: "no_data" },
+          { text: "Keep Last State", value: "keep_state" },
+          { text: "Ok", value: "ok" },
+        ],
+        executionErrorModes: [
+          { text: "Alerting", value: "alerting" },
+          { text: "Keep Last State", value: "keep_state" },
+        ],
+        reducerTypes: [
+          { text: "avg()", value: "avg" },
+          { text: "min()", value: "min" },
+          { text: "max()", value: "max" },
+          { text: "sum()", value: "sum" },
+          { text: "count()", value: "count" },
+          { text: "last()", value: "last" },
+          { text: "median()", value: "median" },
+          { text: "diff()", value: "diff" },
+          { text: "diff_abs()", value: "diff_abs" },
+          { text: "percent_diff()", value: "percent_diff" },
+          { text: "percent_diff_abs()", value: "percent_diff_abs" },
+          { text: "count_non_null()", value: "count_non_null" },
+        ],
+        createReducerPart: function (e) {
+          var t = new o.b({ type: e.type, defaultParams: [] });
+          return new o.a(e, t);
+        },
+        getAlertAnnotationInfo: function (e) {
+          return a.a.isArray(e.data)
+            ? l(e.data, ", ")
+            : a.a.isArray(e.data.evalMatches)
+            ? l(e.data.evalMatches, ", ")
+            : e.data.error
+            ? "Error: " + e.data.error
+            : "";
+        },
+        alertStateSortScore: {
+          alerting: 1,
+          no_data: 2,
+          pending: 3,
+          ok: 4,
+          paused: 5,
+        },
+      };
+    },
+    "3x4x": function (e, t, n) {
+      "use strict";
+      var r,
+        a,
+        o,
+        i,
+        l = function (e) {
+          r = e;
+        },
+        s = function () {
+          return r;
+        };
+      function c(e) {
+        a = e;
+      }
+      function u() {
+        return a;
+      }
+      function f(e) {
+        o = e;
+      }
+      function d() {
+        return o;
+      }
+      function p(e) {
+        i = e;
+      }
+      function h() {
+        return i;
+      }
+      var m = n("zlcF");
+      n.d(t, "i", function () {
+        return l;
+      }),
+        n.d(t, "c", function () {
+          return s;
+        }),
+        n.d(t, "h", function () {
+          return c;
+        }),
+        n.d(t, "b", function () {
+          return u;
+        }),
+        n.d(t, "j", function () {
+          return f;
+        }),
+        n.d(t, "d", function () {
+          return d;
+        }),
+        n.d(t, "l", function () {
+          return p;
+        }),
+        n.d(t, "f", function () {
+          return h;
+        }),
+        n.d(t, "a", function () {
+          return m.a;
+        }),
+        n.d(t, "k", function () {
+          return m.d;
+        }),
+        n.d(t, "e", function () {
+          return m.b;
+        }),
+        n.d(t, "g", function () {
+          return m.c;
+        });
+    },
+    "4DTL": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return m;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDLi"),
+        i = n("Xmxp"),
+        l = n("GQ3c");
+      function s(e) {
+        return (s =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function c(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function u(e, t) {
+        return !t || ("object" !== s(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function f(e) {
+        return (f = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function d(e, t) {
+        return (d =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var p = function (e) {
+          var t = e.main,
+            n = e.customCss,
+            r = t.children.find(function (e) {
+              return !0 === e.active;
+            });
+          return a.a.createElement(
+            "div",
+            { className: "gf-form-select-wrapper width-20 ".concat(n) },
+            a.a.createElement("label", {
+              className: "gf-form-select-icon ".concat(r.icon),
+              htmlFor: "page-header-select-nav",
+            }),
+            a.a.createElement(
+              "select",
+              {
+                className: "gf-select-nav gf-form-input",
+                value: r.url,
+                onChange: function (e) {
+                  var t = e.target,
+                    n = t.options[t.selectedIndex].value;
+                  i.b.emit(l.CoreEvents.locationChange, { href: n });
+                },
+                id: "page-header-select-nav",
+              },
+              t.children.map(function (e) {
+                return e.hideFromTabs
+                  ? null
+                  : a.a.createElement(
+                      "option",
+                      { key: e.url, value: e.url },
+                      e.text
+                    );
+              })
+            )
+          );
+        },
+        h = function (e) {
+          var t = e.main;
+          return a.a.createElement(
+            "nav",
+            null,
+            a.a.createElement(p, {
+              customCss: "page-header__select-nav",
+              main: t,
+            }),
+            a.a.createElement(
+              o.TabsBar,
+              { className: "page-header__tabs", hideBorder: !0 },
+              t.children.map(function (e, n) {
+                return (
+                  !e.hideFromTabs &&
+                  a.a.createElement(o.Tab, {
+                    label: e.text,
+                    active: e.active,
+                    key: "".concat(e.url, "-").concat(n),
+                    icon: e.icon,
+                    onChangeTab: function () {
+                      return (function (e) {
+                        t.children.forEach(function (t, n) {
+                          n === e &&
+                            i.b.emit(l.CoreEvents.locationChange, {
+                              href: t.url,
+                            });
+                        });
+                      })(n);
+                    },
+                  })
+                );
+              })
+            )
+          );
+        },
+        m = (function (e) {
+          function t(e) {
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              u(this, f(t).call(this, e))
+            );
+          }
+          var n, r, o;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && d(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "shouldComponentUpdate",
+                value: function () {
+                  return !0;
+                },
+              },
+              {
+                key: "renderTitle",
+                value: function (e, t) {
+                  if (!(e || (t && 0 !== t.length))) return null;
+                  if (!t || 0 === t.length)
+                    return a.a.createElement(
+                      "h1",
+                      { className: "page-header__title" },
+                      e
+                    );
+                  var n = [],
+                    r = !0,
+                    o = !1,
+                    i = void 0;
+                  try {
+                    for (
+                      var l, s = t[Symbol.iterator]();
+                      !(r = (l = s.next()).done);
+                      r = !0
+                    ) {
+                      var c = l.value;
+                      c.url
+                        ? n.push(
+                            a.a.createElement(
+                              "a",
+                              {
+                                className: "text-link",
+                                key: n.length,
+                                href: c.url,
+                              },
+                              c.title
+                            )
+                          )
+                        : n.push(
+                            a.a.createElement(
+                              "span",
+                              { key: n.length },
+                              " / ",
+                              c.title
+                            )
+                          );
+                    }
+                  } catch (e) {
+                    (o = !0), (i = e);
+                  } finally {
+                    try {
+                      r || null == s.return || s.return();
+                    } finally {
+                      if (o) throw i;
+                    }
+                  }
+                  return (
+                    n.push(
+                      a.a.createElement("span", { key: t.length + 1 }, " / ", e)
+                    ),
+                    a.a.createElement(
+                      "h1",
+                      { className: "page-header__title" },
+                      n
+                    )
+                  );
+                },
+              },
+              {
+                key: "renderHeaderTitle",
+                value: function (e) {
+                  return a.a.createElement(
+                    "div",
+                    { className: "page-header__inner" },
+                    a.a.createElement(
+                      "span",
+                      { className: "page-header__logo" },
+                      e.icon &&
+                        a.a.createElement("i", {
+                          className: "page-header__icon ".concat(e.icon),
+                        }),
+                      e.img &&
+                        a.a.createElement("img", {
+                          className: "page-header__img",
+                          src: e.img,
+                        })
+                    ),
+                    a.a.createElement(
+                      "div",
+                      { className: "page-header__info-block" },
+                      this.renderTitle(e.text, e.breadcrumbs),
+                      e.subTitle &&
+                        a.a.createElement(
+                          "div",
+                          { className: "page-header__sub-title" },
+                          e.subTitle
+                        )
+                    )
+                  );
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props.model;
+                  if (!e) return null;
+                  var t = e.main;
+                  return a.a.createElement(
+                    "div",
+                    { className: "page-header-canvas" },
+                    a.a.createElement(
+                      "div",
+                      { className: "page-container" },
+                      a.a.createElement(
+                        "div",
+                        { className: "page-header" },
+                        this.renderHeaderTitle(t),
+                        t.children && a.a.createElement(h, { main: t })
+                      )
+                    )
+                  );
+                },
+              },
+            ]) && c(n.prototype, r),
+            o && c(n, o),
+            t
+          );
+        })(a.a.Component);
+    },
+    "4Qg+": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return f;
+      }),
+        n.d(t, "b", function () {
+          return d;
+        }),
+        n.d(t, "f", function () {
+          return p;
+        }),
+        n.d(t, "d", function () {
+          return h;
+        }),
+        n.d(t, "e", function () {
+          return m;
+        }),
+        n.d(t, "c", function () {
+          return g;
+        });
+      var r = n("kDDq");
+      function a() {
+        var e = u(["\n      width: ", ";\n    "]);
+        return (
+          (a = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function o() {
+        var e = u(["\n      width: ", ";\n    "]);
+        return (
+          (o = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function i() {
+        var e = u(["\n      width: ", ";\n    "]);
+        return (
+          (i = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function l() {
+        var e = u(["\n      width: ", ";\n    "]);
+        return (
+          (l = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function s() {
+        var e = u([
+          "\n    background-color: ",
+          ";\n    line-height: ",
+          ";\n    font-size: ",
+          ";\n    color: ",
+          ";\n    border: 1px solid ",
+          ";\n    padding: 0 ",
+          " 0 ",
+          ";\n\n    &:-webkit-autofill,\n    &:-webkit-autofill:hover {\n      /* Welcome to 2005. This is a HACK to get rid od Chromes default autofill styling */\n      box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0), inset 0 0 0 100px ",
+          "!important;\n    }\n\n    &:-webkit-autofill:focus {\n      /* Welcome to 2005. This is a HACK to get rid od Chromes default autofill styling */\n      box-shadow: 0 0 0 2px ",
+          ", 0 0 0px 4px ",
+          ",\n        inset 0 0 0 1px rgba(255, 255, 255, 0), inset 0 0 0 100px ",
+          "!important;\n    }\n\n    &:hover {\n      border-color: ",
+          ";\n    }\n\n    &:focus {\n      outline: none;\n    }\n\n    &:disabled {\n      background-color: ",
+          ";\n      color: ",
+          ";\n    }\n\n    &::placeholder {\n      color: ",
+          ";\n      opacity: 1;\n    }\n  ",
+        ]);
+        return (
+          (s = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function c() {
+        var e = u(["\n  &:focus {\n    ", "\n  }\n"]);
+        return (
+          (c = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function u(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var f = function (e) {
+          return "\n  outline: 2px dotted transparent;\n  outline-offset: 2px;\n  box-shadow: 0 0 0 2px "
+            .concat(e.colors.pageBg, ", 0 0 0px 4px ")
+            .concat(
+              e.colors.formFocusOutline,
+              ";\n  transition: all 0.2s cubic-bezier(0.19, 1, 0.22, 1);\n"
+            );
+        },
+        d = function (e) {
+          return Object(r.css)(c(), f(e));
+        },
+        p = function (e) {
+          var t =
+              arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
+            n = e.colors,
+            a = t ? n.redBase : n.formInputBorder;
+          return Object(r.css)(
+            s(),
+            n.formInputBg,
+            e.typography.lineHeight.md,
+            e.typography.size.md,
+            n.formInputText,
+            a,
+            e.spacing.sm,
+            e.spacing.sm,
+            n.formInputBg,
+            e.colors.pageBg,
+            e.colors.formFocusOutline,
+            n.formInputBg,
+            a,
+            n.formInputBgDisabled,
+            n.formInputDisabledText,
+            n.formInputPlaceholderText
+          );
+        },
+        h = function () {
+          return {
+            sm: Object(r.css)(l(), m("sm")),
+            md: Object(r.css)(i(), m("md")),
+            lg: Object(r.css)(o(), m("lg")),
+            auto: Object(r.css)(a(), m("auto")),
+          };
+        },
+        m = function (e) {
+          switch (e) {
+            case "sm":
+              return "200px";
+            case "md":
+              return "320px";
+            case "lg":
+              return "580px";
+            case "auto":
+            default:
+              return "auto";
+          }
+        },
+        g = function (e, t) {
+          switch (t) {
+            case "sm":
+              return {
+                padding: "0 ".concat(e.spacing.sm),
+                fontSize: e.typography.size.sm,
+                height: e.height.sm,
+              };
+            case "md":
+              return {
+                padding: "0 ".concat(e.spacing.md),
+                fontSize: e.typography.size.md,
+                height: "".concat(e.spacing.formButtonHeight, "px"),
+              };
+            case "lg":
+              return {
+                padding: "0 ".concat(e.spacing.lg),
+                fontSize: e.typography.size.lg,
+                height: e.height.lg,
+              };
+            default:
+              return {
+                padding: "0 ".concat(e.spacing.md),
+                fontSize: e.typography.size.base,
+                height: e.height.md,
+              };
+          }
+        };
+    },
+    "4RCQ": function (e, t, n) {
+      "use strict";
+      var r = n("6blF"),
+        a = n("p+Sq"),
+        o = n("Obii");
+      function i(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function l(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function s(e) {
+        if (!e) return !1;
+        if ("-- Dashboard --" === e) return !0;
+        var t = e;
+        return t.meta && "-- Dashboard --" === t.meta.name;
+      }
+      function c(e) {
+        return new r.a(function (t) {
+          var n = Object(a.a)().getCurrent(),
+            r = (function (e) {
+              if (!e || !e.length) return;
+              return e[0].panelId;
+            })(e.queries);
+          if (!r) return t.next(u("Missing panel reference ID")), null;
+          var o = n.getPanelById(e.panelId),
+            s = n.getPanelById(r);
+          if (!s) return t.next(u("Unknown Panel: " + r)), null;
+          var c = s.getQueryRunner(),
+            f = c.getData(!1).subscribe({
+              next: function (e) {
+                t.next(e);
+              },
+            });
+          if (o.fullscreen) {
+            var d = s.datasource,
+              p = s.targets,
+              h = (function (e) {
+                for (var t = 1; t < arguments.length; t++) {
+                  var n = null != arguments[t] ? arguments[t] : {};
+                  t % 2
+                    ? i(Object(n), !0).forEach(function (t) {
+                        l(e, t, n[t]);
+                      })
+                    : Object.getOwnPropertyDescriptors
+                    ? Object.defineProperties(
+                        e,
+                        Object.getOwnPropertyDescriptors(n)
+                      )
+                    : i(Object(n)).forEach(function (t) {
+                        Object.defineProperty(
+                          e,
+                          t,
+                          Object.getOwnPropertyDescriptor(n, t)
+                        );
+                      });
+                }
+                return e;
+              })({}, e, { datasource: d, panelId: r, queries: p });
+            c.run(h);
+          }
+          return function () {
+            console.log("runSharedRequest unsubscribe"), f.unsubscribe();
+          };
+        });
+      }
+      function u(e) {
+        return {
+          state: o.LoadingState.Error,
+          series: [],
+          error: { message: e },
+          timeRange: o.DefaultTimeRange,
+        };
+      }
+      var f = n("q1tI"),
+        d = n.n(f),
+        p = n("kDLi"),
+        h = n("ZFWI"),
+        m = n("kDDq"),
+        g = n("WnbS"),
+        b = n("O945");
+      function v(e) {
+        return (v =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function y(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function w(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              y(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              y(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function O(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function x(e, t) {
+        return !t || ("object" !== v(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function k(e) {
+        return (k = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function j(e, t) {
+        return (j =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      function S(e) {
+        return JSON.stringify(e);
+      }
+      var E = (function (e) {
+        function t(e) {
+          var n;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            ((n = x(this, k(t).call(this, e))).onPanelChanged = function (e) {
+              var t = n.props.onChange,
+                r = n.getQuery();
+              (r.panelId = e), t(r), n.props.panel.refresh();
+            }),
+            (n.getPanelDescription = function (e) {
+              var t = n.state.defaultDatasource,
+                r = e.datasource ? e.datasource : t;
+              return 1 === e.targets.length
+                ? "1 query to " + r
+                : e.targets.length + " queries to " + r;
+            }),
+            (n.state = { defaultDatasource: "", results: [] }),
+            n
+          );
+        }
+        var n, r, o, i, l;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && j(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "getQuery",
+              value: function () {
+                return this.props.panel.targets[0];
+              },
+            },
+            {
+              key: "componentDidMount",
+              value:
+                ((l = w(
+                  regeneratorRuntime.mark(function e() {
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              this.componentDidUpdate(null);
+                            case 1:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this
+                    );
+                  })
+                )),
+                function () {
+                  return l.apply(this, arguments);
+                }),
+            },
+            {
+              key: "componentDidUpdate",
+              value:
+                ((i = w(
+                  regeneratorRuntime.mark(function e(t) {
+                    var n, r, o, i, l, s, c, u, f, d, p, h, m, v, y, w, O;
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              if (
+                                ((n = this.props.panelData),
+                                t && t.panelData === n)
+                              ) {
+                                e.next = 52;
+                                break;
+                              }
+                              return (
+                                (r = this.props.panel.targets[0]),
+                                (e.next = 5),
+                                Object(g.a)().get(null)
+                              );
+                            case 5:
+                              if (
+                                ((o = e.sent),
+                                (i = Object(a.a)().getCurrent()),
+                                (l = i.getPanelById(r.panelId)))
+                              ) {
+                                e.next = 11;
+                                break;
+                              }
+                              return (
+                                this.setState({ defaultDatasource: o.name }),
+                                e.abrupt("return")
+                              );
+                            case 11:
+                              return (
+                                (e.next = 13), Object(g.a)().get(l.datasource)
+                              );
+                            case 13:
+                              (s = e.sent),
+                                (c = []),
+                                (u = !0),
+                                (f = !1),
+                                (d = void 0),
+                                (e.prev = 18),
+                                (p = l.targets[Symbol.iterator]());
+                            case 20:
+                              if ((u = (h = p.next()).done)) {
+                                e.next = 37;
+                                break;
+                              }
+                              if (!(m = h.value).datasource) {
+                                e.next = 28;
+                                break;
+                              }
+                              return (
+                                (e.next = 25), Object(g.a)().get(m.datasource)
+                              );
+                            case 25:
+                              (e.t0 = e.sent), (e.next = 29);
+                              break;
+                            case 28:
+                              e.t0 = s;
+                            case 29:
+                              (v = e.t0),
+                                (y = v.getQueryDisplayText
+                                  ? v.getQueryDisplayText
+                                  : S),
+                                (w = Object(b.b)(n, m.refId)),
+                                (O = w || n),
+                                c.push({
+                                  refId: m.refId,
+                                  query: y(m),
+                                  img: v.meta.info.logos.small,
+                                  data: O.series,
+                                  error: O.error,
+                                });
+                            case 34:
+                              (u = !0), (e.next = 20);
+                              break;
+                            case 37:
+                              e.next = 43;
+                              break;
+                            case 39:
+                              (e.prev = 39),
+                                (e.t1 = e.catch(18)),
+                                (f = !0),
+                                (d = e.t1);
+                            case 43:
+                              (e.prev = 43),
+                                (e.prev = 44),
+                                u || null == p.return || p.return();
+                            case 46:
+                              if (((e.prev = 46), !f)) {
+                                e.next = 49;
+                                break;
+                              }
+                              throw d;
+                            case 49:
+                              return e.finish(46);
+                            case 50:
+                              return e.finish(43);
+                            case 51:
+                              this.setState({
+                                defaultDatasource: o.name,
+                                results: c,
+                              });
+                            case 52:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this,
+                      [
+                        [18, 39, 43, 51],
+                        [44, , 46, 50],
+                      ]
+                    );
+                  })
+                )),
+                function (e) {
+                  return i.apply(this, arguments);
+                }),
+            },
+            {
+              key: "renderQueryData",
+              value: function (e) {
+                var t = this.state.results;
+                return d.a.createElement(
+                  "div",
+                  null,
+                  t.map(function (t, n) {
+                    return d.a.createElement(
+                      "div",
+                      { className: "query-editor-row__header", key: n },
+                      d.a.createElement(
+                        "div",
+                        { className: "query-editor-row__ref-id" },
+                        d.a.createElement("img", {
+                          src: t.img,
+                          width: 16,
+                          className: Object(m.css)({ marginRight: "8px" }),
+                        }),
+                        t.refId,
+                        ":"
+                      ),
+                      d.a.createElement(
+                        "div",
+                        { className: "query-editor-row__collapsed-text" },
+                        d.a.createElement(
+                          "a",
+                          { href: e },
+                          t.query,
+                          " ",
+                          d.a.createElement("i", {
+                            className: "fa fa-external-link",
+                          })
+                        )
+                      )
+                    );
+                  })
+                );
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e,
+                  t = this,
+                  n = Object(a.a)().getCurrent(),
+                  r = this.getQuery(),
+                  o = [],
+                  i = !0,
+                  l = !1,
+                  s = void 0;
+                try {
+                  for (
+                    var c, u = n.panels[Symbol.iterator]();
+                    !(i = (c = u.next()).done);
+                    i = !0
+                  ) {
+                    var f = c.value,
+                      g = h.b.panels[f.type];
+                    if (g && f.targets && "-- Dashboard --" !== f.datasource) {
+                      var b = {
+                        value: f.id,
+                        label: f.title ? f.title : "Panel " + f.id,
+                        description: this.getPanelDescription(f),
+                        imgUrl: g.info.logos.small,
+                      };
+                      o.push(b), r.panelId === f.id && (e = b);
+                    }
+                  }
+                } catch (e) {
+                  (l = !0), (s = e);
+                } finally {
+                  try {
+                    i || null == u.return || u.return();
+                  } finally {
+                    if (l) throw s;
+                  }
+                }
+                if (o.length < 1)
+                  return d.a.createElement(
+                    "div",
+                    { className: Object(m.css)({ padding: "10px" }) },
+                    "This dashboard does not have other panels. Add queries to other panels and try again"
+                  );
+                var v = "d/"
+                  .concat(n.uid, "/")
+                  .concat(n.title, "?&fullscreen&edit&panelId=")
+                  .concat(r.panelId);
+                return d.a.createElement(
+                  "div",
+                  null,
+                  d.a.createElement(
+                    "div",
+                    { className: "gf-form" },
+                    d.a.createElement(
+                      "div",
+                      { className: "gf-form-label" },
+                      "Use results from panel"
+                    ),
+                    d.a.createElement(p.Select, {
+                      placeholder: "Choose Panel",
+                      isSearchable: !0,
+                      options: o,
+                      value: e,
+                      onChange: function (e) {
+                        return t.onPanelChanged(e.value);
+                      },
+                    })
+                  ),
+                  d.a.createElement(
+                    "div",
+                    { className: Object(m.css)({ padding: "16px" }) },
+                    r.panelId && this.renderQueryData(v)
+                  )
+                );
+              },
+            },
+          ]) && O(n.prototype, r),
+          o && O(n, o),
+          t
+        );
+      })(f.PureComponent);
+      n.d(t, "b", function () {
+        return s;
+      }),
+        n.d(t, "c", function () {
+          return c;
+        }),
+        n.d(t, "a", function () {
+          return E;
+        });
+    },
+    "4Umt": function (e, t) {
+      !(function (e) {
+        function t(e, t) {
+          return t * Math.floor(e / t);
+        }
+        function n(e, t, n, r) {
+          if ("function" == typeof e.strftime) return e.strftime(t);
+          var a,
+            o = function (e, t) {
+              return (
+                (t = "" + (null == t ? "0" : t)),
+                1 == (e = "" + e).length ? t + e : e
+              );
+            },
+            i = [],
+            l = !1,
+            s = e.getHours(),
+            c = s < 12;
+          null == n &&
+            (n = [
+              "Jan",
+              "Feb",
+              "Mar",
+              "Apr",
+              "May",
+              "Jun",
+              "Jul",
+              "Aug",
+              "Sep",
+              "Oct",
+              "Nov",
+              "Dec",
+            ]),
+            null == r &&
+              (r = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]),
+            (a = s > 12 ? s - 12 : 0 == s ? 12 : s);
+          for (var u = 0; u < t.length; ++u) {
+            var f = t.charAt(u);
+            if (l) {
+              switch (f) {
+                case "a":
+                  f = "" + r[e.getDay()];
+                  break;
+                case "b":
+                  f = "" + n[e.getMonth()];
+                  break;
+                case "d":
+                  f = o(e.getDate(), "");
+                  break;
+                case "e":
+                  f = o(e.getDate(), " ");
+                  break;
+                case "h":
+                case "H":
+                  f = o(s);
+                  break;
+                case "I":
+                  f = o(a);
+                  break;
+                case "l":
+                  f = o(a, " ");
+                  break;
+                case "m":
+                  f = o(e.getMonth() + 1, "");
+                  break;
+                case "M":
+                  f = o(e.getMinutes());
+                  break;
+                case "q":
+                  f = "" + (Math.floor(e.getMonth() / 3) + 1);
+                  break;
+                case "S":
+                  f = o(e.getSeconds());
+                  break;
+                case "y":
+                  f = o(e.getFullYear() % 100);
+                  break;
+                case "Y":
+                  f = "" + e.getFullYear();
+                  break;
+                case "p":
+                  f = c ? "am" : "pm";
+                  break;
+                case "P":
+                  f = c ? "AM" : "PM";
+                  break;
+                case "w":
+                  f = "" + e.getDay();
+              }
+              i.push(f), (l = !1);
+            } else "%" == f ? (l = !0) : i.push(f);
+          }
+          return i.join("");
+        }
+        function r(e) {
+          function t(e, t, n, r) {
+            e[t] = function () {
+              return n[r].apply(n, arguments);
+            };
+          }
+          var n = { date: e };
+          null != e.strftime && t(n, "strftime", e, "strftime"),
+            t(n, "getTime", e, "getTime"),
+            t(n, "setTime", e, "setTime");
+          for (
+            var r = [
+                "Date",
+                "Day",
+                "FullYear",
+                "Hours",
+                "Milliseconds",
+                "Minutes",
+                "Month",
+                "Seconds",
+              ],
+              a = 0;
+            a < r.length;
+            a++
+          )
+            t(n, "get" + r[a], e, "getUTC" + r[a]),
+              t(n, "set" + r[a], e, "setUTC" + r[a]);
+          return n;
+        }
+        function a(e, t) {
+          if ("browser" == t.timezone) return new Date(e);
+          if (t.timezone && "utc" != t.timezone) {
+            if (
+              "undefined" != typeof timezoneJS &&
+              void 0 !== timezoneJS.Date
+            ) {
+              var n = new timezoneJS.Date();
+              return n.setTimezone(t.timezone), n.setTime(e), n;
+            }
+            return r(new Date(e));
+          }
+          return r(new Date(e));
+        }
+        var o = {
+            second: 1e3,
+            minute: 6e4,
+            hour: 36e5,
+            day: 864e5,
+            month: 2592e6,
+            quarter: 7776e6,
+            year: 525949.2 * 60 * 1e3,
+          },
+          i = [
+            [1, "second"],
+            [2, "second"],
+            [5, "second"],
+            [10, "second"],
+            [30, "second"],
+            [1, "minute"],
+            [2, "minute"],
+            [5, "minute"],
+            [10, "minute"],
+            [30, "minute"],
+            [1, "hour"],
+            [2, "hour"],
+            [4, "hour"],
+            [8, "hour"],
+            [12, "hour"],
+            [1, "day"],
+            [2, "day"],
+            [3, "day"],
+            [0.25, "month"],
+            [0.5, "month"],
+            [1, "month"],
+            [2, "month"],
+          ],
+          l = i.concat([
+            [3, "month"],
+            [6, "month"],
+            [1, "year"],
+          ]),
+          s = i.concat([
+            [1, "quarter"],
+            [2, "quarter"],
+            [1, "year"],
+          ]);
+        e.plot.plugins.push({
+          init: function (r) {
+            r.hooks.processOptions.push(function (r, i) {
+              e.each(r.getAxes(), function (e, r) {
+                var i = r.options;
+                "time" == i.mode &&
+                  ((r.tickGenerator = function (e) {
+                    var n = [],
+                      r = a(e.min, i),
+                      c = 0,
+                      u =
+                        (i.tickSize && "quarter" === i.tickSize[1]) ||
+                        (i.minTickSize && "quarter" === i.minTickSize[1])
+                          ? s
+                          : l;
+                    null != i.minTickSize &&
+                      (c =
+                        "number" == typeof i.tickSize
+                          ? i.tickSize
+                          : i.minTickSize[0] * o[i.minTickSize[1]]);
+                    for (
+                      var f = 0;
+                      f < u.length - 1 &&
+                      !(
+                        e.delta <
+                          (u[f][0] * o[u[f][1]] +
+                            u[f + 1][0] * o[u[f + 1][1]]) /
+                            2 && u[f][0] * o[u[f][1]] >= c
+                      );
+                      ++f
+                    );
+                    var d = u[f][0],
+                      p = u[f][1];
+                    if ("year" == p) {
+                      if (null != i.minTickSize && "year" == i.minTickSize[1])
+                        d = Math.floor(i.minTickSize[0]);
+                      else {
+                        var h = Math.pow(
+                            10,
+                            Math.floor(Math.log(e.delta / o.year) / Math.LN10)
+                          ),
+                          m = e.delta / o.year / h;
+                        (d = m < 1.5 ? 1 : m < 3 ? 2 : m < 7.5 ? 5 : 10),
+                          (d *= h);
+                      }
+                      d < 1 && (d = 1);
+                    }
+                    e.tickSize = i.tickSize || [d, p];
+                    var g = e.tickSize[0];
+                    p = e.tickSize[1];
+                    var b = g * o[p];
+                    "second" == p
+                      ? r.setSeconds(t(r.getSeconds(), g))
+                      : "minute" == p
+                      ? r.setMinutes(t(r.getMinutes(), g))
+                      : "hour" == p
+                      ? r.setHours(t(r.getHours(), g))
+                      : "month" == p
+                      ? r.setMonth(t(r.getMonth(), g))
+                      : "quarter" == p
+                      ? r.setMonth(3 * t(r.getMonth() / 3, g))
+                      : "year" == p && r.setFullYear(t(r.getFullYear(), g)),
+                      r.setMilliseconds(0),
+                      b >= o.minute && r.setSeconds(0),
+                      b >= o.hour && r.setMinutes(0),
+                      b >= o.day && r.setHours(0),
+                      b >= 4 * o.day && r.setDate(1),
+                      b >= 2 * o.month && r.setMonth(t(r.getMonth(), 3)),
+                      b >= 2 * o.quarter && r.setMonth(t(r.getMonth(), 6)),
+                      b >= o.year && r.setMonth(0);
+                    var v,
+                      y = 0,
+                      w = Number.NaN;
+                    do {
+                      if (
+                        ((v = w),
+                        (w = r.getTime()),
+                        n.push(w),
+                        "month" == p || "quarter" == p)
+                      )
+                        if (g < 1) {
+                          r.setDate(1);
+                          var O = r.getTime();
+                          r.setMonth(r.getMonth() + ("quarter" == p ? 3 : 1));
+                          var x = r.getTime();
+                          r.setTime(w + y * o.hour + (x - O) * g),
+                            (y = r.getHours()),
+                            r.setHours(0);
+                        } else
+                          r.setMonth(
+                            r.getMonth() + g * ("quarter" == p ? 3 : 1)
+                          );
+                      else
+                        "year" == p
+                          ? r.setFullYear(r.getFullYear() + g)
+                          : r.setTime(w + b);
+                    } while (w < e.max && w != v);
+                    return n;
+                  }),
+                  (r.tickFormatter = function (e, t) {
+                    var r = a(e, t.options);
+                    if (null != i.timeformat)
+                      return n(r, i.timeformat, i.monthNames, i.dayNames);
+                    var l =
+                        (t.options.tickSize &&
+                          "quarter" == t.options.tickSize[1]) ||
+                        (t.options.minTickSize &&
+                          "quarter" == t.options.minTickSize[1]),
+                      s = t.tickSize[0] * o[t.tickSize[1]],
+                      c = t.max - t.min,
+                      u = i.twelveHourClock ? " %p" : "",
+                      f = i.twelveHourClock ? "%I" : "%H";
+                    return n(
+                      r,
+                      s < o.minute
+                        ? f + ":%M:%S" + u
+                        : s < o.day
+                        ? c < 2 * o.day
+                          ? f + ":%M" + u
+                          : "%b %d " + f + ":%M" + u
+                        : s < o.month
+                        ? "%b %d"
+                        : (l && s < o.quarter) || (!l && s < o.year)
+                        ? c < o.year
+                          ? "%b"
+                          : "%b %Y"
+                        : l && s < o.year
+                        ? c < o.year
+                          ? "Q%q"
+                          : "Q%q %Y"
+                        : "%Y",
+                      i.monthNames,
+                      i.dayNames
+                    );
+                  }));
+              });
+            });
+          },
+          options: {
+            xaxis: {
+              timezone: null,
+              timeformat: null,
+              twelveHourClock: !1,
+              monthNames: null,
+            },
+          },
+          name: "time",
+          version: "1.0",
+        }),
+          (e.plot.formatDate = n);
+      })(jQuery);
+    },
+    "4aoj": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return a;
+      });
+      var r = n("zlcF"),
+        a = function (e) {
+          Object(r.b)().addEvent({ type: r.a.MetaAnalytics, payload: e });
+        };
+    },
+    "4qJB": function (e, t, n) {
+      "use strict";
+      n.d(t, "h", function () {
+        return c;
+      }),
+        n.d(t, "e", function () {
+          return f;
+        }),
+        n.d(t, "g", function () {
+          return d;
+        }),
+        n.d(t, "b", function () {
+          return i;
+        }),
+        n.d(t, "a", function () {
+          return l;
+        }),
+        n.d(t, "c", function () {
+          return s;
+        }),
+        n.d(t, "i", function () {
+          return p;
+        }),
+        n.d(t, "f", function () {
+          return h;
+        });
+      var r = n("LvDl"),
+        a = n.n(r),
+        o = n("PSiG");
+      n.d(t, "d", function () {
+        return o.a;
+      });
+      var i,
+        l,
+        s,
+        c = /\$(\w+)|\[\[([\s\S]+?)(?::(\w+))?\]\]|\${(\w+)(?:\.([^:^\}]+))?(?::(\w+))?}/g,
+        u = function (e) {
+          return (c.lastIndex = 0), c.exec(e);
+        },
+        f = function (e) {
+          return (
+            !(!e || "string" != typeof e) && -1 !== e.indexOf("__searchFilter")
+          );
+        },
+        d = function (e) {
+          var t = e.query,
+            n = e.wildcardChar;
+          if (!f(t)) return {};
+          var r = e.options;
+          return {
+            __searchFilter: {
+              value: (r = r || { searchFilter: "" }).searchFilter
+                ? "".concat(r.searchFilter).concat(n)
+                : "".concat(n),
+              text: "",
+            },
+          };
+        };
+      !(function (e) {
+        (e[(e.never = 0)] = "never"),
+          (e[(e.onDashboardLoad = 1)] = "onDashboardLoad"),
+          (e[(e.onTimeRangeChanged = 2)] = "onTimeRangeChanged");
+      })(i || (i = {})),
+        (function (e) {
+          (e[(e.dontHide = 0)] = "dontHide"),
+            (e[(e.hideLabel = 1)] = "hideLabel"),
+            (e[(e.hideVariable = 2)] = "hideVariable");
+        })(l || (l = {})),
+        (function (e) {
+          (e[(e.disabled = 0)] = "disabled"),
+            (e[(e.alphabeticalAsc = 1)] = "alphabeticalAsc"),
+            (e[(e.alphabeticalDesc = 2)] = "alphabeticalDesc"),
+            (e[(e.numericalAsc = 3)] = "numericalAsc"),
+            (e[(e.numericalDesc = 4)] = "numericalDesc"),
+            (e[(e.alphabeticalCaseInsensitiveAsc = 5)] =
+              "alphabeticalCaseInsensitiveAsc"),
+            (e[(e.alphabeticalCaseInsensitiveDesc = 6)] =
+              "alphabeticalCaseInsensitiveDesc");
+        })(s || (s = {}));
+      var p = {};
+      function h() {
+        for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++)
+          t[n] = arguments[n];
+        var r = t[t.length - 1];
+        t[0] = a.a.isString(t[0]) ? t[0] : Object.values(t[0]).join(" ");
+        var o = t.slice(0, -1).join(" "),
+          i = o.match(c),
+          l =
+            null !== i &&
+            i.find(function (e) {
+              var t = u(e);
+              return null !== t && t.indexOf(r) > -1;
+            });
+        return !!l;
+      }
+    },
+    "4x4p": function (e, t) {
+      var n = "public/app/features/playlist/partials/playlist_search.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=playlist-search-field-wrapper>\n  <span style=position:relative>\n    <input type=text placeholder="Find dashboards by name" tabindex=1 ng-keydown=ctrl.keyDown($event) ng-model=ctrl.query.query ng-model-options="{ debounce: 500 }" spellcheck=false ng-change=ctrl.searchDashboards() />\n\t\t<div class=playlist-search-switches>\n\t\t\t<i class="fa fa-filter"></i>\n\t\t\t<a class=pointer href="javascript:void 0;" ng-click=ctrl.showStarred() tabindex=2>\n\t\t\t\t<i class="fa fa-remove" ng-show=ctrl.query.starred></i>\n\t\t\t\tstarred\n\t\t\t</a> |\n\t\t\t<a class=pointer href="javascript:void 0;" ng-click=ctrl.getTags() tabindex=3>\n\t\t\t\t<i class="fa fa-remove" ng-show=ctrl.tagsMode></i>\n\t\t\t\ttags\n\t\t\t</a>\n\t\t\t<span ng-if=ctrl.query.tag.length>\n\t\t\t\t|\n\t\t\t\t<span ng-repeat="tagName in ctrl.query.tag">\n\t\t\t\t\t<a ng-click="ctrl.removeTag(tagName, $event)" tag-color-from-name=ctrl.tagName class="label label-tag">\n\t\t\t\t\t\t<i class="fa fa-remove"></i>\n\t\t\t\t\t\t{{tagName}}\n\t\t\t\t\t</a>\n\t\t\t\t</span>\n\t\t\t</span>\n\t\t</div>\n\t</span>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "5/7A": function (e, t, n) {
+      "use strict";
+      n.d(t, "b", function () {
+        return f;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("uomI"),
+        i = n("rEbV");
+      function l() {
+        return (l =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function s(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function c(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function u(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      var f = function (e) {
+        var t = e.children,
+          n = e.theme,
+          f = u(e, ["children", "theme"]),
+          d = Object(r.createRef)(),
+          p = "popper__background" + (n ? " popper__background--" + n : "");
+        return a.a.createElement(i.a, f, function (e, n, r) {
+          var i = (function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = null != arguments[t] ? arguments[t] : {};
+              t % 2
+                ? s(Object(n), !0).forEach(function (t) {
+                    c(e, t, n[t]);
+                  })
+                : Object.getOwnPropertyDescriptors
+                ? Object.defineProperties(
+                    e,
+                    Object.getOwnPropertyDescriptors(n)
+                  )
+                : s(Object(n)).forEach(function (t) {
+                    Object.defineProperty(
+                      e,
+                      t,
+                      Object.getOwnPropertyDescriptor(n, t)
+                    );
+                  });
+            }
+            return e;
+          })({}, r, { show: void 0 !== f.show ? f.show : r.show });
+          return a.a.createElement(
+            a.a.Fragment,
+            null,
+            d.current &&
+              a.a.createElement(
+                o.a,
+                l({}, i, {
+                  onMouseEnter: e,
+                  onMouseLeave: n,
+                  referenceElement: d.current,
+                  wrapperClassName: "popper",
+                  className: p,
+                  renderArrow: function (e) {
+                    var t = e.arrowProps,
+                      n = e.placement;
+                    return a.a.createElement(
+                      "div",
+                      l({ className: "popper__arrow", "data-placement": n }, t)
+                    );
+                  },
+                })
+              ),
+            a.a.cloneElement(t, { ref: d, onMouseEnter: e, onMouseLeave: n })
+          );
+        });
+      };
+    },
+    "5C3A": function (e, t, n) {
+      "use strict";
+      n.d(t, "b", function () {
+        return i;
+      }),
+        n.d(t, "a", function () {
+          return s;
+        });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("ZFWI"),
+        i = function () {
+          return [
+            {
+              text: "Documentation",
+              icon: "fa fa-file-code-o",
+              url:
+                "https://grafana.com/docs/grafana/latest/?utm_source=grafana_footer",
+              target: "_blank",
+            },
+            {
+              text: "Support",
+              icon: "fa fa-support",
+              url:
+                "https://grafana.com/products/enterprise/?utm_source=grafana_footer",
+              target: "_blank",
+            },
+            {
+              text: "Community",
+              icon: "fa fa-comments-o",
+              url: "https://community.grafana.com/?utm_source=grafana_footer",
+              target: "_blank",
+            },
+          ];
+        },
+        l = function () {
+          var e = o.b.buildInfo,
+            t = o.b.licenseInfo,
+            n = [],
+            r = t.stateInfo ? " (".concat(t.stateInfo, ")") : "";
+          return (
+            n.push({ text: "".concat(e.edition).concat(r), url: t.licenseUrl }),
+            n.push({ text: "v".concat(e.version, " (").concat(e.commit, ")") }),
+            e.hasUpdate &&
+              n.push({
+                text: "New version available!",
+                icon: "fa fa-download",
+                url:
+                  "https://grafana.com/grafana/download?utm_source=grafana_footer",
+                target: "_blank",
+              }),
+            n
+          );
+        };
+      var s = a.a.memo(function () {
+        var e = i().concat(l());
+        return a.a.createElement(
+          "footer",
+          { className: "footer" },
+          a.a.createElement(
+            "div",
+            { className: "text-center" },
+            a.a.createElement(
+              "ul",
+              null,
+              e.map(function (e) {
+                return a.a.createElement(
+                  "li",
+                  { key: e.text },
+                  a.a.createElement(
+                    "a",
+                    { href: e.url, target: e.target, rel: "noopener" },
+                    a.a.createElement("i", { className: e.icon }),
+                    " ",
+                    e.text
+                  )
+                );
+              })
+            )
+          )
+        );
+      });
+    },
+    "5VON": function (e, t, n) {
+      "use strict";
+      n.d(t, "b", function () {
+        return r;
+      }),
+        n.d(t, "c", function () {
+          return a;
+        }),
+        n.d(t, "a", function () {
+          return o;
+        });
+      var r = "browser",
+        a = "YYYY-MM-DD HH:mm:ss",
+        o = { from: {}, to: {}, raw: { from: "6h", to: "now" } };
+    },
+    "5kRJ": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return g;
+      });
+      var r = n("PbtU"),
+        a = n("LvDl"),
+        o = n.n(a),
+        i = n("4qJB"),
+        l = n("VX0D"),
+        s = n("Yyu/"),
+        c = n("iODs"),
+        u = n("ZFWI");
+      function f(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function d(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? f(Object(n), !0).forEach(function (t) {
+                p(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : f(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function p(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function h(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function m(e) {
+        return e.replace(
+          /([\!\*\+\-\=<>\s\&\|\(\)\[\]\{\}\^\~\?\:\\/"])/g,
+          "\\$1"
+        );
+      }
+      var g = (function () {
+        function e() {
+          var t = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.regex = i.h),
+            (this.index = {}),
+            (this.grafanaVariables = {}),
+            (this.builtIns = {}),
+            (this.timeRange = null),
+            (this.fieldAccessorCache = {}),
+            (this.getVariableAtIndex = function (e) {
+              if (e)
+                return Object(u.c)().featureToggles.newVariables && !t.index[e]
+                  ? Object(s.c)(e, Object(c.b)())
+                  : t.index[e];
+            }),
+            (this.builtIns.__interval = { text: "1s", value: "1s" }),
+            (this.builtIns.__interval_ms = { text: "100", value: "100" }),
+            (this.variables = []);
+        }
+        var t, n, a;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "init",
+              value: function (e, t) {
+                (this.variables = e), (this.timeRange = t), this.updateIndex();
+              },
+            },
+            {
+              key: "getBuiltInIntervalValue",
+              value: function () {
+                return this.builtIns.__interval.value;
+              },
+            },
+            {
+              key: "updateIndex",
+              value: function () {
+                if (
+                  ((this.index = this.variables.reduce(function (e, t) {
+                    var n;
+                    return (
+                      t.current &&
+                        (t.current.isNone ||
+                          (n = t.current.value) ||
+                          "" === n) &&
+                        (e[t.name] = t),
+                      e
+                    );
+                  }, {})),
+                  this.timeRange)
+                ) {
+                  var e,
+                    t = this.timeRange.from.valueOf().toString(),
+                    n = this.timeRange.to.valueOf().toString();
+                  this.index = d(
+                    {},
+                    this.index,
+                    (p((e = {}), "__from", { current: { value: t, text: t } }),
+                    p(e, "__to", { current: { value: n, text: n } }),
+                    e)
+                  );
+                }
+              },
+            },
+            {
+              key: "updateTimeRange",
+              value: function (e) {
+                (this.timeRange = e), this.updateIndex();
+              },
+            },
+            {
+              key: "variableInitialized",
+              value: function (e) {
+                this.index[e.name] = e;
+              },
+            },
+            {
+              key: "getAdhocFilters",
+              value: function (e) {
+                var t = [];
+                if (this.variables)
+                  for (var n = 0; n < this.variables.length; n++) {
+                    var r = this.variables[n];
+                    "adhoc" === r.type &&
+                      (null === r.datasource || r.datasource === e
+                        ? (t = t.concat(r.filters))
+                        : 0 === r.datasource.indexOf("$") &&
+                          this.replace(r.datasource) === e &&
+                          (t = t.concat(r.filters)));
+                  }
+                return t;
+              },
+            },
+            {
+              key: "luceneFormat",
+              value: function (e) {
+                return "string" == typeof e
+                  ? m(e)
+                  : e instanceof Array && 0 === e.length
+                  ? "__empty__"
+                  : "(" +
+                    o.a
+                      .map(e, function (e) {
+                        return '"' + m(e) + '"';
+                      })
+                      .join(" OR ") +
+                    ")";
+              },
+            },
+            {
+              key: "encodeURIComponentStrict",
+              value: function (e) {
+                return encodeURIComponent(e).replace(/[!'()*]/g, function (e) {
+                  return "%" + e.charCodeAt(0).toString(16).toUpperCase();
+                });
+              },
+            },
+            {
+              key: "formatValue",
+              value: function (e, t, n) {
+                if (((n = n || {}), "function" == typeof t))
+                  return t(e, n, this.formatValue);
+                switch (t) {
+                  case "regex":
+                    if ("string" == typeof e) return r.a.regexEscape(e);
+                    var a = o.a.map(e, r.a.regexEscape);
+                    return 1 === a.length ? a[0] : "(" + a.join("|") + ")";
+                  case "lucene":
+                    return this.luceneFormat(e);
+                  case "pipe":
+                    return "string" == typeof e ? e : e.join("|");
+                  case "distributed":
+                    return "string" == typeof e
+                      ? e
+                      : this.distributeVariable(e, n.name);
+                  case "csv":
+                    return o.a.isArray(e) ? e.join(",") : e;
+                  case "html":
+                    return o.a.isArray(e)
+                      ? Object(l.a)(e.join(", "))
+                      : Object(l.a)(e);
+                  case "json":
+                    return JSON.stringify(e);
+                  case "percentencode":
+                    return o.a.isArray(e)
+                      ? this.encodeURIComponentStrict("{" + e.join(",") + "}")
+                      : this.encodeURIComponentStrict(e);
+                  default:
+                    return o.a.isArray(e) && e.length > 1
+                      ? "{" + e.join(",") + "}"
+                      : e;
+                }
+              },
+            },
+            {
+              key: "setGrafanaVariable",
+              value: function (e, t) {
+                this.grafanaVariables[e] = t;
+              },
+            },
+            {
+              key: "setGlobalVariable",
+              value: function (e, t) {
+                this.index = d({}, this.index, p({}, e, { current: t }));
+              },
+            },
+            {
+              key: "getVariableName",
+              value: function (e) {
+                this.regex.lastIndex = 0;
+                var t = this.regex.exec(e);
+                return t
+                  ? t.slice(1).find(function (e) {
+                      return void 0 !== e;
+                    })
+                  : null;
+              },
+            },
+            {
+              key: "variableExists",
+              value: function (e) {
+                var t = this.getVariableName(e);
+                return t && void 0 !== this.getVariableAtIndex(t);
+              },
+            },
+            {
+              key: "highlightVariablesAsHtml",
+              value: function (e) {
+                var t = this;
+                return e && o.a.isString(e)
+                  ? ((e = o.a.escape(e)),
+                    (this.regex.lastIndex = 0),
+                    e.replace(this.regex, function (e, n, r, a, o) {
+                      return t.getVariableAtIndex(n || r || o) ||
+                        t.builtIns[n || r || o]
+                        ? '<span class="template-variable">' + e + "</span>"
+                        : e;
+                    }))
+                  : e;
+              },
+            },
+            {
+              key: "getAllValue",
+              value: function (e) {
+                if (e.allValue) return e.allValue;
+                for (var t = [], n = 1; n < e.options.length; n++)
+                  t.push(e.options[n].value);
+                return t;
+              },
+            },
+            {
+              key: "getFieldAccessor",
+              value: function (e) {
+                var t = this.fieldAccessorCache[e];
+                return t || (this.fieldAccessorCache[e] = o.a.property(e));
+              },
+            },
+            {
+              key: "getVariableValue",
+              value: function (e, t, n) {
+                var r = n[e];
+                return r
+                  ? t
+                    ? this.getFieldAccessor(t)(r.value)
+                    : r.value
+                  : null;
+              },
+            },
+            {
+              key: "replace",
+              value: function (e, t, n) {
+                var r = this;
+                return e
+                  ? ((this.regex.lastIndex = 0),
+                    e.replace(this.regex, function (e, a, o, i, l, s, c) {
+                      var u = a || o || l,
+                        f = r.getVariableAtIndex(u),
+                        d = i || c || n;
+                      if (t) {
+                        var h = r.getVariableValue(u, s, t);
+                        if (null != h) return r.formatValue(h, d, f);
+                      }
+                      if (!f) return e;
+                      var m = r.grafanaVariables[f.current.value];
+                      if (m) return r.formatValue(m, d, f);
+                      var g = f.current.value;
+                      if (
+                        r.isAllValue(g) &&
+                        ((g = r.getAllValue(f)), f.allValue)
+                      )
+                        return r.replace(g);
+                      if (s) {
+                        var b = r.getVariableValue(
+                          u,
+                          s,
+                          p({}, u, { value: g, text: "" })
+                        );
+                        if (null != b) return r.formatValue(b, d, f);
+                      }
+                      return r.formatValue(g, d, f);
+                    }))
+                  : e;
+              },
+            },
+            {
+              key: "isAllValue",
+              value: function (e) {
+                return (
+                  "$__all" === e || (Array.isArray(e) && "$__all" === e[0])
+                );
+              },
+            },
+            {
+              key: "replaceWithText",
+              value: function (e, t) {
+                var n,
+                  r = this;
+                return e
+                  ? ((this.regex.lastIndex = 0),
+                    e.replace(this.regex, function (e, a, o, i, l) {
+                      if (t) {
+                        var s = t[a || o || l];
+                        if (s) return s.text;
+                      }
+                      if (!(n = r.getVariableAtIndex(a || o || l))) return e;
+                      var c = r.grafanaVariables[n.current.value];
+                      return "string" == typeof c ? c : n.current.text;
+                    }))
+                  : e;
+              },
+            },
+            {
+              key: "fillVariableValuesForUrl",
+              value: function (e, t) {
+                o.a.each(this.variables, function (n) {
+                  if (t && void 0 !== t[n.name]) {
+                    if (t[n.name].skipUrlSync) return;
+                    e["var-" + n.name] = t[n.name].value;
+                  } else {
+                    if (n.skipUrlSync) return;
+                    e["var-" + n.name] = n.getValueForUrl();
+                  }
+                });
+              },
+            },
+            {
+              key: "distributeVariable",
+              value: function (e, t) {
+                return (e = o.a.map(e, function (e, n) {
+                  return 0 !== n ? t + "=" + e : e;
+                })).join(",");
+              },
+            },
+          ]) && h(t.prototype, n),
+          a && h(t, a),
+          e
+        );
+      })();
+      t.b = new g();
+    },
+    "5m9O": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return a;
+      });
+      var r = new Set();
+      function a(e) {
+        if (r.has(e))
+          throw new Error(
+            "There is already an event defined with type '".concat(e, "'")
+          );
+        return r.add(e), { name: e };
+      }
+    },
+    "66yP": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return s;
+      });
+      var r = n("kDLi"),
+        a = n("Obii");
+      function o(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function i(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? o(Object(n), !0).forEach(function (t) {
+                l(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : o(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function l(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var s = function (e, t, n, o, l, s) {
+        var c,
+          u = [],
+          f = Object(a.getDisplayProcessor)({
+            field: {
+              config: {
+                unit:
+                  null == s
+                    ? void 0
+                    : null === (c = s.defaults) || void 0 === c
+                    ? void 0
+                    : c.unit,
+                decimals: l.decimals,
+              },
+            },
+          }),
+          d = -1,
+          p = !0,
+          h = !1,
+          m = void 0;
+        try {
+          for (
+            var g, b = e[Symbol.iterator]();
+            !(p = (g = b.next()).done);
+            p = !0
+          ) {
+            var v = g.value,
+              y = Object(a.getTimeField)(v).timeField;
+            if (y) {
+              var w = !0,
+                O = !1,
+                x = void 0;
+              try {
+                for (
+                  var k, j = v.fields[Symbol.iterator]();
+                  !(w = (k = j.next()).done);
+                  w = !0
+                ) {
+                  var S = k.value;
+                  if (S.type === a.FieldType.number) {
+                    d++;
+                    var E = Object(a.getFlotPairs)({
+                      xField: y,
+                      yField: S,
+                      nullValueMode: a.NullValueMode.Null,
+                    });
+                    E.length > 0 &&
+                      (function () {
+                        var e,
+                          o = Object(a.reduceField)({
+                            field: S,
+                            reducers: l.stats,
+                          }),
+                          c = void 0;
+                        l.stats &&
+                          (c = l.stats.map(function (e) {
+                            return i({}, f(o[e]), { title: e });
+                          }));
+                        var p = void 0;
+                        (p =
+                          n[S.name] && n[S.name].color
+                            ? {
+                                mode: a.FieldColorMode.Fixed,
+                                fixedColor: n[S.name].color,
+                              }
+                            : S.config && S.config.color
+                            ? S.config.color
+                            : {
+                                mode: a.FieldColorMode.Fixed,
+                                fixedColor:
+                                  r.colors[u.length % r.colors.length],
+                              }),
+                          (S.config = i(
+                            {},
+                            S.config,
+                            s
+                              ? {
+                                  unit: s.defaults.unit,
+                                  decimals: s.defaults.decimals,
+                                  color: p,
+                                }
+                              : { color: p }
+                          )),
+                          (S.display = Object(a.getDisplayProcessor)({
+                            field: S,
+                          }));
+                        var h = Object(a.getSeriesTimeStep)(y),
+                          m = Object(a.hasMsResolution)(y);
+                        (y.display = Object(a.getDisplayProcessor)({
+                          timeZone: t,
+                          field: i({}, y, {
+                            type: y.type,
+                            config: {
+                              unit: "time:".concat(
+                                m
+                                  ? a.MS_DATE_TIME_FORMAT
+                                  : a.DEFAULT_DATE_TIME_FORMAT
+                              ),
+                            },
+                          }),
+                        })),
+                          u.push({
+                            label: S.name,
+                            data: E,
+                            color:
+                              null === (e = S.config.color) || void 0 === e
+                                ? void 0
+                                : e.fixedColor,
+                            info: c,
+                            isVisible: !0,
+                            yAxis: {
+                              index: (n[S.name] && n[S.name].yAxis) || 1,
+                            },
+                            seriesIndex: d,
+                            timeField: i({}, y),
+                            valueField: i({}, S),
+                            timeStep: h,
+                          });
+                      })();
+                  }
+                }
+              } catch (e) {
+                (O = !0), (x = e);
+              } finally {
+                try {
+                  w || null == j.return || j.return();
+                } finally {
+                  if (O) throw x;
+                }
+              }
+            }
+          }
+        } catch (e) {
+          (h = !0), (m = e);
+        } finally {
+          try {
+            p || null == b.return || b.return();
+          } finally {
+            if (h) throw m;
+          }
+        }
+        return u;
+      };
+    },
+    "6V0m": function (e, t) {
+      var n = "public/app/features/templating/partials/editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div ng-controller=VariableEditorCtrl ng-init=init()>\n  <div class=page-action-bar>\n    <h3 class=dashboard-settings__header>\n      <a ng-click="setMode(\'list\')" aria-label={{::selectors.headerLink}}>Variables</a>\n      <span ng-show="mode === \'new\'"><i class="fa fa-fw fa-chevron-right" aria-label={{::selectors.modeLabelNew}}></i> New</span>\n      <span ng-show="mode === \'edit\'"><i class="fa fa-fw fa-chevron-right" aria-label={{::selectors.modeLabelEdit}}></i> Edit</span>\n    </h3>\n\n    <div class=page-action-bar__spacer></div>\n    <a type=button class="btn btn-primary" ng-click="setMode(\'new\');" ng-if="variables.length > 0" ng-hide="mode === \'edit\' || mode === \'new\'" aria-label={{::selectors.newButton}}>\n      New\n    </a>\n  </div>\n\n  <div ng-if="mode === \'list\'">\n    <div ng-if="variables.length === 0">\n      <empty-list-cta on-click=setNewMode title=emptyListCta.title infobox=emptyListCta.infoBox infoboxtitle=emptyListCta.infoBoxTitle buttontitle=emptyListCta.buttonTitle buttonicon=emptyListCta.buttonIcon />\n    </div>\n\n    <div ng-if=variables.length>\n      <table class="filter-table filter-table--hover" aria-label={{::selectors.table}}>\n        <thead>\n          <tr>\n            <th>Variable</th>\n            <th>Definition</th>\n            <th colspan=5></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr ng-repeat="variable in variables">\n            <td style=width:1%>\n              <span ng-click=edit(variable) class="pointer template-variable" aria-label={{::selectors.tableRowNameFields(variable.name)}}>\n                ${{ variable.name }}\n              </span>\n            </td>\n            <td style=max-width:200px ng-click=edit(variable) class="pointer max-width" aria-label={{::selectors.tableRowDefinitionFields(variable.name)}}>\n              {{ variable.definition ? variable.definition : variable.query }}\n            </td>\n            <td style=width:1%>\n              <i ng-click=_.move(variables,$index,$index-1) ng-hide=$first class="pointer fa fa-arrow-up" aria-label={{::selectors.tableRowArrowUpButtons(variable.name)}}></i>\n            </td>\n            <td style=width:1%>\n              <i ng-click=_.move(variables,$index,$index+1) ng-hide=$last class="pointer fa fa-arrow-down" aria-label={{::selectors.tableRowArrowDownButtons(variable.name)}}></i>\n            </td>\n            <td style=width:1%>\n              <a ng-click=duplicate(variable) class="btn btn-inverse btn-small" aria-label={{::selectors.tableRowDuplicateButtons(variable.name)}}>\n                Duplicate\n              </a>\n            </td>\n            <td style=width:1%>\n              <a ng-click=removeVariable(variable) class="btn btn-danger btn-small" aria-label={{::selectors.tableRowRemoveButtons(variable.name)}}>\n                <i class="fa fa-remove"></i>\n              </a>\n            </td>\n          </tr>\n        </tbody>\n      </table>\n    </div>\n  </div>\n\n  <form ng-if="mode === \'edit\' || mode === \'new\'" name=ctrl.form aria-label="Variable editor Form">\n    <h5 class=section-heading>General</h5>\n    <div class=gf-form-group>\n      <div class=gf-form-inline>\n        <div class="gf-form max-width-19">\n          <span class="gf-form-label width-6">Name</span>\n          <input type=text class=gf-form-input name=name placeholder=name ng-model=current.name required ng-pattern=namePattern aria-label={{::selectors.generalNameInput}} />\n        </div>\n        <div class="gf-form max-width-19">\n          <span class="gf-form-label width-6">\n            Type\n            <info-popover mode=right-normal>\n              {{ variableTypes[current.type].description }}\n            </info-popover>\n          </span>\n          <div class="gf-form-select-wrapper max-width-17">\n            <select class=gf-form-input ng-model=current.type ng-options="k as v.name for (k, v) in variableTypes" ng-change=typeChanged() aria-label={{::selectors.generalTypeSelect}}></select>\n          </div>\n        </div>\n      </div>\n\n      <div class=gf-form ng-show=ctrl.form.name.$error.pattern>\n        <span class="gf-form-label gf-form-label--error">Template names cannot begin with \'__\', that\'s reserved for Grafana\'s global variables</span>\n      </div>\n\n      <div class=gf-form-inline>\n        <div class="gf-form max-width-19">\n          <span class="gf-form-label width-6">Label</span>\n          <input type=text class=gf-form-input ng-model=current.label placeholder="optional display name" aria-label={{::selectors.generalLabelInput}} />\n        </div>\n        <div class="gf-form max-width-19">\n          <span class="gf-form-label width-6">Hide</span>\n          <div class="gf-form-select-wrapper max-width-15">\n            <select class=gf-form-input ng-model=current.hide ng-options="f.value as f.text for f in hideOptions" aria-label={{::selectors.generalHideSelect}}></select>\n          </div>\n        </div>\n      </div>\n    </div>\n\n    <div ng-if="current.type === \'interval\'" class=gf-form-group>\n      <h5 class=section-heading>Interval Options</h5>\n\n      <div class=gf-form>\n        <span class="gf-form-label width-9">Values</span>\n        <input type=text class=gf-form-input ng-model=current.query placeholder=1m,10m,1h,6h,1d,7d ng-model-onblur ng-change=runQuery() required aria-label="Variable editor Form Interval Query field"/>\n      </div>\n\n      <div class=gf-form-inline>\n        <gf-form-switch class=gf-form label="Auto Option" label-class=width-9 checked=current.auto on-change=runQuery() aria-label="Variable editor Form Interval AutoOption switch">\n        </gf-form-switch>\n\n        <div class=gf-form>\n          <span class="gf-form-label width-9" ng-show=current.auto>\n            Step count <tip>How many times should the current time range be divided to calculate the value</tip>\n          </span>\n          <div class="gf-form-select-wrapper max-width-10" ng-show=current.auto>\n            <select class=gf-form-input ng-model=current.auto_count ng-options="f for f in [1,2,3,4,5,10,20,30,40,50,100,200,300,400,500]" ng-change=runQuery() aria-label="Variable editor Form Interval AutoCount select"></select>\n          </div>\n        </div>\n        <div class=gf-form>\n          <span class=gf-form-label ng-show=current.auto>\n            Min interval <tip>The calculated value will not go below this threshold</tip>\n          </span>\n          <input type=text class="gf-form-input max-width-10" ng-show=current.auto ng-model=current.auto_min ng-change=runQuery() placeholder=10s aria-label="Variable editor Form Interval AutoMin field"/>\n        </div>\n      </div>\n    </div>\n\n    <div ng-if="current.type === \'custom\'" class=gf-form-group>\n      <h5 class=section-heading>Custom Options</h5>\n      <div class=gf-form>\n        <span class="gf-form-label width-14">Values separated by comma</span>\n        <input type=text class=gf-form-input ng-model=current.query ng-blur=runQuery() placeholder="1, 10, 20, myvalue, escaped\\,value" required aria-label="Variable editor Form Custom Query field"/>\n      </div>\n    </div>\n\n    <div ng-if="current.type === \'constant\'" class=gf-form-group>\n      <h5 class=section-heading>Constant options</h5>\n      <div class=gf-form>\n        <span class=gf-form-label>Value</span>\n        <input type=text class=gf-form-input ng-model=current.query ng-blur=runQuery() placeholder="your metric prefix" aria-label={{::selectors.constantOptionsQueryInput}} />\n      </div>\n    </div>\n\n    <div ng-if="current.type === \'textbox\'" class=gf-form-group>\n      <h5 class=section-heading>Text options</h5>\n      <div class=gf-form>\n        <span class=gf-form-label>Default value</span>\n        <input type=text class=gf-form-input ng-model=current.query ng-blur=runQuery() placeholder="default value, if any" aria-label="Variable editor Form TextBox Query field"/>\n      </div>\n    </div>\n\n    <div ng-if="current.type === \'query\'" class=gf-form-group>\n      <h5 class=section-heading>Query Options</h5>\n\n      <div class=gf-form-inline>\n        <div class="gf-form max-width-21">\n          <span class="gf-form-label width-10">Data source</span>\n          <div class="gf-form-select-wrapper max-width-14">\n            <select class=gf-form-input ng-model=current.datasource ng-options="f.value as f.name for f in datasources" ng-change=datasourceChanged() required aria-label={{::selectors.queryOptionsDataSourceSelect}}>\n              <option value="" ng-if=false></option>\n            </select>\n          </div>\n        </div>\n\n        <div class="gf-form max-width-22">\n          <span class="gf-form-label width-10">\n            Refresh\n            <info-popover mode=right-normal>\n              When to update the values of this variable.\n            </info-popover>\n          </span>\n          <div class="gf-form-select-wrapper width-15">\n            <select class=gf-form-input ng-model=current.refresh ng-options="f.value as f.text for f in refreshOptions" aria-label={{::selectors.queryOptionsRefreshSelect}}></select>\n          </div>\n        </div>\n      </div>\n\n      <rebuild-on-change property=currentDatasource>\n        <variable-query-editor-loader> </variable-query-editor-loader>\n      </rebuild-on-change>\n\n      <div class=gf-form>\n        <span class="gf-form-label width-10">\n          Regex\n          <info-popover mode=right-normal>\n            Optional, if you want to extract part of a series name or metric node segment.\n          </info-popover>\n        </span>\n        <input type=text class=gf-form-input ng-model=current.regex placeholder=/.*-(.*)-.*/ ng-model-onblur ng-change=runQuery() aria-label={{::selectors.queryOptionsRegExInput}} />\n      </div>\n      <div class="gf-form max-width-21">\n        <span class="gf-form-label width-10">\n          Sort\n          <info-popover mode=right-normal>\n            How to sort the values of this variable.\n          </info-popover>\n        </span>\n        <div class="gf-form-select-wrapper max-width-14">\n          <select class=gf-form-input ng-model=current.sort ng-options="f.value as f.text for f in sortOptions" ng-change=runQuery() aria-label={{::selectors.queryOptionsSortSelect}}></select>\n        </div>\n      </div>\n    </div>\n\n    <div ng-show="current.type === \'datasource\'" class=gf-form-group>\n      <h5 class=section-heading>Data source options</h5>\n\n      <div class=gf-form>\n        <label class="gf-form-label width-12">Type</label>\n        <div class="gf-form-select-wrapper max-width-18">\n          <select class=gf-form-input ng-model=current.query ng-options="f.value as f.text for f in datasourceTypes" ng-change=runQuery() aria-label="Variable editor Form DataSource Query field"></select>\n        </div>\n      </div>\n\n      <div class=gf-form>\n        <label class="gf-form-label width-12">\n          Instance name filter\n          <info-popover mode=right-normal>\n            Regex filter for which data source instances to choose from in the variable value dropdown. Leave empty for\n            all.\n            <br/><br/>\n            Example: <code>/^prod/</code>\n          </info-popover>\n        </label>\n        <input type=text class="gf-form-input max-width-18" ng-model=current.regex placeholder=/.*-(.*)-.*/ ng-model-onblur ng-change=runQuery() aria-label="Variable editor Form DataSource RegEx field"/>\n      </div>\n    </div>\n\n    <div ng-if="current.type === \'adhoc\'" class=gf-form-group>\n      <h5 class=section-heading>Options</h5>\n      <div class="gf-form max-width-21">\n        <span class="gf-form-label width-8">Data source</span>\n        <div class="gf-form-select-wrapper max-width-14">\n          <select class=gf-form-input ng-model=current.datasource ng-options="f.value as f.name for f in datasources" required ng-change=validate() aria-label="Variable editor Form AdHoc DataSource select">\n            <option value="" ng-if=false></option>\n          </select>\n        </div>\n      </div>\n    </div>\n\n    <div class="section gf-form-group" ng-show=variableTypes[current.type].supportsMulti>\n      <h5 class=section-heading>Selection Options</h5>\n      <div class=section>\n        <gf-form-switch class=gf-form label=Multi-value label-class=width-10 tooltip="Enables multiple values to be selected at the same time" checked=current.multi on-change=runQuery() aria-label={{::selectors.selectionOptionsMultiSwitch}}>\n        </gf-form-switch>\n        <gf-form-switch class=gf-form label="Include All option" label-class=width-10 checked=current.includeAll on-change=runQuery() aria-label={{::selectors.selectionOptionsIncludeAllSwitch}}>\n        </gf-form-switch>\n      </div>\n      <div class=gf-form ng-if=current.includeAll>\n        <span class="gf-form-label width-10">Custom all value</span>\n        <input type=text class="gf-form-input max-width-15" ng-model=current.allValue placeholder="blank = auto" aria-label={{::selectors.selectionOptionsCustomAllInput}} />\n      </div>\n    </div>\n\n    <div class=gf-form-group ng-if="current.type === \'query\'">\n      <h5>Value groups/tags (Experimental feature)</h5>\n      <gf-form-switch class=gf-form label=Enabled label-class=width-10 checked=current.useTags on-change=runQuery() aria-label={{::selectors.valueGroupsTagsEnabledSwitch}}>\n      </gf-form-switch>\n      <div class="gf-form last" ng-if=current.useTags>\n        <span class="gf-form-label width-10">Tags query</span>\n        <input type=text class=gf-form-input ng-model=current.tagsQuery placeholder="metric name or tags query" ng-model-onblur aria-label={{::selectors.valueGroupsTagsTagsQueryInput}} />\n      </div>\n      <div class=gf-form ng-if=current.useTags>\n        <li class="gf-form-label width-10">Tag values query</li>\n        <input type=text class=gf-form-input ng-model=current.tagValuesQuery placeholder=apps.$tag.* ng-model-onblur aria-label={{::selectors.valueGroupsTagsTagsValuesQueryInput}} />\n      </div>\n    </div>\n\n    <div class=gf-form-group ng-show=current.options.length>\n      <h5>Preview of values</h5>\n      <div class=gf-form-inline>\n        <div class=gf-form ng-repeat="option in current.options | limitTo: optionsLimit">\n          <span class=gf-form-label aria-label={{::selectors.previewOfValuesOption}}>{{ option.text }}</span>\n        </div>\n        <div class=gf-form ng-if="current.options.length > optionsLimit">\n          <a class="gf-form-label btn-secondary" ng-click=showMoreOptions() aria-label="Variable editor Preview of Values Show More link">\n            Show more\n          </a>\n        </div>\n      </div>\n    </div>\n\n    <div class="alert alert-info gf-form-group" ng-if=infoText aria-label="Variable editor Form Alert">\n      {{ infoText }}\n    </div>\n\n    <div class="gf-form-button-row p-y-0">\n      <button type=submit class="btn btn-primary" ng-show="mode === \'edit\'" ng-click=update(); aria-label={{::selectors.updateButton}}>\n        Update\n      </button>\n      <button type=submit class="btn btn-primary" ng-show="mode === \'new\'" ng-click=add(); aria-label={{::selectors.addButton}}>\n        Add\n      </button>\n    </div>\n  </form>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "6WZ+": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return s;
+      }),
+        n.d(t, "b", function () {
+          return u;
+        });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDLi"),
+        i = n("fL47");
+      function l(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      var s = "New dashboard",
+        c = function (e) {
+          var t = e.getSaveModelClone();
+          return (
+            (t.id = null),
+            (t.uid = ""),
+            (t.title += " Copy"),
+            (t.editable = !0),
+            (t.hideControls = !1),
+            e.id > 0 &&
+              t.panels.forEach(function (e) {
+                "graph" === e.type && e.alert && delete e.thresholds,
+                  delete e.alert;
+              }),
+            delete t.autoUpdate,
+            t
+          );
+        },
+        u = function (e) {
+          var t = e.dashboard,
+            n = e.onSubmit,
+            r = e.onCancel,
+            s = e.onSuccess,
+            u = {
+              title: "".concat(t.title, " Copy"),
+              $folder: { id: t.meta.folderId, title: t.meta.folderTitle },
+              copyTags: !1,
+            };
+          return a.a.createElement(
+            o.Forms.Form,
+            {
+              defaultValues: u,
+              onSubmit: (function () {
+                var e,
+                  r =
+                    ((e = regeneratorRuntime.mark(function e(r) {
+                      var a;
+                      return regeneratorRuntime.wrap(function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return (
+                                ((a = c(t)).title = r.title),
+                                r.copyTags || (a.tags = []),
+                                (e.next = 5),
+                                n(a, { folderId: r.$folder.id }, t)
+                              );
+                            case 5:
+                              "success" === e.sent.status && s();
+                            case 7:
+                            case "end":
+                              return e.stop();
+                          }
+                      }, e);
+                    })),
+                    function () {
+                      var t = this,
+                        n = arguments;
+                      return new Promise(function (r, a) {
+                        var o = e.apply(t, n);
+                        function i(e) {
+                          l(o, r, a, i, s, "next", e);
+                        }
+                        function s(e) {
+                          l(o, r, a, i, s, "throw", e);
+                        }
+                        i(void 0);
+                      });
+                    });
+                return function (e) {
+                  return r.apply(this, arguments);
+                };
+              })(),
+            },
+            function (e) {
+              var n = e.register,
+                l = e.control,
+                s = e.errors;
+              return a.a.createElement(
+                a.a.Fragment,
+                null,
+                a.a.createElement(
+                  o.Forms.Field,
+                  {
+                    label: "Dashboard name",
+                    invalid: !!s.title,
+                    error: "Dashboard name is required",
+                  },
+                  a.a.createElement(o.Forms.Input, {
+                    name: "title",
+                    ref: n({ required: !0 }),
+                    "aria-label": "Save dashboard title field",
+                    autoFocus: !0,
+                  })
+                ),
+                a.a.createElement(
+                  o.Forms.Field,
+                  { label: "Folder" },
+                  a.a.createElement(o.Forms.InputControl, {
+                    as: i.a,
+                    control: l,
+                    name: "$folder",
+                    dashboardId: t.id,
+                    initialFolderId: t.meta.folderId,
+                    initialTitle: t.meta.folderTitle,
+                    enableCreateNew: !0,
+                    useNewForms: !0,
+                  })
+                ),
+                a.a.createElement(
+                  o.Forms.Field,
+                  { label: "Copy tags" },
+                  a.a.createElement(o.Forms.Switch, {
+                    name: "copyTags",
+                    ref: n,
+                  })
+                ),
+                a.a.createElement(
+                  o.HorizontalGroup,
+                  null,
+                  a.a.createElement(
+                    o.Button,
+                    { type: "submit", "aria-label": "Save dashboard button" },
+                    "Save"
+                  ),
+                  a.a.createElement(
+                    o.Forms.Button,
+                    { variant: "secondary", onClick: r },
+                    "Cancel"
+                  )
+                )
+              );
+            }
+          );
+        };
+    },
+    "6edu": function (e, t, n) {
+      "use strict";
+      var r;
+      n.d(t, "a", function () {
+        return r;
+      }),
+        (function (e) {
+          (e[(e.ValueToText = 1)] = "ValueToText"),
+            (e[(e.RangeToText = 2)] = "RangeToText");
+        })(r || (r = {}));
+    },
+    "6iRR": function (e, t, n) {
+      "use strict";
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDDq"),
+        i = n("4Qg+"),
+        l = n("MIBK"),
+        s = n("Vt59");
+      function c(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      var u = function () {
+        var e = c(Object(r.useState)(null), 2),
+          t = e[0],
+          n = e[1];
+        return [
+          t,
+          Object(r.useCallback)(function (e) {
+            null !== e && n(e.getBoundingClientRect());
+          }, []),
+        ];
+      };
+      function f() {
+        return (f =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function d(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function p(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function h() {
+        var e = k([
+          "\n      & + * {\n        margin-left: ",
+          ";\n      }\n    ",
+        ]);
+        return (
+          (h = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function m() {
+        var e = k([
+          "\n        label: input-suffix;\n        padding-right: ",
+          ";\n        padding-left: ",
+          ";\n        border-left: none;\n        border-top-left-radius: 0;\n        border-bottom-left-radius: 0;\n        right: 0;\n      ",
+        ]);
+        return (
+          (m = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function g() {
+        var e = k([
+          "\n        label: input-prefix;\n        padding-left: ",
+          ";\n        padding-right: ",
+          ";\n        border-right: none;\n        border-top-right-radius: 0;\n        border-bottom-right-radius: 0;\n      ",
+        ]);
+        return (
+          (g = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function b() {
+        var e = k([
+          "\n      label: input-addon;\n      display: flex;\n      justify-content: center;\n      align-items: center;\n      flex-grow: 0;\n      flex-shrink: 0;\n      position: relative;\n\n      &:first-child {\n        border-top-right-radius: 0;\n        border-bottom-right-radius: 0;\n        > :last-child {\n          border-top-right-radius: 0;\n          border-bottom-right-radius: 0;\n        }\n      }\n\n      &:last-child {\n        border-top-left-radius: 0;\n        border-bottom-left-radius: 0;\n        > :first-child {\n          border-top-left-radius: 0;\n          border-bottom-left-radius: 0;\n        }\n      }\n      > *:focus {\n        /* we want anything that has focus and is an addon to be above input */\n        z-index: 2;\n      }\n    ",
+        ]);
+        return (
+          (b = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function v() {
+        var e = k([
+          "\n      background-color: ",
+          ";\n      color: ",
+          ";\n    ",
+        ]);
+        return (
+          (v = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function y() {
+        var e = k([
+          "\n        label: input-input;\n        position: relative;\n        z-index: 0;\n        flex-grow: 1;\n        border-radius: ",
+          ";\n        height: 100%;\n        width: 100%;\n      ",
+        ]);
+        return (
+          (y = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function w() {
+        var e = k([
+          "\n      label: input-inputWrapper;\n      position: relative;\n      flex-grow: 1;\n      /* we want input to be above addons, especially for focused state */\n      z-index: 1;\n\n      /* when input rendered with addon before only*/\n      &:not(:first-child):last-child {\n        > input {\n          border-left: none;\n          border-top-left-radius: 0;\n          border-bottom-left-radius: 0;\n        }\n      }\n\n      /* when input rendered with addon after only*/\n      &:first-child:not(:last-child) {\n        > input {\n          border-right: none;\n          border-top-right-radius: 0;\n          border-bottom-right-radius: 0;\n        }\n      }\n\n      /* when rendered with addon before and after */\n      &:not(:first-child):not(:last-child) {\n        > input {\n          border-right: none;\n          border-top-right-radius: 0;\n          border-bottom-right-radius: 0;\n          border-top-left-radius: 0;\n          border-bottom-left-radius: 0;\n        }\n      }\n\n      input {\n        /* paddings specified for classes used outside React component */\n        &:not(:first-child) {\n          padding-left: ",
+          ";\n        }\n        &:not(:last-child) {\n          padding-right: ",
+          ";\n        }\n        &[readonly] {\n          cursor: default;\n        }\n      }\n    ",
+        ]);
+        return (
+          (w = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function O() {
+        var e = k([
+          "\n        label: input-wrapper;\n        display: flex;\n        width: 100%;\n        height: ",
+          ";\n        border-radius: ",
+          ";\n        &:hover {\n          > .prefix,\n          .suffix,\n          .input {\n            border-color: ",
+          ";\n          }\n\n          // only show number buttons on hover\n          input[type='number'] {\n            -moz-appearance: number-input;\n            -webkit-appearance: number-input;\n            appearance: textfield;\n          }\n\n          input[type='number']::-webkit-inner-spin-button,\n          input[type='number']::-webkit-outer-spin-button {\n            -webkit-appearance: inner-spin-button !important;\n            opacity: 1;\n          }\n        }\n      ",
+        ]);
+        return (
+          (O = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function x() {
+        var e = k([
+          "\n    position: absolute;\n    top: 0;\n    z-index: 1;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-grow: 0;\n    flex-shrink: 0;\n    font-size: ",
+          ";\n    height: 100%;\n    /* Min width specified for prefix/suffix classes used outside React component*/\n    min-width: ",
+          ";\n  ",
+        ]);
+        return (
+          (x = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function k(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      n.d(t, "b", function () {
+        return j;
+      }),
+        n.d(t, "a", function () {
+          return S;
+        });
+      var j = Object(l.g)(function (e) {
+          var t = e.theme,
+            n = e.invalid,
+            r = void 0 !== n && n,
+            a = t.colors,
+            l = t.border.radius.sm,
+            s = t.spacing.formInputHeight,
+            c = Object(o.css)(x(), t.typography.size.md, "28px");
+          return {
+            wrapper: Object(o.cx)(
+              Object(o.css)(O(), s, l, r ? a.redBase : a.formInputBorder)
+            ),
+            inputWrapper: Object(o.css)(w(), "28px", "28px"),
+            input: Object(o.cx)(
+              Object(i.b)(t),
+              Object(i.f)(t, r),
+              Object(o.css)(y(), l)
+            ),
+            inputDisabled: Object(o.css)(
+              v(),
+              a.formInputBgDisabled,
+              a.formInputDisabledText
+            ),
+            addon: Object(o.css)(b()),
+            prefix: Object(o.cx)(
+              c,
+              Object(o.css)(g(), t.spacing.sm, t.spacing.xs)
+            ),
+            suffix: Object(o.cx)(
+              c,
+              Object(o.css)(m(), t.spacing.sm, t.spacing.xs)
+            ),
+            loadingIndicator: Object(o.css)(h(), t.spacing.xs),
+          };
+        }),
+        S = a.a.forwardRef(function (e, t) {
+          var n = e.addonAfter,
+            r = e.addonBefore,
+            c = e.prefix,
+            h = e.suffix,
+            m = e.invalid,
+            g = e.loading,
+            b = e.size,
+            v = void 0 === b ? "auto" : b,
+            y = p(e, [
+              "addonAfter",
+              "addonBefore",
+              "prefix",
+              "suffix",
+              "invalid",
+              "loading",
+              "size",
+            ]),
+            w = d(u(), 2),
+            O = w[0],
+            x = w[1],
+            k = d(u(), 2),
+            S = k[0],
+            E = k[1],
+            C = Object(l.h)(),
+            P = j({ theme: C, invalid: !!m });
+          return a.a.createElement(
+            "div",
+            { className: Object(o.cx)(P.wrapper, Object(i.d)()[v]) },
+            !!r && a.a.createElement("div", { className: P.addon }, r),
+            a.a.createElement(
+              "div",
+              { className: P.inputWrapper },
+              c && a.a.createElement("div", { className: P.prefix, ref: x }, c),
+              a.a.createElement(
+                "input",
+                f({ ref: t, className: P.input }, y, {
+                  style: {
+                    paddingLeft: O ? O.width : void 0,
+                    paddingRight: S ? S.width : void 0,
+                  },
+                })
+              ),
+              (h || g) &&
+                a.a.createElement(
+                  "div",
+                  { className: P.suffix, ref: E },
+                  g &&
+                    a.a.createElement(s.a, {
+                      name: "spinner",
+                      className: Object(o.cx)("fa-spin", P.loadingIndicator),
+                    }),
+                  h
+                )
+            ),
+            !!n && a.a.createElement("div", { className: P.addon }, n)
+          );
+        });
+    },
+    "6rcN": function (e, t) {
+      var n = "public/app/features/admin/partials/styleguide.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body">\n\n\t<h3 class=page-heading>Buttons</h3>\n\n\t<div class=tab-pane>\n\t\t<div ng-repeat="variant in ctrl.buttonVariants" class=row>\n\t\t\t<div ng-repeat="btnSize in ctrl.buttonSizes" class="style-guide-button-list p-a-2 col-md-4">\n\t\t\t\t<button ng-repeat="buttonName in ctrl.buttonNames" class="btn btn{{variant}}{{buttonName}} {{btnSize}}">\n\t\t\t\t\tbtn{{variant}}{{buttonName}}\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<h3 class=page-heading>Forms</h3>\n\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<label class=gf-form-label>Label</label>\n\t\t\t<input type=text class=gf-form-input />\n\t\t</div>\n\t</div>\n\n</div>\n\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "7Nqv": function (e, t, n) {
+      "use strict";
+      var r, a;
+      n.d(t, "b", function () {
+        return o;
+      }),
+        n.d(t, "a", function () {
+          return i;
+        }),
+        n.d(t, "c", function () {
+          return l;
+        }),
+        n.d(t, "d", function () {
+          return s;
+        }),
+        n.d(t, "e", function () {
+          return c;
+        }),
+        (function (e) {
+          (e.METRIC_KIND_UNSPECIFIED = "METRIC_KIND_UNSPECIFIED"),
+            (e.GAUGE = "GAUGE"),
+            (e.DELTA = "DELTA"),
+            (e.CUMULATIVE = "CUMULATIVE");
+        })(r || (r = {})),
+        (function (e) {
+          (e.VALUE_TYPE_UNSPECIFIED = "VALUE_TYPE_UNSPECIFIED"),
+            (e.BOOL = "BOOL"),
+            (e.INT64 = "INT64"),
+            (e.DOUBLE = "DOUBLE"),
+            (e.STRING = "STRING"),
+            (e.DISTRIBUTION = "DISTRIBUTION"),
+            (e.MONEY = "MONEY");
+        })(a || (a = {}));
+      var o = [
+          {
+            text: "delta",
+            value: "ALIGN_DELTA",
+            valueTypes: [a.INT64, a.DOUBLE, a.MONEY, a.DISTRIBUTION],
+            metricKinds: [r.CUMULATIVE, r.DELTA],
+          },
+          {
+            text: "rate",
+            value: "ALIGN_RATE",
+            valueTypes: [a.INT64, a.DOUBLE, a.MONEY],
+            metricKinds: [r.CUMULATIVE, r.DELTA],
+          },
+          {
+            text: "interpolate",
+            value: "ALIGN_INTERPOLATE",
+            valueTypes: [a.INT64, a.DOUBLE, a.MONEY],
+            metricKinds: [r.GAUGE],
+          },
+          {
+            text: "next older",
+            value: "ALIGN_NEXT_OLDER",
+            valueTypes: [
+              a.INT64,
+              a.DOUBLE,
+              a.MONEY,
+              a.DISTRIBUTION,
+              a.STRING,
+              a.VALUE_TYPE_UNSPECIFIED,
+              a.BOOL,
+            ],
+            metricKinds: [r.GAUGE],
+          },
+          {
+            text: "min",
+            value: "ALIGN_MIN",
+            valueTypes: [a.INT64, a.DOUBLE, a.MONEY],
+            metricKinds: [r.GAUGE, r.DELTA],
+          },
+          {
+            text: "max",
+            value: "ALIGN_MAX",
+            valueTypes: [a.INT64, a.DOUBLE, a.MONEY],
+            metricKinds: [r.GAUGE, r.DELTA],
+          },
+          {
+            text: "mean",
+            value: "ALIGN_MEAN",
+            valueTypes: [a.INT64, a.DOUBLE, a.MONEY],
+            metricKinds: [r.GAUGE, r.DELTA],
+          },
+          {
+            text: "count",
+            value: "ALIGN_COUNT",
+            valueTypes: [a.INT64, a.DOUBLE, a.MONEY, a.BOOL],
+            metricKinds: [r.GAUGE, r.DELTA],
+          },
+          {
+            text: "sum",
+            value: "ALIGN_SUM",
+            valueTypes: [a.INT64, a.DOUBLE, a.MONEY, a.DISTRIBUTION],
+            metricKinds: [r.GAUGE, r.DELTA],
+          },
+          {
+            text: "stddev",
+            value: "ALIGN_STDDEV",
+            valueTypes: [a.INT64, a.DOUBLE, a.MONEY],
+            metricKinds: [r.GAUGE, r.DELTA],
+          },
+          {
+            text: "count true",
+            value: "ALIGN_COUNT_TRUE",
+            valueTypes: [a.BOOL],
+            metricKinds: [r.GAUGE],
+          },
+          {
+            text: "count false",
+            value: "ALIGN_COUNT_FALSE",
+            valueTypes: [a.BOOL],
+            metricKinds: [r.GAUGE],
+          },
+          {
+            text: "fraction true",
+            value: "ALIGN_FRACTION_TRUE",
+            valueTypes: [a.BOOL],
+            metricKinds: [r.GAUGE],
+          },
+          {
+            text: "percentile 99",
+            value: "ALIGN_PERCENTILE_99",
+            valueTypes: [a.DISTRIBUTION],
+            metricKinds: [r.GAUGE, r.DELTA],
+          },
+          {
+            text: "percentile 95",
+            value: "ALIGN_PERCENTILE_95",
+            valueTypes: [a.DISTRIBUTION],
+            metricKinds: [r.GAUGE, r.DELTA],
+          },
+          {
+            text: "percentile 50",
+            value: "ALIGN_PERCENTILE_50",
+            valueTypes: [a.DISTRIBUTION],
+            metricKinds: [r.GAUGE, r.DELTA],
+          },
+          {
+            text: "percentile 05",
+            value: "ALIGN_PERCENTILE_05",
+            valueTypes: [a.DISTRIBUTION],
+            metricKinds: [r.GAUGE, r.DELTA],
+          },
+          {
+            text: "percent change",
+            value: "ALIGN_PERCENT_CHANGE",
+            valueTypes: [a.INT64, a.DOUBLE, a.MONEY],
+            metricKinds: [r.GAUGE, r.DELTA],
+          },
+        ],
+        i = [
+          {
+            text: "none",
+            value: "REDUCE_NONE",
+            valueTypes: [
+              a.INT64,
+              a.DOUBLE,
+              a.MONEY,
+              a.DISTRIBUTION,
+              a.BOOL,
+              a.STRING,
+            ],
+            metricKinds: [
+              r.GAUGE,
+              r.DELTA,
+              r.CUMULATIVE,
+              r.METRIC_KIND_UNSPECIFIED,
+            ],
+          },
+          {
+            text: "mean",
+            value: "REDUCE_MEAN",
+            valueTypes: [a.INT64, a.DOUBLE, a.MONEY, a.DISTRIBUTION],
+            metricKinds: [r.GAUGE, r.DELTA],
+          },
+          {
+            text: "min",
+            value: "REDUCE_MIN",
+            valueTypes: [a.INT64, a.DOUBLE, a.MONEY],
+            metricKinds: [
+              r.GAUGE,
+              r.DELTA,
+              r.CUMULATIVE,
+              r.METRIC_KIND_UNSPECIFIED,
+            ],
+          },
+          {
+            text: "max",
+            value: "REDUCE_MAX",
+            valueTypes: [a.INT64, a.DOUBLE, a.MONEY],
+            metricKinds: [
+              r.GAUGE,
+              r.DELTA,
+              r.CUMULATIVE,
+              r.METRIC_KIND_UNSPECIFIED,
+            ],
+          },
+          {
+            text: "sum",
+            value: "REDUCE_SUM",
+            valueTypes: [a.INT64, a.DOUBLE, a.MONEY, a.DISTRIBUTION],
+            metricKinds: [
+              r.GAUGE,
+              r.DELTA,
+              r.CUMULATIVE,
+              r.METRIC_KIND_UNSPECIFIED,
+            ],
+          },
+          {
+            text: "std. dev.",
+            value: "REDUCE_STDDEV",
+            valueTypes: [a.INT64, a.DOUBLE, a.MONEY, a.DISTRIBUTION],
+            metricKinds: [
+              r.GAUGE,
+              r.DELTA,
+              r.CUMULATIVE,
+              r.METRIC_KIND_UNSPECIFIED,
+            ],
+          },
+          {
+            text: "count",
+            value: "REDUCE_COUNT",
+            valueTypes: [
+              a.INT64,
+              a.DOUBLE,
+              a.MONEY,
+              a.DISTRIBUTION,
+              a.BOOL,
+              a.STRING,
+            ],
+            metricKinds: [r.GAUGE, r.DELTA, r.CUMULATIVE],
+          },
+          {
+            text: "count true",
+            value: "REDUCE_COUNT_TRUE",
+            valueTypes: [a.BOOL],
+            metricKinds: [r.GAUGE, r.DELTA],
+          },
+          {
+            text: "count false",
+            value: "REDUCE_COUNT_FALSE",
+            valueTypes: [a.BOOL],
+            metricKinds: [r.GAUGE, r.DELTA],
+          },
+          {
+            text: "99th percentile",
+            value: "REDUCE_PERCENTILE_99",
+            valueTypes: [a.INT64, a.DOUBLE, a.MONEY, a.DISTRIBUTION],
+            metricKinds: [r.GAUGE, r.DELTA, r.CUMULATIVE],
+          },
+          {
+            text: "95th percentile",
+            value: "REDUCE_PERCENTILE_95",
+            valueTypes: [a.INT64, a.DOUBLE, a.MONEY, a.DISTRIBUTION],
+            metricKinds: [r.GAUGE, r.DELTA, r.CUMULATIVE],
+          },
+          {
+            text: "50th percentile",
+            value: "REDUCE_PERCENTILE_50",
+            valueTypes: [a.INT64, a.DOUBLE, a.MONEY, a.DISTRIBUTION],
+            metricKinds: [r.GAUGE, r.DELTA, r.CUMULATIVE],
+          },
+          {
+            text: "5th percentile",
+            value: "REDUCE_PERCENTILE_05",
+            valueTypes: [a.INT64, a.DOUBLE, a.MONEY, a.DISTRIBUTION],
+            metricKinds: [r.GAUGE, r.DELTA, r.CUMULATIVE],
+          },
+        ],
+        l = [
+          { text: "grafana auto", value: "grafana-auto" },
+          { text: "stackdriver auto", value: "stackdriver-auto" },
+          { text: "1m", value: "+60s" },
+          { text: "2m", value: "+120s" },
+          { text: "5m", value: "+300s" },
+          { text: "10m", value: "+600s" },
+          { text: "30m", value: "+1800s" },
+          { text: "1h", value: "+3600s" },
+          { text: "3h", value: "+7200s" },
+          { text: "6h", value: "+21600s" },
+          { text: "1d", value: "+86400s" },
+          { text: "3d", value: "+259200s" },
+          { text: "1w", value: "+604800s" },
+        ],
+        s = {
+          bit: "bits",
+          By: "bytes",
+          s: "s",
+          min: "m",
+          h: "h",
+          d: "d",
+          us: "µs",
+          ms: "ms",
+          ns: "ns",
+          percent: "percent",
+          MiBy: "mbytes",
+          "By/s": "Bps",
+          GBy: "decgbytes",
+        },
+        c = [
+          "metadata.system_labels.cloud_account",
+          "metadata.system_labels.name",
+          "metadata.system_labels.region",
+          "metadata.system_labels.state",
+          "metadata.system_labels.instance_group",
+          "metadata.system_labels.node_name",
+          "metadata.system_labels.service_name",
+          "metadata.system_labels.top_level_controller_type",
+          "metadata.system_labels.top_level_controller_name",
+          "metadata.system_labels.container_image",
+        ];
+    },
+    "7dpV": function (e, t) {
+      var n = "public/app/plugins/panel/pluginlist/editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=gf-form-group>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-10">Mode</span>\n\t\t\t<div class="gf-form-select-wrapper max-width-10">\n\t\t\t\t<select class=gf-form-input ng-model=ctrl.panel.mode ng-options="f for f in ctrl.modes" ng-change=ctrl.refresh()></select>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=gf-form ng-show="ctrl.panel.mode === \'recently viewed\'">\n\t\t\t<span class=gf-form-label>\n\t\t\t\t<i class="grafana-tip fa fa-question-circle ng-scope" bs-tooltip="\'WARNING: This list will be cleared when clearing browser cache\'" data-original-title="" title=""></i>\n\t\t\t</span>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-inline ng-if="ctrl.panel.mode === \'search\'">\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-10">Search options</span>\n\t\t\t<span class=gf-form-label>Query</span>\n\n\t\t\t<input type=text class=gf-form-input placeholder="title query" ng-model=ctrl.panel.query ng-change=ctrl.refresh() ng-model-onblur>\n\n\t\t</div>\n\n\t\t<div class=gf-form>\n\t\t\t<span class=gf-form-label>Tags</span>\n\n\t\t\t<bootstrap-tagsinput ng-model=ctrl.panel.tags tagclass="label label-tag" placeholder="add tags" on-tags-updated=ctrl.refresh()>\n\t\t\t</bootstrap-tagsinput>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-10">Limit number to</span>\n\t\t\t<input class=gf-form-input type=number ng-model=ctrl.panel.limit ng-model-onblur ng-change=ctrl.refresh()>\n\t\t</div>\n\t</div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "7teh": function (e, t) {
+      var n = "public/app/partials/signup_invited.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<page-header model=navModel></page-header>\n\n<div class="page-container page-body">\n\t<h3 class=page-sub-heading>Hello {{greeting}}.</h3>\n\n\t<div class="modal-tagline p-b-2">\n\t\t<em>{{invitedBy}}</em> has invited you to join Grafana and the organization <span class=highlight-word>{{contextSrv.user.orgName}}</span><br>Please complete the following and choose a password to accept your invitation and continue:\n\t</div>\n\n\t<form name=inviteForm class="login-form gf-form-group">\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-7">Email</span>\n\t\t\t<input type=email name=email class="gf-form-input max-width-21" required ng-model=formModel.email placeholder=Email>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-7">Name</span>\n\t\t\t<input type=text name=name class="gf-form-input max-width-21" ng-model=formModel.name placeholder="Name (optional)">\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-7">Username</span>\n\t\t\t<input type=text name=username class="gf-form-input max-width-21" required ng-model=formModel.username placeholder=Username>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-7">Password</span>\n\t\t\t<input type=password name=password class="gf-form-input max-width-21" required ng-model=formModel.password id=inputPassword placeholder=password>\n\t\t</div>\n\n\t\t<div class=gf-form-button-row>\n\t\t\t<button type=submit class="btn btn-primary" ng-click=submit(); ng-disable=!inviteForm.$valid>\n\t\t\t\tSign Up\n\t\t\t</button>\n\t\t</div>\n\t</form>\n</div>\n\n<footer/>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "7wpZ": function (e, t) {
+      var n =
+        "public/app/plugins/datasource/stackdriver/partials/query.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            "<query-editor-row query-ctrl=ctrl has-text-edit-mode=false>\n  <stackdriver-query-editor target=ctrl.target events=ctrl.panelCtrl.events datasource=ctrl.datasource template-srv=ctrl.templateSrv on-query-change=(ctrl.onQueryChange) on-execute-query=(ctrl.onExecuteQuery)></stackdriver-query-editor>\n</query-editor-row>\n"
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "7ym3": function (e, t) {
+      var n = "public/app/plugins/datasource/mysql/partials/config.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<h3 class=page-heading>MySQL Connection</h3>\n\n<div class=gf-form-group>\n\t<div class="gf-form max-width-30">\n\t\t<span class="gf-form-label width-7">Host</span>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.current.url placeholder=localhost:3306 bs-typeahead="{{[\'localhost:3306\', \'localhost:3307\']}}" required>\n\t</div>\n\n\t<div class="gf-form max-width-30">\n\t\t<span class="gf-form-label width-7">Database</span>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.current.database placeholder="database name" required>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class="gf-form max-width-15">\n\t\t\t<span class="gf-form-label width-7">User</span>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.current.user placeholder=user>\n\t\t</div>\n\t\t<div class=gf-form>\n      <secret-form-field isconfigured=ctrl.current.secureJsonFields.password value=ctrl.current.secureJsonData.password on-reset=ctrl.onPasswordReset on-change=ctrl.onPasswordChange inputwidth=9 />\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-group>\n\t\t<div class=gf-form-inline>\n\t\t\t<gf-form-checkbox class=gf-form label="TLS Client Auth" label-class=width-10 checked=ctrl.current.jsonData.tlsAuth switch-class=max-width-6></gf-form-checkbox>\n\t\t\t<gf-form-checkbox class=gf-form label="With CA Cert" tooltip="Needed for\n\t\t\t\tverifing self-signed TLS Certs" checked=ctrl.current.jsonData.tlsAuthWithCACert label-class=width-11 switch-class=max-width-6></gf-form-checkbox>\n\t\t</div>\n\t\t<div class=gf-form-inline>\n\t\t\t<gf-form-checkbox class=gf-form label="Skip TLS Verify" label-class=width-10 checked=ctrl.current.jsonData.tlsSkipVerify switch-class=max-width-6></gf-form-checkbox>\n\t\t</div>\n\t</div>\n\n<datasource-tls-auth-settings current=ctrl.current ng-if="(ctrl.current.jsonData.tlsAuth || ctrl.current.jsonData.tlsAuthWithCACert)">\n</datasource-tls-auth-settings>\n\n<b>Connection limits</b>\n\n<div class=gf-form-group>\n\t<div class="gf-form max-width-15">\n\t\t<span class="gf-form-label width-7">Max open</span>\n\t\t<input type=number min=0 class="gf-form-input gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.maxOpenConns placeholder=unlimited>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum number of open connections to the database. If <i>Max idle connections</i> is greater than 0 and the\n\t\t\t<i>Max open connections</i> is less than <i>Max idle connections</i>, then <i>Max idle connections</i> will be\n\t\t\treduced to match the <i>Max open connections</i> limit. If set to 0, there is no limit on the number of open\n\t\t\tconnections.\n\t\t</info-popover>\n\t</div>\n\t<div class="gf-form max-width-15">\n\t\t<span class="gf-form-label width-7">Max idle</span>\n\t\t<input type=number min=0 class="gf-form-input gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.maxIdleConns placeholder=2>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum number of connections in the idle connection pool. If <i>Max open connections</i> is greater than 0 but\n\t\t\tless than the <i>Max idle connections</i>, then the <i>Max idle connections</i> will be reduced to match the\n\t\t\t<i>Max open connections</i> limit. If set to 0, no idle connections are retained.\n\t\t</info-popover>\n\t</div>\n\t<div class="gf-form max-width-15">\n\t\t<span class="gf-form-label width-7">Max lifetime</span>\n\t\t<input type=number min=0 class="gf-form-input gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.connMaxLifetime placeholder=14400>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum amount of time in seconds a connection may be reused. If set to 0, connections are reused forever.<br/><br/>\n\t\t\tThis should always be lower than configured <a href=https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_wait_timeout target=_blank>wait_timeout</a> in MySQL.\n\t\t</info-popover>\n\t</div>\n</div>\n\n<h3 class=page-heading>MySQL details</h3>\n\n<div class=gf-form-group>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-9">Min time interval</span>\n\t\t\t<input type=text class="gf-form-input width-6 gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.timeInterval spellcheck=false placeholder=1m ng-pattern=/^\\d+(ms|[Mwdhmsy])$/ >\n\t\t\t<info-popover mode=right-absolute>\n\t\t\t\tA lower limit for the auto group by time interval. Recommended to be set to write frequency,\n\t\t\t\tfor example <code>1m</code> if your data is written every minute.\n\t\t\t</info-popover>\n\t\t</div>\n\t</div>\n</div>\n\n<div class=gf-form-group>\n\t<div class=grafana-info-box>\n\t\t<h5>User Permission</h5>\n\t\t<p>\n\t\t\tThe database user should only be granted SELECT permissions on the specified database &amp; tables you want to query.\n\t\t\tGrafana does not validate that queries are safe so queries can contain any SQL statement. For example, statements\n\t\t\tlike <code>USE otherdb;</code> and <code>DROP TABLE user;</code> would be executed. To protect against this we\n\t\t\t<strong>Highly</strong> recommmend you create a specific MySQL user with restricted permissions.\n\n\t\t\tCheckout the <a class=external-link target=_blank href=http://docs.grafana.org/features/datasources/mysql/ >MySQL Data Source Docs</a> for more information.\n\t\t</p>\n\t</div>\n</div>\n</div>'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "8//q": function (e, t, n) {
+      "use strict";
+      var r = n("if1/"),
+        a = n("Obii");
+      function o(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function i(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function l(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? i(Object(n), !0).forEach(function (t) {
+                s(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : i(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function s(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function c(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var u = (function () {
+          function e(t) {
+            !(function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, e),
+              (this.fields = []),
+              (this.fieldByName = {}),
+              (this.fieldByType = {}),
+              (this.fields = t.fields.map(function (e, t) {
+                return l({}, e, { index: t });
+              }));
+            for (var n = 0; n < t.fields.length; n++) {
+              var r = t.fields[n];
+              if (r.type === a.FieldType.other) {
+                var o = Object(a.guessFieldTypeForField)(r);
+                o && (r.type = o);
+              }
+              this.fieldByType[r.type] || (this.fieldByType[r.type] = []),
+                this.fieldByType[r.type].push(l({}, r, { index: n })),
+                this.fieldByName[r.name]
+                  ? console.warn("Duplicate field names in DataFrame: ", r.name)
+                  : (this.fieldByName[r.name] = l({}, r, { index: n }));
+            }
+          }
+          var t, n, r;
+          return (
+            (t = e),
+            (n = [
+              {
+                key: "getFields",
+                value: function (e) {
+                  if (!e) return o(this.fields);
+                  var t = this.fieldByType[e];
+                  return t ? o(t) : [];
+                },
+              },
+              {
+                key: "hasFieldOfType",
+                value: function (e) {
+                  var t = this.fieldByType[e];
+                  return t && t.length > 0;
+                },
+              },
+              {
+                key: "getFirstFieldOfType",
+                value: function (e) {
+                  var t = this.fieldByType[e];
+                  if (t && t.length > 0) return t[0];
+                },
+              },
+              {
+                key: "hasFieldNamed",
+                value: function (e) {
+                  return !!this.fieldByName[e];
+                },
+              },
+              {
+                key: "getFieldByName",
+                value: function (e) {
+                  return this.fieldByName[e];
+                },
+              },
+            ]) && c(t.prototype, n),
+            r && c(t, r),
+            e
+          );
+        })(),
+        f = n("ir79"),
+        d = n("Rabt");
+      function p(e) {
+        return (p =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function h(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function m(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function g(e, t) {
+        return !t || ("object" !== p(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function b(e) {
+        return (b = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function v(e, t) {
+        return (v =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var y = (function (e) {
+          function t(e) {
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              g(
+                this,
+                b(t).call(this, void 0, function (t) {
+                  return new d.a(
+                    (function (e) {
+                      for (var t = 1; t < arguments.length; t++) {
+                        var n = null != arguments[t] ? arguments[t] : {};
+                        t % 2
+                          ? h(Object(n), !0).forEach(function (t) {
+                              m(e, t, n[t]);
+                            })
+                          : Object.getOwnPropertyDescriptors
+                          ? Object.defineProperties(
+                              e,
+                              Object.getOwnPropertyDescriptors(n)
+                            )
+                          : h(Object(n)).forEach(function (t) {
+                              Object.defineProperty(
+                                e,
+                                t,
+                                Object.getOwnPropertyDescriptor(n, t)
+                              );
+                            });
+                      }
+                      return e;
+                    })({}, e, { buffer: t })
+                  );
+                })
+              )
+            );
+          }
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && v(e, t);
+            })(t, e),
+            t
+          );
+        })(f.b),
+        w = n("0v62"),
+        O = function (e, t) {
+          return { name: e, columns: t };
+        },
+        x = function (e) {
+          return e.columns;
+        },
+        k = function (e, t) {
+          return e.columns[t];
+        },
+        j = function (e, t, n) {
+          return e.columns[t].values.get(n);
+        },
+        S = function (e, t, n) {
+          return e.columns.map(function (e) {
+            return e.values.get(n);
+          });
+        },
+        E = function (e, t) {
+          return e[t];
+        },
+        C = n("JL5c");
+      n.d(t, "b", function () {
+        return r.a;
+      }),
+        n.d(t, "c", function () {
+          return u;
+        }),
+        n.d(t, "a", function () {
+          return y;
+        }),
+        n.d(t, "d", function () {
+          return f.a;
+        }),
+        n.d(t, "e", function () {
+          return f.b;
+        }),
+        n.d(t, "r", function () {
+          return w.d;
+        }),
+        n.d(t, "q", function () {
+          return w.c;
+        }),
+        n.d(t, "s", function () {
+          return w.e;
+        }),
+        n.d(t, "u", function () {
+          return w.g;
+        }),
+        n.d(t, "t", function () {
+          return w.f;
+        }),
+        n.d(t, "y", function () {
+          return w.j;
+        }),
+        n.d(t, "A", function () {
+          return w.l;
+        }),
+        n.d(t, "x", function () {
+          return w.i;
+        }),
+        n.d(t, "w", function () {
+          return w.h;
+        }),
+        n.d(t, "n", function () {
+          return w.b;
+        }),
+        n.d(t, "l", function () {
+          return w.a;
+        }),
+        n.d(t, "z", function () {
+          return w.k;
+        }),
+        n.d(t, "h", function () {
+          return O;
+        }),
+        n.d(t, "k", function () {
+          return x;
+        }),
+        n.d(t, "j", function () {
+          return k;
+        }),
+        n.d(t, "o", function () {
+          return j;
+        }),
+        n.d(t, "i", function () {
+          return S;
+        }),
+        n.d(t, "m", function () {
+          return E;
+        }),
+        n.d(t, "g", function () {
+          return C.base64StringToArrowTable;
+        }),
+        n.d(t, "f", function () {
+          return C.arrowTableToDataFrame;
+        }),
+        n.d(t, "p", function () {
+          return C.grafanaDataFrameToArrowTable;
+        }),
+        n.d(t, "v", function () {
+          return C.resultsToDataFrames;
+        });
+    },
+    "85rF": function (e, t) {
+      !(function (e) {
+        (e.color = {}),
+          (e.color.make = function (t, n, r, a) {
+            var o = {};
+            return (
+              (o.r = t || 0),
+              (o.g = n || 0),
+              (o.b = r || 0),
+              (o.a = null != a ? a : 1),
+              (o.add = function (e, t) {
+                for (var n = 0; n < e.length; ++n) o[e.charAt(n)] += t;
+                return o.normalize();
+              }),
+              (o.scale = function (e, t) {
+                for (var n = 0; n < e.length; ++n) o[e.charAt(n)] *= t;
+                return o.normalize();
+              }),
+              (o.toString = function () {
+                return o.a >= 1
+                  ? "rgb(" + [o.r, o.g, o.b].join(",") + ")"
+                  : "rgba(" + [o.r, o.g, o.b, o.a].join(",") + ")";
+              }),
+              (o.normalize = function () {
+                function e(e, t, n) {
+                  return t < e ? e : t > n ? n : t;
+                }
+                return (
+                  (o.r = e(0, parseInt(o.r), 255)),
+                  (o.g = e(0, parseInt(o.g), 255)),
+                  (o.b = e(0, parseInt(o.b), 255)),
+                  (o.a = e(0, o.a, 1)),
+                  o
+                );
+              }),
+              (o.clone = function () {
+                return e.color.make(o.r, o.b, o.g, o.a);
+              }),
+              o.normalize()
+            );
+          }),
+          (e.color.extract = function (t, n) {
+            var r;
+            do {
+              if ("" != (r = t.css(n).toLowerCase()) && "transparent" != r)
+                break;
+              t = t.parent();
+            } while (t.length && !e.nodeName(t.get(0), "body"));
+            return (
+              "rgba(0, 0, 0, 0)" == r && (r = "transparent"), e.color.parse(r)
+            );
+          }),
+          (e.color.parse = function (n) {
+            var r,
+              a = e.color.make;
+            if (
+              (r = /rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(
+                n
+              ))
+            )
+              return a(
+                parseInt(r[1], 10),
+                parseInt(r[2], 10),
+                parseInt(r[3], 10)
+              );
+            if (
+              (r = /rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(
+                n
+              ))
+            )
+              return a(
+                parseInt(r[1], 10),
+                parseInt(r[2], 10),
+                parseInt(r[3], 10),
+                parseFloat(r[4])
+              );
+            if (
+              (r = /rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(
+                n
+              ))
+            )
+              return a(
+                2.55 * parseFloat(r[1]),
+                2.55 * parseFloat(r[2]),
+                2.55 * parseFloat(r[3])
+              );
+            if (
+              (r = /rgba\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\s*\)/.exec(
+                n
+              ))
+            )
+              return a(
+                2.55 * parseFloat(r[1]),
+                2.55 * parseFloat(r[2]),
+                2.55 * parseFloat(r[3]),
+                parseFloat(r[4])
+              );
+            if (
+              (r = /#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(n))
+            )
+              return a(
+                parseInt(r[1], 16),
+                parseInt(r[2], 16),
+                parseInt(r[3], 16)
+              );
+            if ((r = /#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(n)))
+              return a(
+                parseInt(r[1] + r[1], 16),
+                parseInt(r[2] + r[2], 16),
+                parseInt(r[3] + r[3], 16)
+              );
+            var o = e.trim(n).toLowerCase();
+            return "transparent" == o
+              ? a(255, 255, 255, 0)
+              : a((r = t[o] || [0, 0, 0])[0], r[1], r[2]);
+          });
+        var t = {
+          aqua: [0, 255, 255],
+          azure: [240, 255, 255],
+          beige: [245, 245, 220],
+          black: [0, 0, 0],
+          blue: [0, 0, 255],
+          brown: [165, 42, 42],
+          cyan: [0, 255, 255],
+          darkblue: [0, 0, 139],
+          darkcyan: [0, 139, 139],
+          darkgrey: [169, 169, 169],
+          darkgreen: [0, 100, 0],
+          darkkhaki: [189, 183, 107],
+          darkmagenta: [139, 0, 139],
+          darkolivegreen: [85, 107, 47],
+          darkorange: [255, 140, 0],
+          darkorchid: [153, 50, 204],
+          darkred: [139, 0, 0],
+          darksalmon: [233, 150, 122],
+          darkviolet: [148, 0, 211],
+          fuchsia: [255, 0, 255],
+          gold: [255, 215, 0],
+          green: [0, 128, 0],
+          indigo: [75, 0, 130],
+          khaki: [240, 230, 140],
+          lightblue: [173, 216, 230],
+          lightcyan: [224, 255, 255],
+          lightgreen: [144, 238, 144],
+          lightgrey: [211, 211, 211],
+          lightpink: [255, 182, 193],
+          lightyellow: [255, 255, 224],
+          lime: [0, 255, 0],
+          magenta: [255, 0, 255],
+          maroon: [128, 0, 0],
+          navy: [0, 0, 128],
+          olive: [128, 128, 0],
+          orange: [255, 165, 0],
+          pink: [255, 192, 203],
+          purple: [128, 0, 128],
+          violet: [128, 0, 128],
+          red: [255, 0, 0],
+          silver: [192, 192, 192],
+          white: [255, 255, 255],
+          yellow: [255, 255, 0],
+        };
+      })(jQuery),
+        (function (e) {
+          var t = Object.prototype.hasOwnProperty;
+          function n(t, n) {
+            var r = n.children("." + t)[0];
+            if (
+              null == r &&
+              (((r = document.createElement("canvas")).className = t),
+              e(r)
+                .css({
+                  direction: "ltr",
+                  position: "absolute",
+                  left: 0,
+                  top: 0,
+                })
+                .appendTo(n),
+              !r.getContext)
+            ) {
+              if (!window.G_vmlCanvasManager)
+                throw new Error(
+                  "Canvas is not available. If you're using IE with a fall-back such as Excanvas, then there's either a mistake in your conditional include, or the page has no DOCTYPE and is rendering in Quirks Mode."
+                );
+              r = window.G_vmlCanvasManager.initElement(r);
+            }
+            this.element = r;
+            var a = (this.context = r.getContext("2d")),
+              o = window.devicePixelRatio || 1,
+              i =
+                a.webkitBackingStorePixelRatio ||
+                a.mozBackingStorePixelRatio ||
+                a.msBackingStorePixelRatio ||
+                a.oBackingStorePixelRatio ||
+                a.backingStorePixelRatio ||
+                1;
+            (this.pixelRatio = o / i),
+              this.resize(n.width(), n.height()),
+              (this.textContainer = null),
+              (this.text = {}),
+              (this._textCache = {}),
+              (this._textSizeCache = window.flotTextSizeCache =
+                window.flotTextSizeCache || {});
+          }
+          function r(t, r, a, o) {
+            var i = [],
+              l = {
+                colors: ["#edc240", "#afd8f8", "#cb4b4b", "#4da74d", "#9440ed"],
+                legend: {
+                  show: !0,
+                  noColumns: 1,
+                  labelFormatter: null,
+                  labelBoxBorderColor: "#ccc",
+                  container: null,
+                  position: "ne",
+                  margin: 5,
+                  backgroundColor: null,
+                  backgroundOpacity: 0.85,
+                  sorted: null,
+                },
+                xaxis: {
+                  show: null,
+                  position: "bottom",
+                  mode: null,
+                  font: null,
+                  color: null,
+                  tickColor: null,
+                  transform: null,
+                  inverseTransform: null,
+                  min: null,
+                  max: null,
+                  autoscaleMargin: null,
+                  ticks: null,
+                  tickFormatter: null,
+                  labelWidth: null,
+                  labelHeight: null,
+                  reserveSpace: null,
+                  tickLength: null,
+                  alignTicksWithAxis: null,
+                  tickDecimals: null,
+                  tickSize: null,
+                  minTickSize: null,
+                },
+                yaxis: { autoscaleMargin: 0.02, position: "left" },
+                xaxes: [],
+                yaxes: [],
+                series: {
+                  points: {
+                    show: !1,
+                    radius: 3,
+                    lineWidth: 2,
+                    fill: !0,
+                    fillColor: "#ffffff",
+                    symbol: "circle",
+                  },
+                  lines: { lineWidth: 2, fill: !1, fillColor: null, steps: !1 },
+                  bars: {
+                    show: !1,
+                    lineWidth: 2,
+                    barWidth: 1,
+                    fill: !0,
+                    fillColor: null,
+                    align: "left",
+                    horizontal: !1,
+                    zero: !0,
+                  },
+                  shadowSize: 3,
+                  highlightColor: null,
+                },
+                grid: {
+                  show: !0,
+                  aboveData: !1,
+                  color: "#545454",
+                  backgroundColor: null,
+                  borderColor: null,
+                  tickColor: null,
+                  margin: 0,
+                  labelMargin: 5,
+                  eventSectionHeight: 0,
+                  axisMargin: 8,
+                  borderWidth: 2,
+                  minBorderMargin: null,
+                  markings: null,
+                  markingsColor: "#f4f4f4",
+                  markingsLineWidth: 2,
+                  clickable: !1,
+                  hoverable: !1,
+                  autoHighlight: !0,
+                  mouseActiveRadius: 10,
+                },
+                interaction: { redrawOverlayInterval: 1e3 / 60 },
+                hooks: {},
+              },
+              s = null,
+              c = null,
+              u = null,
+              f = null,
+              d = null,
+              p = [],
+              h = [],
+              m = { left: 0, right: 0, top: 0, bottom: 0 },
+              g = 0,
+              b = 0,
+              v = {
+                processOptions: [],
+                processRawData: [],
+                processDatapoints: [],
+                processOffset: [],
+                processRange: [],
+                drawBackground: [],
+                drawSeries: [],
+                draw: [],
+                bindEvents: [],
+                drawOverlay: [],
+                shutdown: [],
+              },
+              y = this;
+            function w(e, t) {
+              t = [y].concat(t);
+              for (var n = 0; n < e.length; ++n) e[n].apply(this, t);
+            }
+            function O(t) {
+              (i = (function (t) {
+                for (var n = [], r = 0; r < t.length; ++r) {
+                  var a = e.extend(!0, {}, l.series);
+                  null != t[r].data
+                    ? ((a.data = t[r].data),
+                      delete t[r].data,
+                      e.extend(!0, a, t[r]),
+                      (t[r].data = a.data))
+                    : (a.data = t[r]),
+                    n.push(a);
+                }
+                return n;
+              })(t)),
+                (function () {
+                  var t,
+                    n = i.length,
+                    r = -1;
+                  for (t = 0; t < i.length; ++t) {
+                    var a = i[t].color;
+                    null != a &&
+                      (n--, "number" == typeof a && a > r && (r = a));
+                  }
+                  n <= r && (n = r + 1);
+                  var o,
+                    s = [],
+                    c = l.colors,
+                    u = c.length,
+                    f = 0;
+                  for (t = 0; t < n; t++)
+                    (o = e.color.parse(c[t % u] || "#666")),
+                      t % u == 0 &&
+                        t &&
+                        (f = f >= 0 ? (f < 0.5 ? -f - 0.2 : 0) : -f),
+                      (s[t] = o.scale("rgb", 1 + f));
+                  var d,
+                    m = 0;
+                  for (t = 0; t < i.length; ++t) {
+                    if (
+                      (null == (d = i[t]).color
+                        ? ((d.color = s[m].toString()), ++m)
+                        : "number" == typeof d.color &&
+                          (d.color = s[d.color].toString()),
+                      null == d.lines.show)
+                    ) {
+                      var g,
+                        b = !0;
+                      for (g in d)
+                        if (d[g] && d[g].show) {
+                          b = !1;
+                          break;
+                        }
+                      b && (d.lines.show = !0);
+                    }
+                    null == d.lines.zero && (d.lines.zero = !!d.lines.fill),
+                      (d.xaxis = S(p, x(d, "x"))),
+                      (d.yaxis = S(h, x(d, "y")));
+                  }
+                })(),
+                (function () {
+                  var t,
+                    n,
+                    r,
+                    a,
+                    o,
+                    l,
+                    s,
+                    c,
+                    u,
+                    f,
+                    d,
+                    p,
+                    h = Number.POSITIVE_INFINITY,
+                    m = Number.NEGATIVE_INFINITY,
+                    g = Number.MAX_VALUE;
+                  function b(e, t, n) {
+                    t < e.datamin && t != -g && (e.datamin = t),
+                      n > e.datamax && n != g && (e.datamax = n);
+                  }
+                  for (
+                    e.each(k(), function (e, t) {
+                      (t.datamin = h), (t.datamax = m), (t.used = !1);
+                    }),
+                      t = 0;
+                    t < i.length;
+                    ++t
+                  )
+                    ((o = i[t]).datapoints = { points: [] }),
+                      w(v.processRawData, [o, o.data, o.datapoints]);
+                  for (t = 0; t < i.length; ++t) {
+                    if (
+                      ((o = i[t]), (d = o.data), !(p = o.datapoints.format))
+                    ) {
+                      if (
+                        ((p = []).push({ x: !0, number: !0, required: !0 }),
+                        p.push({ y: !0, number: !0, required: !0 }),
+                        o.stack ||
+                          o.bars.show ||
+                          (o.lines.show && o.lines.fill))
+                      ) {
+                        var y = !!(
+                          (o.bars.show && o.bars.zero) ||
+                          (o.lines.show && o.lines.zero)
+                        );
+                        p.push({
+                          y: !0,
+                          number: !0,
+                          required: !1,
+                          defaultValue: 0,
+                          autoscale: y,
+                        }),
+                          o.bars.horizontal &&
+                            (delete p[p.length - 1].y,
+                            (p[p.length - 1].x = !0));
+                      }
+                      o.datapoints.format = p;
+                    }
+                    if (null == o.datapoints.pointsize) {
+                      (o.datapoints.pointsize = p.length),
+                        (s = o.datapoints.pointsize),
+                        (l = o.datapoints.points);
+                      var O = o.lines.show && o.lines.steps;
+                      for (
+                        o.xaxis.used = o.yaxis.used = !0, n = r = 0;
+                        n < d.length;
+                        ++n, r += s
+                      ) {
+                        var x = null == (f = d[n]);
+                        if (!x)
+                          for (a = 0; a < s; ++a)
+                            (c = f[a]),
+                              (u = p[a]) &&
+                                (u.number &&
+                                  null != c &&
+                                  ((c = +c),
+                                  isNaN(c)
+                                    ? (c = null)
+                                    : c == 1 / 0
+                                    ? (c = g)
+                                    : c == -1 / 0 && (c = -g)),
+                                null == c &&
+                                  (u.required && (x = !0),
+                                  null != u.defaultValue &&
+                                    (c = u.defaultValue))),
+                              (l[r + a] = c);
+                        if (x)
+                          for (a = 0; a < s; ++a)
+                            null != (c = l[r + a]) &&
+                              !1 !== (u = p[a]).autoscale &&
+                              (u.x && b(o.xaxis, c, c),
+                              u.y && b(o.yaxis, c, c)),
+                              (l[r + a] = null);
+                        if (O && r > 0 && (!x || null != l[r - s])) {
+                          for (a = 0; a < s; ++a) l[r + s + a] = l[r + a];
+                          (l[r + 1] = l[r - s + 1] || 0),
+                            x && (l[r] = f[0]),
+                            (r += s);
+                        }
+                      }
+                    }
+                  }
+                  for (t = 0; t < i.length; ++t) {
+                    if (
+                      ((o = i[t]),
+                      (l = o.datapoints.points),
+                      (s = o.datapoints.pointsize),
+                      "negative-Y" === o.transform)
+                    )
+                      for (n = 0; n < l.length; n += s)
+                        null != l[n] && ((c = l[n + 1]), (l[n + 1] = -c));
+                    w(v.processDatapoints, [o, o.datapoints]);
+                  }
+                  for (t = 0; t < i.length; ++t) {
+                    (o = i[t]),
+                      (l = o.datapoints.points),
+                      (s = o.datapoints.pointsize),
+                      (p = o.datapoints.format);
+                    var j = h,
+                      S = h,
+                      E = m,
+                      C = m;
+                    for (n = 0; n < l.length; n += s)
+                      if (null != l[n])
+                        for (a = 0; a < s; ++a)
+                          (c = l[n + a]),
+                            (u = p[a]) &&
+                              !1 !== u.autoscale &&
+                              c != g &&
+                              c != -g &&
+                              (u.x && (c < j && (j = c), c > E && (E = c)),
+                              u.y && (c < S && (S = c), c > C && (C = c)));
+                    if (o.bars.show) {
+                      var P;
+                      switch (o.bars.align) {
+                        case "left":
+                          P = 0;
+                          break;
+                        case "right":
+                          P = -o.bars.barWidth;
+                          break;
+                        default:
+                          P = -o.bars.barWidth / 2;
+                      }
+                      o.bars.horizontal
+                        ? ((S += P), (C += P + o.bars.barWidth))
+                        : ((j += P), (E += P + o.bars.barWidth));
+                    }
+                    b(o.xaxis, j, E), b(o.yaxis, S, C);
+                  }
+                  e.each(k(), function (e, t) {
+                    t.datamin == h && (t.datamin = null),
+                      t.datamax == m && (t.datamax = null);
+                  });
+                })();
+            }
+            function x(e, t) {
+              var n = e[t + "axis"];
+              return (
+                "object" == typeof n && (n = n.n),
+                "number" != typeof n && (n = 1),
+                n
+              );
+            }
+            function k() {
+              return e.grep(p.concat(h), function (e) {
+                return e;
+              });
+            }
+            function j(e) {
+              var t,
+                n,
+                r = {};
+              for (t = 0; t < p.length; ++t)
+                (n = p[t]) && (r["x" + n.n] = n.c2p(e.left));
+              for (t = 0; t < h.length; ++t)
+                (n = h[t]) && (r["y" + n.n] = n.c2p(e.top));
+              return (
+                void 0 !== r.x1 && (r.x = r.x1),
+                void 0 !== r.y1 && (r.y = r.y1),
+                r
+              );
+            }
+            function S(t, n) {
+              return (
+                t[n - 1] ||
+                  (t[n - 1] = {
+                    n: n,
+                    direction: t == p ? "x" : "y",
+                    options: e.extend(!0, {}, t == p ? l.xaxis : l.yaxis),
+                  }),
+                t[n - 1]
+              );
+            }
+            function E() {
+              $ && clearTimeout($),
+                u.unbind("mousemove", q),
+                u.unbind("mouseleave", U),
+                u.unbind("click", z),
+                e(document).unbind("touchend", H),
+                w(v.shutdown, [u]);
+            }
+            function C(e) {
+              for (
+                var t = e.options,
+                  n = e.ticks || [],
+                  r = t.labelWidth || 0,
+                  a = t.labelHeight || 0,
+                  o =
+                    r ||
+                    ("x" == e.direction
+                      ? Math.floor(s.width / (n.length || 1))
+                      : null),
+                  i = e.direction + "Axis " + e.direction + e.n + "Axis",
+                  l =
+                    "flot-" +
+                    e.direction +
+                    "-axis flot-" +
+                    e.direction +
+                    e.n +
+                    "-axis " +
+                    i,
+                  c = t.font || "flot-tick-label tickLabel",
+                  u = 0;
+                u < n.length;
+                ++u
+              ) {
+                var f = n[u];
+                if (f.label) {
+                  var d = s.getTextInfo(l, f.label, c, null, o);
+                  (r = Math.max(r, d.width + 1)), (a = Math.max(a, d.height));
+                }
+              }
+              (e.labelWidth = t.labelWidth || r),
+                (e.labelHeight = t.labelHeight || a);
+            }
+            function P(t) {
+              var n = t.labelWidth,
+                r = t.labelHeight,
+                a = t.options.position,
+                o = "x" === t.direction,
+                i = t.options.tickLength,
+                c = l.grid.axisMargin,
+                u = l.grid.labelMargin,
+                f = l.grid.eventSectionHeight,
+                d = !0,
+                g = !0,
+                b = !0,
+                v = !1;
+              e.each(o ? p : h, function (e, n) {
+                n &&
+                  (n.show || n.reserveSpace) &&
+                  (n === t
+                    ? (v = !0)
+                    : n.options.position === a && (v ? (g = !1) : (d = !1)),
+                  v || (b = !1));
+              }),
+                g && (c = 0),
+                null == i && (i = b ? "full" : 5),
+                isNaN(+i) || (u += +i),
+                o
+                  ? ((r += u),
+                    (r += f),
+                    "bottom" == a
+                      ? ((m.bottom += r + c),
+                        (t.box = { top: s.height - m.bottom, height: r }))
+                      : ((t.box = { top: m.top + c, height: r }),
+                        (m.top += r + c)))
+                  : ((n += u),
+                    "left" == a
+                      ? ((t.box = { left: m.left + c, width: n }),
+                        (m.left += n + c))
+                      : ((m.right += n + c),
+                        (t.box = { left: s.width - m.right, width: n }))),
+                (t.position = a),
+                (t.tickLength = i),
+                (t.box.padding = u),
+                (t.box.eventSectionPadding = f),
+                (t.innermost = d);
+            }
+            function T() {
+              var n = k(),
+                r = l.grid.show;
+              for (var a in m) {
+                var o = l.grid.margin || 0;
+                m[a] = "number" == typeof o ? o : o[a] || 0;
+              }
+              for (var a in (w(v.processOffset, [m]), m))
+                "object" == typeof l.grid.borderWidth
+                  ? (m[a] += r ? l.grid.borderWidth[a] : 0)
+                  : (m[a] += r ? l.grid.borderWidth : 0);
+              if (
+                (e.each(n, function (e, t) {
+                  var n = t.options;
+                  (t.show = null == n.show ? t.used : n.show),
+                    (t.reserveSpace =
+                      null == n.reserveSpace ? t.show : n.reserveSpace),
+                    (function (e) {
+                      var t = e.options,
+                        n = +(null != t.min ? t.min : e.datamin),
+                        r = +(null != t.max ? t.max : e.datamax),
+                        a = r - n;
+                      if (0 == a) {
+                        var o = Math.abs(0 == r ? 1 : 0.25 * r);
+                        null == t.min && (n -= o),
+                          (null != t.max && null == t.min) || (r += o);
+                      } else {
+                        var i = t.autoscaleMargin;
+                        null != i &&
+                          (null == t.min &&
+                            (n -= a * i) < 0 &&
+                            null != e.datamin &&
+                            e.datamin >= 0 &&
+                            (n = 0),
+                          null == t.max &&
+                            (r += a * i) > 0 &&
+                            null != e.datamax &&
+                            e.datamax <= 0 &&
+                            (r = 0));
+                      }
+                      (e.min = n), (e.max = r);
+                    })(t);
+                }),
+                w(v.processRange, []),
+                r)
+              ) {
+                for (
+                  var c = e.grep(n, function (e) {
+                      return e.show || e.reserveSpace;
+                    }),
+                    u = !1,
+                    f = 0;
+                  f < 2 &&
+                  (e.each(c, function (e, t) {
+                    D(t), A(t), (u = _(t, t.ticks) || u), C(t);
+                  }),
+                  u && v.processRange.length > 0);
+                  f++
+                )
+                  w(v.processRange, []), (u = !1);
+                for (f = c.length - 1; f >= 0; --f) P(c[f]);
+                !(function () {
+                  var t,
+                    n = l.grid.minBorderMargin;
+                  if (null == n)
+                    for (n = 0, t = 0; t < i.length; ++t)
+                      n = Math.max(
+                        n,
+                        2 * (i[t].points.radius + i[t].points.lineWidth / 2)
+                      );
+                  var r = { left: n, right: n, top: n, bottom: n };
+                  e.each(k(), function (e, t) {
+                    t.reserveSpace &&
+                      t.ticks &&
+                      t.ticks.length &&
+                      ("x" === t.direction
+                        ? ((r.left = Math.max(r.left, t.labelWidth / 2)),
+                          (r.right = Math.max(r.right, t.labelWidth / 2)))
+                        : ((r.bottom = Math.max(r.bottom, t.labelHeight / 2)),
+                          (r.top = Math.max(r.top, t.labelHeight / 2))));
+                  }),
+                    (m.left = Math.ceil(Math.max(r.left, m.left))),
+                    (m.right = Math.ceil(Math.max(r.right, m.right))),
+                    (m.top = Math.ceil(Math.max(r.top, m.top))),
+                    (m.bottom = Math.ceil(Math.max(r.bottom, m.bottom)));
+                })(),
+                  e.each(c, function (e, t) {
+                    !(function (e) {
+                      "x" == e.direction
+                        ? ((e.box.left = m.left - e.labelWidth / 2),
+                          (e.box.width =
+                            s.width - m.left - m.right + e.labelWidth))
+                        : ((e.box.top = m.top - e.labelHeight / 2),
+                          (e.box.height =
+                            s.height - m.bottom - m.top + e.labelHeight));
+                    })(t);
+                  });
+              }
+              (g = s.width - m.left - m.right),
+                (b = s.height - m.bottom - m.top),
+                e.each(n, function (e, t) {
+                  !(function (e) {
+                    function t(e) {
+                      return e;
+                    }
+                    var n,
+                      r,
+                      a = e.options.transform || t,
+                      o = e.options.inverseTransform;
+                    "x" == e.direction
+                      ? ((n = e.scale = g / Math.abs(a(e.max) - a(e.min))),
+                        (r = Math.min(a(e.max), a(e.min))))
+                      : ((n = -(n = e.scale =
+                          b / Math.abs(a(e.max) - a(e.min)))),
+                        (r = Math.max(a(e.max), a(e.min)))),
+                      (e.p2c =
+                        a == t
+                          ? function (e) {
+                              return (e - r) * n;
+                            }
+                          : function (e) {
+                              return (a(e) - r) * n;
+                            }),
+                      (e.c2p = o
+                        ? function (e) {
+                            return o(r + e / n);
+                          }
+                        : function (e) {
+                            return r + e / n;
+                          });
+                  })(t);
+                }),
+                r &&
+                  e.each(k(), function (e, t) {
+                    var n,
+                      r,
+                      a,
+                      o,
+                      i,
+                      l = t.box,
+                      c = t.direction + "Axis " + t.direction + t.n + "Axis",
+                      u =
+                        "flot-" +
+                        t.direction +
+                        "-axis flot-" +
+                        t.direction +
+                        t.n +
+                        "-axis " +
+                        c,
+                      f = t.options.font || "flot-tick-label tickLabel";
+                    if ((s.removeText(u), t.show && 0 != t.ticks.length))
+                      for (var d = 0; d < t.ticks.length; ++d)
+                        !(n = t.ticks[d]).label ||
+                          n.v < t.min ||
+                          n.v > t.max ||
+                          ("x" == t.direction
+                            ? ((o = "center"),
+                              (r = m.left + t.p2c(n.v)),
+                              "bottom" == t.position
+                                ? (a =
+                                    l.top + l.padding + l.eventSectionPadding)
+                                : ((a = l.top + l.height - l.padding),
+                                  (i = "bottom")))
+                            : ((i = "middle"),
+                              (a = m.top + t.p2c(n.v)),
+                              "left" == t.position
+                                ? ((r = l.left + l.width - l.padding),
+                                  (o = "right"))
+                                : (r = l.left + l.padding)),
+                          s.addText(u, r, a, n.label, f, null, null, o, i));
+                  }),
+                (function () {
+                  null != l.legend.container
+                    ? e(l.legend.container).html("")
+                    : t.find(".legend").remove();
+                  if (!l.legend.show) return;
+                  for (
+                    var n,
+                      r,
+                      a = [],
+                      o = [],
+                      s = !1,
+                      c = l.legend.labelFormatter,
+                      u = 0;
+                    u < i.length;
+                    ++u
+                  )
+                    (n = i[u]).label &&
+                      (r = c ? c(n.label, n) : n.label) &&
+                      o.push({ label: r, color: n.color });
+                  if (l.legend.sorted)
+                    if (e.isFunction(l.legend.sorted)) o.sort(l.legend.sorted);
+                    else if ("reverse" == l.legend.sorted) o.reverse();
+                    else {
+                      var f = "descending" != l.legend.sorted;
+                      o.sort(function (e, t) {
+                        return e.label == t.label
+                          ? 0
+                          : e.label < t.label != f
+                          ? 1
+                          : -1;
+                      });
+                    }
+                  for (u = 0; u < o.length; ++u) {
+                    var d = o[u];
+                    u % l.legend.noColumns == 0 &&
+                      (s && a.push("</tr>"), a.push("<tr>"), (s = !0)),
+                      a.push(
+                        '<td class="legendColorBox"><div style="border:1px solid ' +
+                          l.legend.labelBoxBorderColor +
+                          ';padding:1px"><div style="width:4px;height:0;border:5px solid ' +
+                          d.color +
+                          ';overflow:hidden"></div></div></td><td class="legendLabel">' +
+                          d.label +
+                          "</td>"
+                      );
+                  }
+                  s && a.push("</tr>");
+                  if (0 == a.length) return;
+                  var p =
+                    '<table style="font-size:smaller;color:' +
+                    l.grid.color +
+                    '">' +
+                    a.join("") +
+                    "</table>";
+                  if (null != l.legend.container) e(l.legend.container).html(p);
+                  else {
+                    var h = "",
+                      g = l.legend.position,
+                      b = l.legend.margin;
+                    null == b[0] && (b = [b, b]),
+                      "n" == g.charAt(0)
+                        ? (h += "top:" + (b[1] + m.top) + "px;")
+                        : "s" == g.charAt(0) &&
+                          (h += "bottom:" + (b[1] + m.bottom) + "px;"),
+                      "e" == g.charAt(1)
+                        ? (h += "right:" + (b[0] + m.right) + "px;")
+                        : "w" == g.charAt(1) &&
+                          (h += "left:" + (b[0] + m.left) + "px;");
+                    var v = e(
+                      '<div class="legend">' +
+                        p.replace(
+                          'style="',
+                          'style="position:absolute;' + h + ";"
+                        ) +
+                        "</div>"
+                    ).appendTo(t);
+                    if (0 != l.legend.backgroundOpacity) {
+                      var y = l.legend.backgroundColor;
+                      null == y &&
+                        (((y =
+                          (y = l.grid.backgroundColor) && "string" == typeof y
+                            ? e.color.parse(y)
+                            : e.color.extract(v, "background-color")).a = 1),
+                        (y = y.toString()));
+                      var w = v.children();
+                      e(
+                        '<div style="position:absolute;width:' +
+                          w.width() +
+                          "px;height:" +
+                          w.height() +
+                          "px;" +
+                          h +
+                          "background-color:" +
+                          y +
+                          ';"> </div>'
+                      )
+                        .prependTo(v)
+                        .css("opacity", l.legend.backgroundOpacity);
+                    }
+                  }
+                })();
+            }
+            function D(t) {
+              var n,
+                r = t.options;
+              n =
+                "number" == typeof r.ticks && r.ticks > 0
+                  ? r.ticks
+                  : 0.3 * Math.sqrt("x" == t.direction ? s.width : s.height);
+              var a = (t.max - t.min) / n,
+                o = -Math.floor(Math.log(a) / Math.LN10),
+                i = r.tickDecimals;
+              null != i && o > i && (o = i);
+              var l,
+                c = Math.pow(10, -o),
+                u = a / c;
+              if (
+                (u < 1.5
+                  ? (l = 1)
+                  : u < 3
+                  ? ((l = 2),
+                    u > 2.25 && (null == i || o + 1 <= i) && ((l = 2.5), ++o))
+                  : (l = u < 7.5 ? 5 : 10),
+                (l *= c),
+                null != r.minTickSize &&
+                  l < r.minTickSize &&
+                  (l = r.minTickSize),
+                (t.delta = a),
+                (t.tickDecimals = Math.max(0, null != i ? i : o)),
+                (t.tickSize = r.tickSize || l),
+                (null !== r.tickDecimals && void 0 !== r.tickDecimals) ||
+                  (t.scaledDecimals = t.tickDecimals + o),
+                "time" == r.mode && !t.tickGenerator)
+              )
+                throw new Error("Time mode requires the flot.time plugin.");
+              if (
+                (t.tickGenerator ||
+                  ((t.tickGenerator = function (e) {
+                    var t,
+                      n,
+                      r,
+                      a = [],
+                      o = ((n = e.min), (r = e.tickSize) * Math.floor(n / r)),
+                      i = 0,
+                      l = Number.NaN;
+                    do {
+                      (t = l), (l = o + i * e.tickSize), a.push(l), ++i;
+                    } while (l < e.max && l != t);
+                    return a;
+                  }),
+                  (t.tickFormatter = function (e, t) {
+                    var n = t.tickDecimals ? Math.pow(10, t.tickDecimals) : 1,
+                      r = "" + Math.round(e * n) / n;
+                    if (null != t.tickDecimals) {
+                      var a = r.indexOf("."),
+                        o = -1 == a ? 0 : r.length - a - 1;
+                      if (o < t.tickDecimals)
+                        return (
+                          (o ? r : r + ".") +
+                          ("" + n).substr(1, t.tickDecimals - o)
+                        );
+                    }
+                    return r;
+                  })),
+                e.isFunction(r.tickFormatter) &&
+                  (t.tickFormatter = function (e, t) {
+                    return "" + r.tickFormatter(e, t);
+                  }),
+                null != r.alignTicksWithAxis)
+              ) {
+                var f = ("x" == t.direction ? p : h)[r.alignTicksWithAxis - 1];
+                if (f && f.used && f != t) {
+                  var d = t.tickGenerator(t);
+                  if (
+                    (d.length > 0 &&
+                      (null == r.min && (t.min = Math.min(t.min, d[0])),
+                      null == r.max &&
+                        d.length > 1 &&
+                        (t.max = Math.max(t.max, d[d.length - 1]))),
+                    (t.tickGenerator = function (e) {
+                      var t,
+                        n,
+                        r = [];
+                      for (n = 0; n < f.ticks.length; ++n)
+                        (t = (f.ticks[n].v - f.min) / (f.max - f.min)),
+                          (t = e.min + t * (e.max - e.min)),
+                          r.push(t);
+                      return r;
+                    }),
+                    !t.mode && null == r.tickDecimals)
+                  ) {
+                    var m = Math.max(
+                        0,
+                        1 - Math.floor(Math.log(t.delta) / Math.LN10)
+                      ),
+                      g = t.tickGenerator(t);
+                    (g.length > 1 && /\..*0$/.test((g[1] - g[0]).toFixed(m))) ||
+                      (t.tickDecimals = m);
+                  }
+                }
+              }
+            }
+            function A(t) {
+              var n,
+                r,
+                a = t.options.ticks,
+                o = [];
+              for (
+                null == a || ("number" == typeof a && a > 0)
+                  ? (o = t.tickGenerator(t))
+                  : a && (o = e.isFunction(a) ? a(t) : a),
+                  t.ticks = [],
+                  n = 0;
+                n < o.length;
+                ++n
+              ) {
+                var i = null,
+                  l = o[n];
+                "object" == typeof l
+                  ? ((r = +l[0]), l.length > 1 && (i = l[1]))
+                  : (r = +l),
+                  null == i && (i = t.tickFormatter(r, t)),
+                  isNaN(r) || t.ticks.push({ v: r, label: i });
+              }
+            }
+            function _(e, t) {
+              var n = !1;
+              return (
+                e.options.autoscaleMargin &&
+                  t.length > 0 &&
+                  (null == e.options.min &&
+                    ((e.min = Math.min(e.min, t[0].v)), (n = !0)),
+                  null == e.options.max &&
+                    t.length > 1 &&
+                    ((e.max = Math.max(e.max, t[t.length - 1].v)), (n = !0))),
+                n
+              );
+            }
+            function N() {
+              s.clear(), w(v.drawBackground, [f]);
+              var e = l.grid;
+              e.show &&
+                e.backgroundColor &&
+                (f.save(),
+                f.translate(m.left, m.top),
+                (f.fillStyle = ee(
+                  l.grid.backgroundColor,
+                  b,
+                  0,
+                  "rgba(255, 255, 255, 0)"
+                )),
+                f.fillRect(0, 0, g, b),
+                f.restore()),
+                e.show && !e.aboveData && I();
+              for (var t = 0; t < i.length; ++t)
+                w(v.drawSeries, [f, i[t]]), R(i[t]);
+              w(v.draw, [f]), e.show && e.aboveData && I(), s.render(), W();
+            }
+            function M(e, t) {
+              for (var n, r, a, o, i = k(), l = 0; l < i.length; ++l)
+                if (
+                  (n = i[l]).direction == t &&
+                  (e[(o = t + n.n + "axis")] || 1 != n.n || (o = t + "axis"),
+                  e[o])
+                ) {
+                  (r = e[o].from), (a = e[o].to);
+                  break;
+                }
+              if (
+                (e[o] ||
+                  ((n = "x" == t ? p[0] : h[0]),
+                  (r = e[t + "1"]),
+                  (a = e[t + "2"])),
+                null != r && null != a && r > a)
+              ) {
+                var s = r;
+                (r = a), (a = s);
+              }
+              return { from: r, to: a, axis: n };
+            }
+            function I() {
+              var t, n, r, a;
+              f.save(), f.translate(m.left, m.top);
+              var o = l.grid.markings;
+              if (o)
+                for (
+                  e.isFunction(o) &&
+                    (((n = y.getAxes()).xmin = n.xaxis.min),
+                    (n.xmax = n.xaxis.max),
+                    (n.ymin = n.yaxis.min),
+                    (n.ymax = n.yaxis.max),
+                    (o = o(n))),
+                    t = 0;
+                  t < o.length;
+                  ++t
+                ) {
+                  var i = o[t],
+                    s = M(i, "x"),
+                    c = M(i, "y");
+                  if (
+                    (null == s.from && (s.from = s.axis.min),
+                    null == s.to && (s.to = s.axis.max),
+                    null == c.from && (c.from = c.axis.min),
+                    null == c.to && (c.to = c.axis.max),
+                    !(
+                      s.to < s.axis.min ||
+                      s.from > s.axis.max ||
+                      c.to < c.axis.min ||
+                      c.from > c.axis.max
+                    ))
+                  ) {
+                    (s.from = Math.max(s.from, s.axis.min)),
+                      (s.to = Math.min(s.to, s.axis.max)),
+                      (c.from = Math.max(c.from, c.axis.min)),
+                      (c.to = Math.min(c.to, c.axis.max));
+                    var u = s.from === s.to,
+                      d = c.from === c.to;
+                    if (!u || !d)
+                      if (
+                        ((s.from = Math.floor(s.axis.p2c(s.from))),
+                        (s.to = Math.floor(s.axis.p2c(s.to))),
+                        (c.from = Math.floor(c.axis.p2c(c.from))),
+                        (c.to = Math.floor(c.axis.p2c(c.to))),
+                        u || d)
+                      ) {
+                        var p = i.lineWidth || l.grid.markingsLineWidth,
+                          h = p % 2 ? 0.5 : 0;
+                        f.beginPath(),
+                          (f.strokeStyle = i.color || l.grid.markingsColor),
+                          (f.lineWidth = p),
+                          u
+                            ? (f.moveTo(s.to + h, c.from),
+                              f.lineTo(s.to + h, c.to))
+                            : (f.moveTo(s.from, c.to + h),
+                              f.lineTo(s.to, c.to + h)),
+                          f.stroke();
+                      } else
+                        (f.fillStyle = i.color || l.grid.markingsColor),
+                          f.fillRect(
+                            s.from,
+                            c.to,
+                            s.to - s.from,
+                            c.from - c.to
+                          );
+                  }
+                }
+              (n = k()), (r = l.grid.borderWidth);
+              for (var v = 0; v < n.length; ++v) {
+                var w,
+                  O,
+                  x,
+                  j,
+                  S = n[v],
+                  E = S.box,
+                  C = S.tickLength;
+                if (S.show && 0 != S.ticks.length) {
+                  for (
+                    f.lineWidth = 1,
+                      "x" == S.direction
+                        ? ((w = 0),
+                          (O =
+                            "full" == C
+                              ? "top" == S.position
+                                ? 0
+                                : b
+                              : E.top -
+                                m.top +
+                                ("top" == S.position ? E.height : 0)))
+                        : ((O = 0),
+                          (w =
+                            "full" == C
+                              ? "left" == S.position
+                                ? 0
+                                : g
+                              : E.left -
+                                m.left +
+                                ("left" == S.position ? E.width : 0))),
+                      S.innermost ||
+                        ((f.strokeStyle = S.options.color),
+                        f.beginPath(),
+                        (x = j = 0),
+                        "x" == S.direction ? (x = g + 1) : (j = b + 1),
+                        1 == f.lineWidth &&
+                          ("x" == S.direction
+                            ? (O = Math.floor(O) + 0.5)
+                            : (w = Math.floor(w) + 0.5)),
+                        f.moveTo(w, O),
+                        f.lineTo(w + x, O + j),
+                        f.stroke()),
+                      f.strokeStyle = S.options.tickColor,
+                      f.beginPath(),
+                      t = 0;
+                    t < S.ticks.length;
+                    ++t
+                  ) {
+                    var P = S.ticks[t].v;
+                    (x = j = 0),
+                      isNaN(P) ||
+                        P < S.min ||
+                        P > S.max ||
+                        ("full" == C &&
+                          (("object" == typeof r && r[S.position] > 0) ||
+                            r > 0) &&
+                          (P == S.min || P == S.max)) ||
+                        ("x" == S.direction
+                          ? ((w = S.p2c(P)),
+                            (j = "full" == C ? -b : C),
+                            "top" == S.position && (j = -j))
+                          : ((O = S.p2c(P)),
+                            (x = "full" == C ? -g : C),
+                            "left" == S.position && (x = -x)),
+                        1 == f.lineWidth &&
+                          ("x" == S.direction
+                            ? (w = Math.floor(w) + 0.5)
+                            : (O = Math.floor(O) + 0.5)),
+                        f.moveTo(w, O),
+                        f.lineTo(w + x, O + j));
+                  }
+                  f.stroke();
+                }
+              }
+              r &&
+                ((a = l.grid.borderColor),
+                "object" == typeof r || "object" == typeof a
+                  ? ("object" != typeof r &&
+                      (r = { top: r, right: r, bottom: r, left: r }),
+                    "object" != typeof a &&
+                      (a = { top: a, right: a, bottom: a, left: a }),
+                    r.top > 0 &&
+                      ((f.strokeStyle = a.top),
+                      (f.lineWidth = r.top),
+                      f.beginPath(),
+                      f.moveTo(0 - r.left, 0 - r.top / 2),
+                      f.lineTo(g, 0 - r.top / 2),
+                      f.stroke()),
+                    r.right > 0 &&
+                      ((f.strokeStyle = a.right),
+                      (f.lineWidth = r.right),
+                      f.beginPath(),
+                      f.moveTo(g + r.right / 2, 0 - r.top),
+                      f.lineTo(g + r.right / 2, b),
+                      f.stroke()),
+                    r.bottom > 0 &&
+                      ((f.strokeStyle = a.bottom),
+                      (f.lineWidth = r.bottom),
+                      f.beginPath(),
+                      f.moveTo(g + r.right, b + r.bottom / 2),
+                      f.lineTo(0, b + r.bottom / 2),
+                      f.stroke()),
+                    r.left > 0 &&
+                      ((f.strokeStyle = a.left),
+                      (f.lineWidth = r.left),
+                      f.beginPath(),
+                      f.moveTo(0 - r.left / 2, b + r.bottom),
+                      f.lineTo(0 - r.left / 2, 0),
+                      f.stroke()))
+                  : ((f.lineWidth = r),
+                    (f.strokeStyle = l.grid.borderColor),
+                    f.strokeRect(-r / 2, -r / 2, g + r, b + r))),
+                f.restore();
+            }
+            function R(e) {
+              e.lines.show &&
+                ((function (e) {
+                  function t(e, t, n, r, a) {
+                    var o = e.points,
+                      i = e.pointsize,
+                      l = null,
+                      s = null;
+                    f.beginPath();
+                    for (var c = i; c < o.length; c += i) {
+                      var u = o[c - i],
+                        d = o[c - i + 1],
+                        p = o[c],
+                        h = o[c + 1];
+                      if (null != u && null != p) {
+                        if (d <= h && d < a.min) {
+                          if (h < a.min) continue;
+                          (u = ((a.min - d) / (h - d)) * (p - u) + u),
+                            (d = a.min);
+                        } else if (h <= d && h < a.min) {
+                          if (d < a.min) continue;
+                          (p = ((a.min - d) / (h - d)) * (p - u) + u),
+                            (h = a.min);
+                        }
+                        if (d >= h && d > a.max) {
+                          if (h > a.max) continue;
+                          (u = ((a.max - d) / (h - d)) * (p - u) + u),
+                            (d = a.max);
+                        } else if (h >= d && h > a.max) {
+                          if (d > a.max) continue;
+                          (p = ((a.max - d) / (h - d)) * (p - u) + u),
+                            (h = a.max);
+                        }
+                        if (u <= p && u < r.min) {
+                          if (p < r.min) continue;
+                          (d = ((r.min - u) / (p - u)) * (h - d) + d),
+                            (u = r.min);
+                        } else if (p <= u && p < r.min) {
+                          if (u < r.min) continue;
+                          (h = ((r.min - u) / (p - u)) * (h - d) + d),
+                            (p = r.min);
+                        }
+                        if (u >= p && u > r.max) {
+                          if (p > r.max) continue;
+                          (d = ((r.max - u) / (p - u)) * (h - d) + d),
+                            (u = r.max);
+                        } else if (p >= u && p > r.max) {
+                          if (u > r.max) continue;
+                          (h = ((r.max - u) / (p - u)) * (h - d) + d),
+                            (p = r.max);
+                        }
+                        (u == l && d == s) ||
+                          f.moveTo(r.p2c(u) + t, a.p2c(d) + n),
+                          (l = p),
+                          (s = h),
+                          f.lineTo(r.p2c(p) + t, a.p2c(h) + n);
+                      }
+                    }
+                    f.stroke();
+                  }
+                  f.save(), f.translate(m.left, m.top), (f.lineJoin = "round");
+                  var n = e.lines.lineWidth,
+                    r = e.shadowSize;
+                  if (n > 0 && r > 0) {
+                    (f.lineWidth = r), (f.strokeStyle = "rgba(0,0,0,0.1)");
+                    var a = Math.PI / 18;
+                    t(
+                      e.datapoints,
+                      Math.sin(a) * (n / 2 + r / 2),
+                      Math.cos(a) * (n / 2 + r / 2),
+                      e.xaxis,
+                      e.yaxis
+                    ),
+                      (f.lineWidth = r / 2),
+                      t(
+                        e.datapoints,
+                        Math.sin(a) * (n / 2 + r / 4),
+                        Math.cos(a) * (n / 2 + r / 4),
+                        e.xaxis,
+                        e.yaxis
+                      );
+                  }
+                  (f.lineWidth = n), (f.strokeStyle = e.color);
+                  var o = V(e.lines, e.color, 0, b);
+                  o &&
+                    ((f.fillStyle = o),
+                    (function (e, t, n) {
+                      for (
+                        var r = e.points,
+                          a = e.pointsize,
+                          o = Math.min(Math.max(0, n.min), n.max),
+                          i = 0,
+                          l = !1,
+                          s = 1,
+                          c = 0,
+                          u = 0;
+                        !(a > 0 && i > r.length + a);
+
+                      ) {
+                        var d = r[(i += a) - a],
+                          p = r[i - a + s],
+                          h = r[i],
+                          m = r[i + s];
+                        if (l) {
+                          if (a > 0 && null != d && null == h) {
+                            (u = i), (a = -a), (s = 2);
+                            continue;
+                          }
+                          if (a < 0 && i == c + a) {
+                            f.fill(), (l = !1), (s = 1), (i = c = u + (a = -a));
+                            continue;
+                          }
+                        }
+                        if (null != d && null != h) {
+                          if (d <= h && d < t.min) {
+                            if (h < t.min) continue;
+                            (p = ((t.min - d) / (h - d)) * (m - p) + p),
+                              (d = t.min);
+                          } else if (h <= d && h < t.min) {
+                            if (d < t.min) continue;
+                            (m = ((t.min - d) / (h - d)) * (m - p) + p),
+                              (h = t.min);
+                          }
+                          if (d >= h && d > t.max) {
+                            if (h > t.max) continue;
+                            (p = ((t.max - d) / (h - d)) * (m - p) + p),
+                              (d = t.max);
+                          } else if (h >= d && h > t.max) {
+                            if (d > t.max) continue;
+                            (m = ((t.max - d) / (h - d)) * (m - p) + p),
+                              (h = t.max);
+                          }
+                          if (
+                            (l ||
+                              (f.beginPath(),
+                              f.moveTo(t.p2c(d), n.p2c(o)),
+                              (l = !0)),
+                            p >= n.max && m >= n.max)
+                          )
+                            f.lineTo(t.p2c(d), n.p2c(n.max)),
+                              f.lineTo(t.p2c(h), n.p2c(n.max));
+                          else if (p <= n.min && m <= n.min)
+                            f.lineTo(t.p2c(d), n.p2c(n.min)),
+                              f.lineTo(t.p2c(h), n.p2c(n.min));
+                          else {
+                            var g = d,
+                              b = h;
+                            p <= m && p < n.min && m >= n.min
+                              ? ((d = ((n.min - p) / (m - p)) * (h - d) + d),
+                                (p = n.min))
+                              : m <= p &&
+                                m < n.min &&
+                                p >= n.min &&
+                                ((h = ((n.min - p) / (m - p)) * (h - d) + d),
+                                (m = n.min)),
+                              p >= m && p > n.max && m <= n.max
+                                ? ((d = ((n.max - p) / (m - p)) * (h - d) + d),
+                                  (p = n.max))
+                                : m >= p &&
+                                  m > n.max &&
+                                  p <= n.max &&
+                                  ((h = ((n.max - p) / (m - p)) * (h - d) + d),
+                                  (m = n.max)),
+                              d != g && f.lineTo(t.p2c(g), n.p2c(p)),
+                              f.lineTo(t.p2c(d), n.p2c(p)),
+                              f.lineTo(t.p2c(h), n.p2c(m)),
+                              h != b &&
+                                (f.lineTo(t.p2c(h), n.p2c(m)),
+                                f.lineTo(t.p2c(b), n.p2c(m)));
+                          }
+                        }
+                      }
+                    })(e.datapoints, e.xaxis, e.yaxis));
+                  n > 0 && t(e.datapoints, 0, 0, e.xaxis, e.yaxis);
+                  f.restore();
+                })(e),
+                e.points.show ||
+                  e.bars.show ||
+                  (function (e) {
+                    for (
+                      var t = [],
+                        n = null,
+                        r = null,
+                        a = e.datapoints,
+                        o = [],
+                        i = 0;
+                      i < a.pointsize - 2;
+                      i++
+                    )
+                      o.push(0);
+                    for (var l = 0; l < a.points.length; l += a.pointsize) {
+                      var s = a.points[l],
+                        c = a.points[l + 1];
+                      (r =
+                        l === a.points.length - a.pointsize
+                          ? null
+                          : a.points[l + a.pointsize]),
+                        null !== s &&
+                          null !== c &&
+                          null === n &&
+                          null === r &&
+                          (t.push(s), t.push(c), t.push.apply(t, o)),
+                        (n = s);
+                    }
+                    var u = a.points;
+                    (a.points = t),
+                      (e.points.radius = e.lines.lineWidth / 2),
+                      F(e),
+                      (a.points = u);
+                  })(e)),
+                e.bars.show &&
+                  (function (e) {
+                    var t;
+                    switch (
+                      (f.save(),
+                      f.translate(m.left, m.top),
+                      (f.lineWidth = e.bars.lineWidth),
+                      (f.strokeStyle = e.color),
+                      e.bars.align)
+                    ) {
+                      case "left":
+                        t = 0;
+                        break;
+                      case "right":
+                        t = -e.bars.barWidth;
+                        break;
+                      default:
+                        t = -e.bars.barWidth / 2;
+                    }
+                    var n = e.bars.fill
+                      ? function (t, n) {
+                          return V(e.bars, e.color, t, n);
+                        }
+                      : null;
+                    (function (t, n, r, a, o, i) {
+                      for (
+                        var l = t.points, s = t.pointsize, c = 0;
+                        c < l.length;
+                        c += s
+                      )
+                        null != l[c] &&
+                          L(
+                            l[c],
+                            l[c + 1],
+                            l[c + 2],
+                            n,
+                            r,
+                            a,
+                            o,
+                            i,
+                            f,
+                            e.bars.horizontal,
+                            e.bars.lineWidth
+                          );
+                    })(
+                      e.datapoints,
+                      t,
+                      t + e.bars.barWidth,
+                      n,
+                      e.xaxis,
+                      e.yaxis
+                    ),
+                      f.restore();
+                  })(e),
+                e.points.show && F(e);
+            }
+            function F(e) {
+              function t(e, t, n, r, a, o, i, l) {
+                for (
+                  var s = e.points, c = e.pointsize, u = 0;
+                  u < s.length;
+                  u += c
+                ) {
+                  var d = s[u],
+                    p = s[u + 1];
+                  null == d ||
+                    d < o.min ||
+                    d > o.max ||
+                    p < i.min ||
+                    p > i.max ||
+                    (f.beginPath(),
+                    (d = o.p2c(d)),
+                    (p = i.p2c(p) + r),
+                    "circle" == l
+                      ? f.arc(d, p, t, 0, a ? Math.PI : 2 * Math.PI, !1)
+                      : l(f, d, p, t, a),
+                    f.closePath(),
+                    n && ((f.fillStyle = n), f.fill()),
+                    f.stroke());
+                }
+              }
+              f.save(), f.translate(m.left, m.top);
+              var n = e.points.lineWidth,
+                r = e.shadowSize,
+                a = e.points.radius,
+                o = e.points.symbol;
+              if ((0 == n && (n = 1e-4), n > 0 && r > 0)) {
+                var i = r / 2;
+                (f.lineWidth = i),
+                  (f.strokeStyle = "rgba(0,0,0,0.1)"),
+                  t(e.datapoints, a, null, i + i / 2, !0, e.xaxis, e.yaxis, o),
+                  (f.strokeStyle = "rgba(0,0,0,0.2)"),
+                  t(e.datapoints, a, null, i / 2, !0, e.xaxis, e.yaxis, o);
+              }
+              (f.lineWidth = n),
+                (f.strokeStyle = e.color),
+                t(
+                  e.datapoints,
+                  a,
+                  V(e.points, e.color),
+                  0,
+                  !1,
+                  e.xaxis,
+                  e.yaxis,
+                  o
+                ),
+                f.restore();
+            }
+            function L(e, t, n, r, a, o, i, l, s, c, u) {
+              var f, d, p, h, m, g, b, v, y;
+              c
+                ? ((v = g = b = !0),
+                  (m = !1),
+                  (h = t + r),
+                  (p = t + a),
+                  (d = e) < (f = n) &&
+                    ((y = d), (d = f), (f = y), (m = !0), (g = !1)))
+                : ((m = g = b = !0),
+                  (v = !1),
+                  (f = e + r),
+                  (d = e + a),
+                  (h = t) < (p = n) &&
+                    ((y = h), (h = p), (p = y), (v = !0), (b = !1))),
+                d < i.min ||
+                  f > i.max ||
+                  h < l.min ||
+                  p > l.max ||
+                  (f < i.min && ((f = i.min), (m = !1)),
+                  d > i.max && ((d = i.max), (g = !1)),
+                  p < l.min && ((p = l.min), (v = !1)),
+                  h > l.max && ((h = l.max), (b = !1)),
+                  (f = i.p2c(f)),
+                  (p = l.p2c(p)),
+                  (d = i.p2c(d)),
+                  (h = l.p2c(h)),
+                  o &&
+                    ((s.fillStyle = o(p, h)), s.fillRect(f, h, d - f, p - h)),
+                  u > 0 &&
+                    (m || g || b || v) &&
+                    (s.beginPath(),
+                    s.moveTo(f, p),
+                    m ? s.lineTo(f, h) : s.moveTo(f, h),
+                    b ? s.lineTo(d, h) : s.moveTo(d, h),
+                    g ? s.lineTo(d, p) : s.moveTo(d, p),
+                    v ? s.lineTo(f, p) : s.moveTo(f, p),
+                    s.stroke()));
+            }
+            function V(t, n, r, a) {
+              var o = t.fill;
+              if (!o) return null;
+              if (t.fillColor) return ee(t.fillColor, r, a, n);
+              var i = e.color.parse(n);
+              return (
+                (i.a = "number" == typeof o ? o : 0.4),
+                i.normalize(),
+                i.toString()
+              );
+            }
+            (y.setData = O),
+              (y.setupGrid = T),
+              (y.draw = N),
+              (y.getPlaceholder = function () {
+                return t;
+              }),
+              (y.getCanvas = function () {
+                return s.element;
+              }),
+              (y.getPlotOffset = function () {
+                return m;
+              }),
+              (y.width = function () {
+                return g;
+              }),
+              (y.height = function () {
+                return b;
+              }),
+              (y.offset = function () {
+                var e = u.offset();
+                return (e.left += m.left), (e.top += m.top), e;
+              }),
+              (y.getData = function () {
+                return i;
+              }),
+              (y.getAxes = function () {
+                var t = {};
+                return (
+                  e.each(p.concat(h), function (e, n) {
+                    n && (t[n.direction + (1 != n.n ? n.n : "") + "axis"] = n);
+                  }),
+                  t
+                );
+              }),
+              (y.getXAxes = function () {
+                return p;
+              }),
+              (y.getYAxes = function () {
+                return h;
+              }),
+              (y.c2p = j),
+              (y.p2c = function (e) {
+                var t,
+                  n,
+                  r,
+                  a = {};
+                for (t = 0; t < p.length; ++t)
+                  if (
+                    (n = p[t]) &&
+                    n.used &&
+                    ((r = "x" + n.n),
+                    null == e[r] && 1 == n.n && (r = "x"),
+                    null != e[r])
+                  ) {
+                    a.left = n.p2c(e[r]);
+                    break;
+                  }
+                for (t = 0; t < h.length; ++t)
+                  if (
+                    (n = h[t]) &&
+                    n.used &&
+                    ((r = "y" + n.n),
+                    null == e[r] && 1 == n.n && (r = "y"),
+                    null != e[r])
+                  ) {
+                    a.top = n.p2c(e[r]);
+                    break;
+                  }
+                return a;
+              }),
+              (y.getOptions = function () {
+                return l;
+              }),
+              (y.highlight = Y),
+              (y.unhighlight = K),
+              (y.triggerRedrawOverlay = W),
+              (y.pointOffset = function (e) {
+                return {
+                  left: parseInt(p[x(e, "x") - 1].p2c(+e.x) + m.left, 10),
+                  top: parseInt(h[x(e, "y") - 1].p2c(+e.y) + m.top, 10),
+                };
+              }),
+              (y.shutdown = E),
+              (y.destroy = function () {
+                E(),
+                  t.removeData("plot").empty(),
+                  (i = []),
+                  (l = null),
+                  (s = null),
+                  (c = null),
+                  (u = null),
+                  (f = null),
+                  (d = null),
+                  (p = []),
+                  (h = []),
+                  (v = null),
+                  (B = []),
+                  (y = null);
+              }),
+              (y.resize = function () {
+                var e = t.width(),
+                  n = t.height();
+                s.resize(e, n), c.resize(e, n);
+              }),
+              (y.hooks = v),
+              (function () {
+                for (var t = { Canvas: n }, r = 0; r < o.length; ++r) {
+                  var a = o[r];
+                  a.init(y, t), a.options && e.extend(!0, l, a.options);
+                }
+              })(),
+              (function (n) {
+                e.extend(!0, l, n), n && n.colors && (l.colors = n.colors);
+                null == l.xaxis.color &&
+                  (l.xaxis.color = e.color
+                    .parse(l.grid.color)
+                    .scale("a", 0.22)
+                    .toString());
+                null == l.yaxis.color &&
+                  (l.yaxis.color = e.color
+                    .parse(l.grid.color)
+                    .scale("a", 0.22)
+                    .toString());
+                null == l.xaxis.tickColor &&
+                  (l.xaxis.tickColor = l.grid.tickColor || l.xaxis.color);
+                null == l.yaxis.tickColor &&
+                  (l.yaxis.tickColor = l.grid.tickColor || l.yaxis.color);
+                null == l.grid.borderColor &&
+                  (l.grid.borderColor = l.grid.color);
+                null == l.grid.tickColor &&
+                  (l.grid.tickColor = e.color
+                    .parse(l.grid.color)
+                    .scale("a", 0.22)
+                    .toString());
+                var r,
+                  a,
+                  o,
+                  i = t.css("font-size"),
+                  s = i ? +i.replace("px", "") : 13,
+                  c = {
+                    style: t.css("font-style"),
+                    size: Math.round(0.8 * s),
+                    variant: t.css("font-variant"),
+                    weight: t.css("font-weight"),
+                    family: t.css("font-family"),
+                  };
+                for (o = l.xaxes.length || 1, r = 0; r < o; ++r)
+                  (a = l.xaxes[r]) && !a.tickColor && (a.tickColor = a.color),
+                    (a = e.extend(!0, {}, l.xaxis, a)),
+                    (l.xaxes[r] = a),
+                    a.font &&
+                      ((a.font = e.extend({}, c, a.font)),
+                      a.font.color || (a.font.color = a.color),
+                      a.font.lineHeight ||
+                        (a.font.lineHeight = Math.round(1.15 * a.font.size)));
+                for (o = l.yaxes.length || 1, r = 0; r < o; ++r)
+                  (a = l.yaxes[r]) && !a.tickColor && (a.tickColor = a.color),
+                    (a = e.extend(!0, {}, l.yaxis, a)),
+                    (l.yaxes[r] = a),
+                    a.font &&
+                      ((a.font = e.extend({}, c, a.font)),
+                      a.font.color || (a.font.color = a.color),
+                      a.font.lineHeight ||
+                        (a.font.lineHeight = Math.round(1.15 * a.font.size)));
+                l.xaxis.noTicks &&
+                  null == l.xaxis.ticks &&
+                  (l.xaxis.ticks = l.xaxis.noTicks);
+                l.yaxis.noTicks &&
+                  null == l.yaxis.ticks &&
+                  (l.yaxis.ticks = l.yaxis.noTicks);
+                l.x2axis &&
+                  ((l.xaxes[1] = e.extend(!0, {}, l.xaxis, l.x2axis)),
+                  (l.xaxes[1].position = "top"),
+                  null == l.x2axis.min && (l.xaxes[1].min = null),
+                  null == l.x2axis.max && (l.xaxes[1].max = null));
+                l.y2axis &&
+                  ((l.yaxes[1] = e.extend(!0, {}, l.yaxis, l.y2axis)),
+                  (l.yaxes[1].position = "right"),
+                  null == l.y2axis.min && (l.yaxes[1].min = null),
+                  null == l.y2axis.max && (l.yaxes[1].max = null));
+                l.grid.coloredAreas && (l.grid.markings = l.grid.coloredAreas);
+                l.grid.coloredAreasColor &&
+                  (l.grid.markingsColor = l.grid.coloredAreasColor);
+                l.lines && e.extend(!0, l.series.lines, l.lines);
+                l.points && e.extend(!0, l.series.points, l.points);
+                l.bars && e.extend(!0, l.series.bars, l.bars);
+                null != l.shadowSize && (l.series.shadowSize = l.shadowSize);
+                null != l.highlightColor &&
+                  (l.series.highlightColor = l.highlightColor);
+                for (r = 0; r < l.xaxes.length; ++r)
+                  S(p, r + 1).options = l.xaxes[r];
+                for (r = 0; r < l.yaxes.length; ++r)
+                  S(h, r + 1).options = l.yaxes[r];
+                for (var u in v)
+                  l.hooks[u] &&
+                    l.hooks[u].length &&
+                    (v[u] = v[u].concat(l.hooks[u]));
+                w(v.processOptions, [l]);
+              })(a),
+              (function () {
+                t.find(".flot-temp-elem").remove(),
+                  "static" == t.css("position") &&
+                    t.css("position", "relative");
+                (s = new n("flot-base", t)),
+                  (c = new n("flot-overlay", t)),
+                  (f = s.context),
+                  (d = c.context),
+                  (u = e(c.element).unbind());
+                var r = t.data("plot");
+                r && (r.shutdown(), c.clear());
+                t.data("plot", y);
+              })(),
+              O(r),
+              T(),
+              N(),
+              (function () {
+                l.grid.hoverable &&
+                  (u.mousemove(q),
+                  u.bind("mouseleave", U),
+                  e(document).bind("touchend", H));
+                l.grid.clickable && u.click(z);
+                w(v.bindEvents, [u]);
+              })();
+            var B = [],
+              $ = null;
+            function q(e) {
+              l.grid.hoverable &&
+                G("plothover", e, function (e) {
+                  return 0 != e.hoverable;
+                });
+            }
+            function U(e) {
+              l.grid.hoverable &&
+                G("plothover", e, function (e) {
+                  return !1;
+                });
+            }
+            function z(e) {
+              y.isSelecting ||
+                G("plotclick", e, function (e) {
+                  return 0 != e.clickable;
+                });
+            }
+            function H(e) {
+              e.cancelable &&
+                (u.is(e.target) || 0 !== u.has(e.target).length
+                  ? (q(
+                      (function (e) {
+                        if (!e || !e.originalEvent) return e;
+                        if (e.pageX && e.pageY) return e;
+                        var t = e.originalEvent;
+                        if (0 === t.changedTouches.length) return e;
+                        var n = t.changedTouches[0];
+                        return (e.pageX = n.pageX), (e.pageY = n.pageY), e;
+                      })(e)
+                    ),
+                    e.preventDefault())
+                  : G("plotleave", e, function (e) {}));
+            }
+            function G(e, n, r) {
+              var a = u.offset(),
+                o = n.pageX - a.left - m.left,
+                s = n.pageY - a.top - m.top,
+                c = j({ left: o, top: s });
+              (c.pageX = n.pageX),
+                (c.pageY = n.pageY),
+                (c.ctrlKey = n.ctrlKey),
+                (c.metaKey = n.metaKey);
+              var f = (function (e, t, n) {
+                var r,
+                  a,
+                  o,
+                  s = l.grid.mouseActiveRadius,
+                  c = s * s + 1,
+                  u = null;
+                for (r = i.length - 1; r >= 0; --r)
+                  if (n(i[r])) {
+                    var f = i[r],
+                      d = f.xaxis,
+                      p = f.yaxis,
+                      h = f.datapoints.points,
+                      m = d.c2p(e),
+                      g = p.c2p(t),
+                      b = s / d.scale,
+                      v = s / p.scale;
+                    if (
+                      ((o = f.datapoints.pointsize),
+                      d.options.inverseTransform && (b = Number.MAX_VALUE),
+                      p.options.inverseTransform && (v = Number.MAX_VALUE),
+                      f.lines.show || f.points.show)
+                    )
+                      for (a = 0; a < h.length; a += o) {
+                        var y = h[a],
+                          w = h[a + 1];
+                        if (
+                          null != y &&
+                          !(y - m > b || y - m < -b || w - g > v || w - g < -v)
+                        ) {
+                          var O = Math.abs(d.p2c(y) - e),
+                            x = Math.abs(p.p2c(w) - t),
+                            k = O * O + x * x;
+                          k < c && ((c = k), (u = [r, a / o]));
+                        }
+                      }
+                    if (f.bars.show && !u) {
+                      var j, S;
+                      switch (f.bars.align) {
+                        case "left":
+                          j = 0;
+                          break;
+                        case "right":
+                          j = -f.bars.barWidth;
+                          break;
+                        default:
+                          j = -f.bars.barWidth / 2;
+                      }
+                      for (
+                        S = j + f.bars.barWidth, a = 0;
+                        a < h.length;
+                        a += o
+                      ) {
+                        (y = h[a]), (w = h[a + 1]);
+                        var E = h[a + 2];
+                        null != y &&
+                          (i[r].bars.horizontal
+                            ? m <= Math.max(E, y) &&
+                              m >= Math.min(E, y) &&
+                              g >= w + j &&
+                              g <= w + S
+                            : m >= y + j &&
+                              m <= y + S &&
+                              g >= Math.min(E, w) &&
+                              g <= Math.max(E, w)) &&
+                          (u = [r, a / o]);
+                      }
+                    }
+                  }
+                return u
+                  ? ((r = u[0]),
+                    (a = u[1]),
+                    (o = i[r].datapoints.pointsize),
+                    {
+                      datapoint: i[r].datapoints.points.slice(
+                        a * o,
+                        (a + 1) * o
+                      ),
+                      dataIndex: a,
+                      series: i[r],
+                      seriesIndex: r,
+                    })
+                  : null;
+              })(o, s, r);
+              if (
+                (f &&
+                  ((f.pageX = parseInt(
+                    f.series.xaxis.p2c(f.datapoint[0]) + a.left + m.left,
+                    10
+                  )),
+                  (f.pageY = parseInt(
+                    f.series.yaxis.p2c(f.datapoint[1]) + a.top + m.top,
+                    10
+                  ))),
+                l.grid.autoHighlight)
+              ) {
+                for (var d = 0; d < B.length; ++d) {
+                  var p = B[d];
+                  p.auto != e ||
+                    (f &&
+                      p.series == f.series &&
+                      p.point[0] == f.datapoint[0] &&
+                      p.point[1] == f.datapoint[1]) ||
+                    K(p.series, p.point);
+                }
+                f && Y(f.series, f.datapoint, e);
+              }
+              t.trigger(e, [c, f]);
+            }
+            function W() {
+              var e = l.interaction.redrawOverlayInterval;
+              -1 != e ? $ || ($ = setTimeout(Q, e)) : Q();
+            }
+            function Q() {
+              var e, t;
+              for (
+                $ = null,
+                  d.save(),
+                  c.clear(),
+                  d.translate(m.left, m.top),
+                  e = 0;
+                e < B.length;
+                ++e
+              )
+                (t = B[e]).series.bars.show
+                  ? X(t.series, t.point)
+                  : Z(t.series, t.point);
+              d.restore(), w(v.drawOverlay, [d]);
+            }
+            function Y(e, t, n) {
+              if (("number" == typeof e && (e = i[e]), "number" == typeof t)) {
+                var r = e.datapoints.pointsize;
+                t = e.datapoints.points.slice(r * t, r * (t + 1));
+              }
+              var a = J(e, t);
+              -1 == a
+                ? (B.push({ series: e, point: t, auto: n }), W())
+                : n || (B[a].auto = !1);
+            }
+            function K(e, t) {
+              if (null == e && null == t) return (B = []), void W();
+              if (("number" == typeof e && (e = i[e]), "number" == typeof t)) {
+                var n = e.datapoints.pointsize;
+                t = e.datapoints.points.slice(n * t, n * (t + 1));
+              }
+              var r = J(e, t);
+              -1 != r && (B.splice(r, 1), W());
+            }
+            function J(e, t) {
+              for (var n = 0; n < B.length; ++n) {
+                var r = B[n];
+                if (r.series == e && r.point[0] == t[0] && r.point[1] == t[1])
+                  return n;
+              }
+              return -1;
+            }
+            function Z(t, n) {
+              var r = n[0],
+                a = n[1],
+                o = t.xaxis,
+                i = t.yaxis,
+                l =
+                  "string" == typeof t.highlightColor
+                    ? t.highlightColor
+                    : e.color.parse(t.color).scale("a", 0.5).toString();
+              if (!(r < o.min || r > o.max || a < i.min || a > i.max)) {
+                var s = t.points.radius + t.points.lineWidth / 2;
+                (d.lineWidth = s), (d.strokeStyle = l);
+                var c = 1.5 * s;
+                (r = o.p2c(r)),
+                  (a = i.p2c(a)),
+                  d.beginPath(),
+                  "circle" == t.points.symbol
+                    ? d.arc(r, a, c, 0, 2 * Math.PI, !1)
+                    : t.points.symbol(d, r, a, c, !1),
+                  d.closePath(),
+                  d.stroke();
+              }
+            }
+            function X(t, n) {
+              var r,
+                a =
+                  "string" == typeof t.highlightColor
+                    ? t.highlightColor
+                    : e.color.parse(t.color).scale("a", 0.5).toString(),
+                o = a;
+              switch (t.bars.align) {
+                case "left":
+                  r = 0;
+                  break;
+                case "right":
+                  r = -t.bars.barWidth;
+                  break;
+                default:
+                  r = -t.bars.barWidth / 2;
+              }
+              (d.lineWidth = t.bars.lineWidth),
+                (d.strokeStyle = a),
+                L(
+                  n[0],
+                  n[1],
+                  n[2] || 0,
+                  r,
+                  r + t.bars.barWidth,
+                  function () {
+                    return o;
+                  },
+                  t.xaxis,
+                  t.yaxis,
+                  d,
+                  t.bars.horizontal,
+                  t.bars.lineWidth
+                );
+            }
+            function ee(t, n, r, a) {
+              if ("string" == typeof t) return t;
+              for (
+                var o = f.createLinearGradient(0, r, 0, n),
+                  i = 0,
+                  l = t.colors.length;
+                i < l;
+                ++i
+              ) {
+                var s = t.colors[i];
+                if ("string" != typeof s) {
+                  var c = e.color.parse(a);
+                  null != s.brightness && (c = c.scale("rgb", s.brightness)),
+                    null != s.opacity && (c.a *= s.opacity),
+                    (s = c.toString());
+                }
+                o.addColorStop(i / (l - 1), s);
+              }
+              return o;
+            }
+          }
+          e.fn.detach ||
+            (e.fn.detach = function () {
+              return this.each(function () {
+                this.parentNode && this.parentNode.removeChild(this);
+              });
+            }),
+            (n.prototype.resize = function (e, t) {
+              if (e <= 0 || t <= 0)
+                throw new Error(
+                  "Invalid dimensions for plot, width = " +
+                    e +
+                    ", height = " +
+                    t
+                );
+              var n = this.element,
+                r = this.context,
+                a = this.pixelRatio;
+              this.width != e &&
+                ((n.width = e * a),
+                (n.style.width = e + "px"),
+                (this.width = e)),
+                this.height != t &&
+                  ((n.height = t * a),
+                  (n.style.height = t + "px"),
+                  (this.height = t)),
+                r.restore(),
+                r.save(),
+                r.scale(a, a);
+            }),
+            (n.prototype.clear = function () {
+              this.context.clearRect(0, 0, this.width, this.height);
+            }),
+            (n.prototype.render = function () {
+              var e = this._textCache;
+              for (var n in e)
+                if (t.call(e, n)) {
+                  var r = this.getTextLayer(n),
+                    a = e[n];
+                  for (var o in (r.hide(), a))
+                    if (t.call(a, o)) {
+                      var i = a[o];
+                      for (var l in i)
+                        if (t.call(i, l)) {
+                          for (
+                            var s, c = i[l].positions, u = 0;
+                            (s = c[u]);
+                            u++
+                          )
+                            s.active
+                              ? s.rendered ||
+                                (r.append(s.element), (s.rendered = !0))
+                              : (c.splice(u--, 1),
+                                s.rendered && s.element.detach());
+                          0 == c.length && delete i[l];
+                        }
+                    }
+                  r.show();
+                }
+            }),
+            (n.prototype.getTextLayer = function (t) {
+              var n = this.text[t];
+              return (
+                null == n &&
+                  (null == this.textContainer &&
+                    (this.textContainer = e(
+                      "<div class='flot-text flot-temp-elem'></div>"
+                    )
+                      .css({
+                        position: "absolute",
+                        top: 0,
+                        left: 0,
+                        bottom: 0,
+                        right: 0,
+                        "font-size": "smaller",
+                        color: "#545454",
+                      })
+                      .insertAfter(this.element)),
+                  (n = this.text[t] = e("<div></div>")
+                    .addClass(t)
+                    .css({
+                      position: "absolute",
+                      top: 0,
+                      left: 0,
+                      bottom: 0,
+                      right: 0,
+                    })
+                    .appendTo(this.textContainer))),
+                n
+              );
+            }),
+            (n.prototype.getTextInfo = function (t, n, r, a, o) {
+              var i, l, s, c;
+              if (
+                ((n = "" + n),
+                (i =
+                  "object" == typeof r
+                    ? r.style +
+                      " " +
+                      r.variant +
+                      " " +
+                      r.weight +
+                      " " +
+                      r.size +
+                      "px/" +
+                      r.lineHeight +
+                      "px " +
+                      r.family
+                    : r),
+                null == (l = this._textCache[t]) &&
+                  (l = this._textCache[t] = {}),
+                null == (s = l[i]) && (s = l[i] = {}),
+                null == (c = s[n]))
+              ) {
+                var u = e("<div></div>")
+                  .html(n)
+                  .css({ position: "absolute", "max-width": o, top: -9999 })
+                  .appendTo(this.getTextLayer(t));
+                "object" == typeof r
+                  ? u.css({ font: i, color: r.color })
+                  : "string" == typeof r && u.addClass(r),
+                  (c = s[n] = { element: u, positions: [] });
+                var f = this._textSizeCache[n];
+                f
+                  ? ((c.width = f.width), (c.height = f.height))
+                  : ((c.width = u.outerWidth(!0)),
+                    (c.height = u.outerHeight(!0)),
+                    (this._textSizeCache[n] = {
+                      width: c.width,
+                      height: c.height,
+                    })),
+                  u.detach();
+              }
+              return c;
+            }),
+            (n.prototype.addText = function (e, t, n, r, a, o, i, l, s) {
+              var c = this.getTextInfo(e, r, a, o, i),
+                u = c.positions;
+              "center" == l
+                ? (t -= c.width / 2)
+                : "right" == l && (t -= c.width),
+                "middle" == s
+                  ? (n -= c.height / 2)
+                  : "bottom" == s && (n -= c.height);
+              for (var f, d = 0; (f = u[d]); d++)
+                if (f.x == t && f.y == n) return void (f.active = !0);
+              (f = {
+                active: !0,
+                rendered: !1,
+                element: u.length ? c.element.clone() : c.element,
+                x: t,
+                y: n,
+              }),
+                u.push(f),
+                f.element.css({
+                  top: Math.round(n),
+                  left: Math.round(t),
+                  "text-align": l,
+                });
+            }),
+            (n.prototype.removeText = function (e, n, r, a, o, i) {
+              if (null == a) {
+                var l = this._textCache[e];
+                if (null != l)
+                  for (var s in l)
+                    if (t.call(l, s)) {
+                      var c = l[s];
+                      for (var u in c)
+                        if (t.call(c, u))
+                          for (var f = c[u].positions, d = 0; (p = f[d]); d++)
+                            p.active = !1;
+                    }
+              } else {
+                var p;
+                for (
+                  f = this.getTextInfo(e, a, o, i).positions, d = 0;
+                  (p = f[d]);
+                  d++
+                )
+                  p.x == n && p.y == r && (p.active = !1);
+              }
+            }),
+            (e.plot = function (t, n, a) {
+              return new r(e(t), n, a, e.plot.plugins);
+            }),
+            (e.plot.version = "0.8.3"),
+            (e.plot.plugins = []),
+            (e.fn.plot = function (t, n) {
+              return this.each(function () {
+                e.plot(this, t, n);
+              });
+            });
+        })(jQuery);
+    },
+    "8YUl": function (e, t, n) {
+      "use strict";
+      n.d(t, "b", function () {
+        return v;
+      }),
+        n.d(t, "a", function () {
+          return O;
+        });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("TSYQ"),
+        i = n.n(o),
+        l = n("kDDq"),
+        s = n("5/7A"),
+        c = n("bDvK"),
+        u = n("Wwog"),
+        f = n("MIBK");
+      function d(e) {
+        return (d =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function p(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function h(e, t) {
+        return !t || ("object" !== d(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function m(e) {
+        return (m = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function g(e, t) {
+        return (g =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      function b() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })([
+          "\n      label: selectButton;\n      .select-button-value {\n        color: ",
+          ";\n      }\n    ",
+        ]);
+        return (
+          (b = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      var v = ["5s", "10s", "30s", "1m", "5m", "15m", "30m", "1h", "2h", "1d"],
+        y = Object(u.a)(function (e) {
+          return { selectButton: Object(l.css)(b(), e.colors.orange) };
+        }),
+        w = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = h(this, m(t).call(this, e))).intervalsToOptions = function (
+                e
+              ) {
+                var t = (e || v).map(function (e) {
+                  return { label: e, value: e };
+                });
+                return (
+                  n.props.hasLiveOption && t.unshift(O.liveOption),
+                  t.unshift(O.offOption),
+                  t
+                );
+              }),
+              (n.onChangeSelect = function (e) {
+                var t = n.props.onIntervalChanged;
+                t && t(e.value);
+              }),
+              n
+            );
+          }
+          var n, r, o;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && g(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.onRefresh,
+                    n = e.intervals,
+                    r = e.tooltip,
+                    o = e.value,
+                    l = e.refreshButton,
+                    u = e.buttonSelectClassName,
+                    f = e.theme,
+                    d = this.intervalsToOptions(n),
+                    p = o || "",
+                    h =
+                      d.find(function (e) {
+                        return e.value === p;
+                      }) || O.offOption,
+                    m = y(f),
+                    g = i()({
+                      "refresh-picker": !0,
+                      "refresh-picker--off": h.label === O.offOption.label,
+                      "refresh-picker--live": h === O.liveOption,
+                    });
+                  return a.a.createElement(
+                    "div",
+                    { className: g },
+                    a.a.createElement(
+                      "div",
+                      { className: "refresh-picker-buttons" },
+                      l ||
+                        a.a.createElement(
+                          s.b,
+                          { placement: "top", content: r },
+                          a.a.createElement(
+                            "button",
+                            {
+                              className:
+                                "btn btn--radius-right-0 navbar-button navbar-button--border-right-0",
+                              onClick: t,
+                            },
+                            a.a.createElement("i", {
+                              className: "fa fa-refresh",
+                            })
+                          )
+                        ),
+                      a.a.createElement(c.a, {
+                        className: i()(
+                          "navbar-button--attached",
+                          m.selectButton,
+                          u
+                        ),
+                        value: h,
+                        label: h.label,
+                        options: d,
+                        onChange: this.onChangeSelect,
+                        maxMenuHeight: 380,
+                      })
+                    )
+                  );
+                },
+              },
+            ]) && p(n.prototype, r),
+            o && p(n, o),
+            t
+          );
+        })(r.PureComponent);
+      (w.offOption = { label: "Off", value: "" }),
+        (w.liveOption = { label: "Live", value: "LIVE" }),
+        (w.isLive = function (e) {
+          return e === O.liveOption.value;
+        });
+      var O = Object(f.i)(w);
+    },
+    "8iRp": function (e, t) {
+      var n = "public/app/plugins/panel/singlestat/module.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(n, "<div class=singlestat-panel>\n\n</div>\n");
+        },
+      ]),
+        (e.exports = n);
+    },
+    "94Nu": function (e, t) {},
+    "9CCn": function (e, t) {
+      var n = "public/app/plugins/panel/text/editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            "<div class=gf-form-inline>\n\t<div class=gf-form>\n\t\t<span class=gf-form-label>Mode</span>\n\t\t<span class=gf-form-select-wrapper>\n\t\t\t<select class=gf-form-input ng-model=ctrl.panel.mode ng-options=\"f for f in ['html','markdown']\"></select>\n\t\t</span>\n\t</div>\n</div>\n\n<div class=gf-form-inline>\n\t<div class=\"gf-form gf-form--grow\">\n\t\t<code-editor content=ctrl.panel.content on-change=ctrl.render() data-mode=markdown data-max-lines=20>\n\t\t</code-editor>\n\t</div>\n</div>\n"
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "9RCP": function (e, t) {
+      var n =
+        "public/app/plugins/datasource/mysql/partials/annotations.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '\n<div class=gf-form-group>\n  <div class=gf-form-inline>\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<textarea rows=10 class=gf-form-input ng-model=ctrl.annotation.rawQuery spellcheck=false placeholder="query expression" data-min-length=0 data-items=100 ng-model-onblur ng-change=ctrl.panelCtrl.refresh()></textarea>\n\t\t</div>\n\t</div>\n\n  <div class=gf-form-inline>\n    <div class=gf-form>\n      <label class="gf-form-label query-keyword" ng-click="ctrl.showHelp = !ctrl.showHelp">\n        Show Help\n        <i class="fa fa-caret-down" ng-show=ctrl.showHelp></i>\n        <i class="fa fa-caret-right" ng-hide=ctrl.showHelp></i>\n      </label>\n\t\t</div>\n  </div>\n\n  <div class=gf-form ng-show=ctrl.showHelp>\n\t\t<pre class="gf-form-pre alert alert-info"><h6>Annotation Query Format</h6>\nAn annotation is an event that is overlaid on top of graphs. The query can have up to four columns per row, the <i>time</i> or <i>time_sec</i> column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.\n\n- column with alias: <b>time</b> or <i>time_sec</i> for the annotation event time. Use epoch time or any native date data type.\n- column with alias: <b>timeend</b> for the annotation event end time. Use epoch time or any native date data type.\n- column with alias: <b>text</b> for the annotation text\n- column with alias: <b>tags</b> for annotation tags. This is a comma separated string of tags e.g. \'tag1,tag2\'\n\n\nMacros:\n- $__time(column) -&gt; UNIX_TIMESTAMP(column) as time (or as time_sec)\n- $__timeEpoch(column) -&gt; UNIX_TIMESTAMP(column) as time (or as time_sec)\n- $__timeFilter(column) -&gt; column BETWEEN FROM_UNIXTIME(1492750877) AND FROM_UNIXTIME(1492750877)\n- $__unixEpochFilter(column) -&gt;  time_unix_epoch &gt; 1492750877 AND time_unix_epoch &lt; 1492750877\n- $__unixEpochNanoFilter(column) -&gt;  column &gt;= 1494410783152415214 AND column &lt;= 1494497183142514872\n\nOr build your own conditionals using these macros which just return the values:\n- $__timeFrom() -&gt; FROM_UNIXTIME(1492750877)\n- $__timeTo() -&gt;  FROM_UNIXTIME(1492750877)\n- $__unixEpochFrom() -&gt;  1492750877\n- $__unixEpochTo() -&gt;  1492750877\n- $__unixEpochNanoFrom() -&gt;  1494410783152415214\n- $__unixEpochNanoTo() -&gt;  1494497183142514872\n\t\t</pre>\n\t</div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "9XWl": function (e, t, n) {
+      "use strict";
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDDq"),
+        i = n("kDLi"),
+        l = n("NXk7");
+      function s(e) {
+        return (s =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function c(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function u(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              c(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              c(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function f(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function d(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function p(e, t) {
+        return !t || ("object" !== s(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function h(e) {
+        return (h = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function m(e, t) {
+        return (m =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var g = (function (e) {
+        function t() {
+          var e, n;
+          f(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = p(this, (e = h(t)).call.apply(e, [this].concat(a)))).state = {
+              isLoading: !1,
+            }),
+            (n.getOrgOptions = (function () {
+              var e = u(
+                regeneratorRuntime.mark(function e(t) {
+                  return regeneratorRuntime.wrap(function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          if (n.orgs) {
+                            e.next = 3;
+                            break;
+                          }
+                          return (e.next = 3), n.loadOrgs();
+                        case 3:
+                          return e.abrupt(
+                            "return",
+                            n.orgs.map(function (e) {
+                              return {
+                                id: e.id,
+                                value: e.id,
+                                label: e.name,
+                                name: e.name,
+                              };
+                            })
+                          );
+                        case 4:
+                        case "end":
+                          return e.stop();
+                      }
+                  }, e);
+                })
+              );
+              return function (t) {
+                return e.apply(this, arguments);
+              };
+            })()),
+            n
+          );
+        }
+        var n, r, o, s;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && m(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "loadOrgs",
+              value:
+                ((s = u(
+                  regeneratorRuntime.mark(function e() {
+                    var t;
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return (
+                                this.setState({ isLoading: !0 }),
+                                (e.next = 3),
+                                Object(l.c)().get("/api/orgs")
+                              );
+                            case 3:
+                              return (
+                                (t = e.sent),
+                                (this.orgs = t),
+                                this.setState({ isLoading: !1 }),
+                                e.abrupt("return", t)
+                              );
+                            case 7:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this
+                    );
+                  })
+                )),
+                function () {
+                  return s.apply(this, arguments);
+                }),
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.className,
+                  n = e.onSelected,
+                  r = this.state.isLoading;
+                return a.a.createElement(
+                  "div",
+                  { className: "org-picker" },
+                  a.a.createElement(i.AsyncSelect, {
+                    className: t,
+                    isLoading: r,
+                    defaultOptions: !0,
+                    isSearchable: !1,
+                    loadOptions: this.getOrgOptions,
+                    onChange: n,
+                    placeholder: "Select organization",
+                    noOptionsMessage: function () {
+                      return "No organizations found";
+                    },
+                  })
+                );
+              },
+            },
+          ]) && d(n.prototype, r),
+          o && d(n, o),
+          t
+        );
+      })(r.PureComponent);
+      function b(e) {
+        return (b =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function v(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function y(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? v(Object(n), !0).forEach(function (t) {
+                w(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : v(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function w(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function O() {
+        var e = E(["\n    text-align: center;\n  "]);
+        return (
+          (O = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function x() {
+        var e = E(["\n    width: 500px;\n  "]);
+        return (
+          (x = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function k() {
+        var e = E(["\n      font-weight: 500;\n    "]);
+        return (
+          (k = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function j() {
+        var e = E([
+          "\n      margin-right: 0.6rem;\n      text-decoration: underline;\n      color: ",
+          ";\n    ",
+        ]);
+        return (
+          (j = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function S() {
+        var e = E(["\n      margin-top: 0.8rem;\n    "]);
+        return (
+          (S = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function E(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      function C(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function P(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function T(e, t, n) {
+        return t && P(e.prototype, t), n && P(e, n), e;
+      }
+      function D(e, t) {
+        return !t || ("object" !== b(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function A(e) {
+        return (A = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function _(e, t) {
+        if ("function" != typeof t && null !== t)
+          throw new TypeError(
+            "Super expression must either be null or a function"
+          );
+        (e.prototype = Object.create(t && t.prototype, {
+          constructor: { value: e, writable: !0, configurable: !0 },
+        })),
+          t && N(e, t);
+      }
+      function N(e, t) {
+        return (N =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      n.d(t, "a", function () {
+        return M;
+      });
+      var M = (function (e) {
+          function t() {
+            var e, n;
+            C(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = D(
+                this,
+                (e = A(t)).call.apply(e, [this].concat(a))
+              )).state = { showAddOrgModal: !1 }),
+              (n.showOrgAddModal = function (e) {
+                return function () {
+                  n.setState({ showAddOrgModal: e });
+                };
+              }),
+              n
+            );
+          }
+          return (
+            _(t, e),
+            T(t, [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.orgs,
+                    n = e.onOrgRoleChange,
+                    r = e.onOrgRemove,
+                    l = e.onOrgAdd,
+                    s = this.state.showAddOrgModal,
+                    c = Object(o.css)(S());
+                  return a.a.createElement(
+                    a.a.Fragment,
+                    null,
+                    a.a.createElement(
+                      "h3",
+                      { className: "page-heading" },
+                      "Organisations"
+                    ),
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form-group" },
+                      a.a.createElement(
+                        "div",
+                        { className: "gf-form" },
+                        a.a.createElement(
+                          "table",
+                          { className: "filter-table form-inline" },
+                          a.a.createElement(
+                            "tbody",
+                            null,
+                            t.map(function (e, t) {
+                              return a.a.createElement(L, {
+                                key: "".concat(e.orgId, "-").concat(t),
+                                org: e,
+                                onOrgRoleChange: n,
+                                onOrgRemove: r,
+                              });
+                            })
+                          )
+                        )
+                      ),
+                      a.a.createElement(
+                        "div",
+                        { className: c },
+                        a.a.createElement(
+                          i.Forms.Button,
+                          {
+                            variant: "secondary",
+                            onClick: this.showOrgAddModal(!0),
+                          },
+                          "Add user to organization"
+                        )
+                      ),
+                      a.a.createElement(B, {
+                        isOpen: s,
+                        onOrgAdd: l,
+                        onDismiss: this.showOrgAddModal(!1),
+                      })
+                    )
+                  );
+                },
+              },
+            ]),
+            t
+          );
+        })(r.PureComponent),
+        I = ["Viewer", "Editor", "Admin"],
+        R = Object(i.stylesFactory)(function (e) {
+          return {
+            removeButton: Object(o.css)(j(), e.colors.blue95),
+            label: Object(o.css)(k()),
+          };
+        }),
+        F = (function (e) {
+          function t() {
+            var e, n;
+            C(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = D(
+                this,
+                (e = A(t)).call.apply(e, [this].concat(a))
+              )).state = {
+                currentRole: n.props.org.role,
+                isChangingRole: !1,
+                isRemovingFromOrg: !1,
+              }),
+              (n.onOrgRemove = function () {
+                var e = n.props.org;
+                n.props.onOrgRemove(e.orgId);
+              }),
+              (n.onChangeRoleClick = function () {
+                var e = n.props.org;
+                n.setState({ isChangingRole: !0, currentRole: e.role });
+              }),
+              (n.onOrgRemoveClick = function () {
+                n.setState({ isRemovingFromOrg: !0 });
+              }),
+              (n.onOrgRoleChange = function (e) {
+                var t = e.target.value;
+                n.setState({ currentRole: t });
+              }),
+              (n.onOrgRoleSave = function () {
+                n.props.onOrgRoleChange(n.props.org.orgId, n.state.currentRole);
+              }),
+              (n.onCancelClick = function () {
+                n.setState({ isChangingRole: !1, isRemovingFromOrg: !1 });
+              }),
+              n
+            );
+          }
+          return (
+            _(t, e),
+            T(t, [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.org,
+                    n = e.theme,
+                    r = this.state,
+                    l = r.currentRole,
+                    s = r.isChangingRole,
+                    c = r.isRemovingFromOrg,
+                    u = R(n),
+                    f = Object(o.cx)("width-16", u.label);
+                  return a.a.createElement(
+                    "tr",
+                    null,
+                    a.a.createElement("td", { className: f }, t.name),
+                    s
+                      ? a.a.createElement(
+                          "td",
+                          null,
+                          a.a.createElement(
+                            "div",
+                            { className: "gf-form-select-wrapper width-8" },
+                            a.a.createElement(
+                              "select",
+                              {
+                                value: l,
+                                className: "gf-form-input",
+                                onChange: this.onOrgRoleChange,
+                              },
+                              I.map(function (e, t) {
+                                return a.a.createElement(
+                                  "option",
+                                  {
+                                    value: e,
+                                    key: "".concat(e, "-").concat(t),
+                                  },
+                                  e
+                                );
+                              })
+                            )
+                          )
+                        )
+                      : a.a.createElement(
+                          "td",
+                          { className: "width-25" },
+                          t.role
+                        ),
+                    !c &&
+                      a.a.createElement(
+                        "td",
+                        { colSpan: s ? 2 : 1 },
+                        a.a.createElement(
+                          "div",
+                          { className: "pull-right" },
+                          a.a.createElement(
+                            i.ConfirmButton,
+                            {
+                              confirmText: "Save",
+                              onClick: this.onChangeRoleClick,
+                              onCancel: this.onCancelClick,
+                              onConfirm: this.onOrgRoleSave,
+                            },
+                            "Change role"
+                          )
+                        )
+                      ),
+                    !s &&
+                      a.a.createElement(
+                        "td",
+                        { colSpan: c ? 2 : 1 },
+                        a.a.createElement(
+                          "div",
+                          { className: "pull-right" },
+                          a.a.createElement(
+                            i.ConfirmButton,
+                            {
+                              confirmText: "Confirm removal",
+                              confirmVariant: "danger",
+                              onClick: this.onOrgRemoveClick,
+                              onCancel: this.onCancelClick,
+                              onConfirm: this.onOrgRemove,
+                            },
+                            "Remove from organisation"
+                          )
+                        )
+                      )
+                  );
+                },
+              },
+            ]),
+            t
+          );
+        })(r.PureComponent),
+        L = Object(i.withTheme)(F),
+        V = Object(i.stylesFactory)(function () {
+          return { modal: Object(o.css)(x()), buttonRow: Object(o.css)(O()) };
+        }),
+        B = (function (e) {
+          function t() {
+            var e, n;
+            C(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = D(
+                this,
+                (e = A(t)).call.apply(e, [this].concat(a))
+              )).state = { selectedOrg: null, role: "Admin" }),
+              (n.onOrgSelect = function (e) {
+                n.setState({ selectedOrg: y({}, e) });
+              }),
+              (n.onOrgRoleChange = function (e) {
+                n.setState({ role: e.target.value });
+              }),
+              (n.onAddUserToOrg = function () {
+                var e = n.state,
+                  t = e.selectedOrg,
+                  r = e.role;
+                n.props.onOrgAdd(t.id, r);
+              }),
+              (n.onCancel = function () {
+                n.props.onDismiss();
+              }),
+              n
+            );
+          }
+          return (
+            _(t, e),
+            T(t, [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props.isOpen,
+                    t = this.state.role,
+                    n = V(),
+                    r = Object(o.cx)("gf-form-button-row", n.buttonRow);
+                  return a.a.createElement(
+                    i.Modal,
+                    {
+                      className: n.modal,
+                      title: "Add to an organization",
+                      isOpen: e,
+                      onDismiss: this.onCancel,
+                    },
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form-group" },
+                      a.a.createElement(
+                        "h6",
+                        { className: "" },
+                        "Organisation"
+                      ),
+                      a.a.createElement(g, {
+                        className: "width-25",
+                        onSelected: this.onOrgSelect,
+                      })
+                    ),
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form-group" },
+                      a.a.createElement("h6", { className: "" }, "Role"),
+                      a.a.createElement(
+                        "div",
+                        { className: "gf-form-select-wrapper width-16" },
+                        a.a.createElement(
+                          "select",
+                          {
+                            value: t,
+                            className: "gf-form-input",
+                            onChange: this.onOrgRoleChange,
+                          },
+                          I.map(function (e, t) {
+                            return a.a.createElement(
+                              "option",
+                              { value: e, key: "".concat(e, "-").concat(t) },
+                              e
+                            );
+                          })
+                        )
+                      )
+                    ),
+                    a.a.createElement(
+                      "div",
+                      { className: r },
+                      a.a.createElement(
+                        i.Forms.Button,
+                        { variant: "primary", onClick: this.onAddUserToOrg },
+                        "Add to organization"
+                      ),
+                      a.a.createElement(
+                        i.Forms.Button,
+                        { variant: "secondary", onClick: this.onCancel },
+                        "Cancel"
+                      )
+                    )
+                  );
+                },
+              },
+            ]),
+            t
+          );
+        })(r.PureComponent);
+    },
+    "9iwZ": function (e, t, n) {
+      "use strict";
+      var r, a, o, i;
+      n.d(t, "b", function () {
+        return r;
+      }),
+        n.d(t, "c", function () {
+          return a;
+        }),
+        n.d(t, "a", function () {
+          return i;
+        }),
+        n.d(t, "e", function () {
+          return s;
+        }),
+        n.d(t, "f", function () {
+          return c;
+        }),
+        n.d(t, "d", function () {
+          return l;
+        }),
+        n.d(t, "g", function () {
+          return u;
+        }),
+        (function (e) {
+          (e.Viewer = "Viewer"), (e.Editor = "Editor"), (e.Admin = "Admin");
+        })(r || (r = {})),
+        (function (e) {
+          (e[(e.View = 1)] = "View"),
+            (e[(e.Edit = 2)] = "Edit"),
+            (e[(e.Admin = 4)] = "Admin");
+        })(a || (a = {})),
+        (function (e) {
+          (e[(e.Query = 1)] = "Query"), (e[(e.Admin = 2)] = "Admin");
+        })(o || (o = {})),
+        (function (e) {
+          (e.Team = "Team"),
+            (e.User = "User"),
+            (e.Viewer = "Viewer"),
+            (e.Editor = "Editor");
+        })(i || (i = {}));
+      o.Query;
+      var l,
+        s = [
+          { value: i.Team, text: "Team" },
+          { value: i.User, text: "User" },
+          { value: i.Viewer, text: "Everyone With Viewer Role" },
+          { value: i.Editor, text: "Everyone With Editor Role" },
+        ],
+        c = [
+          { value: a.View, label: "View", description: "Can view dashboards." },
+          {
+            value: a.Edit,
+            label: "Edit",
+            description: "Can add, edit and delete dashboards.",
+          },
+          {
+            value: a.Admin,
+            label: "Admin",
+            description:
+              "Can add/remove permissions and can add, edit and delete dashboards.",
+          },
+        ];
+      !(function (e) {
+        (e[(e.Member = 0)] = "Member"), (e[(e.Admin = 4)] = "Admin");
+      })(l || (l = {}));
+      var u = [
+        { value: l.Member, label: "Member", description: "Is team member" },
+        {
+          value: l.Admin,
+          label: "Admin",
+          description: "Can add/remove permissions, members and delete team.",
+        },
+      ];
+    },
+    "9o1o": function (e, t, n) {
+      "use strict";
+      function r() {
+        return {
+          clearIndicator: function () {
+            return {};
+          },
+          container: function () {
+            return {};
+          },
+          control: function () {
+            return {};
+          },
+          dropdownIndicator: function () {
+            return {};
+          },
+          group: function () {
+            return {};
+          },
+          groupHeading: function () {
+            return {};
+          },
+          indicatorsContainer: function () {
+            return {};
+          },
+          indicatorSeparator: function () {
+            return {};
+          },
+          input: function () {
+            return {};
+          },
+          loadingIndicator: function () {
+            return {};
+          },
+          loadingMessage: function () {
+            return {};
+          },
+          menu: function () {
+            return {};
+          },
+          menuList: function (e) {
+            return { maxHeight: e.maxHeight };
+          },
+          multiValue: function () {
+            return {};
+          },
+          multiValueLabel: function () {
+            return {};
+          },
+          multiValueRemove: function () {
+            return {};
+          },
+          noOptionsMessage: function () {
+            return {};
+          },
+          option: function () {
+            return {};
+          },
+          placeholder: function () {
+            return {};
+          },
+          singleValue: function () {
+            return {};
+          },
+          valueContainer: function () {
+            return {};
+          },
+        };
+      }
+      n.d(t, "a", function () {
+        return r;
+      });
+    },
+    ADUO: function (e, t) {
+      var n =
+        "public/app/plugins/datasource/grafana-azure-monitor-datasource/partials/query.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<query-editor-row query-ctrl=ctrl can-collapse=false has-text-edit-mode="ctrl.target.queryType === \'Application Insights\'">\n  <div class=gf-form-inline>\n    <div class=gf-form>\n      <label class="gf-form-label query-keyword width-9">Service</label>\n      <div class="gf-form-select-wrapper gf-form-select-wrapper--caret-indent">\n        <select class="gf-form-input service-dropdown" ng-model=ctrl.target.queryType ng-options="f as f for f in [\'Application Insights\', \'Azure Monitor\', \'Azure Log Analytics\']" ng-change=ctrl.onQueryTypeChange()></select>\n      </div>\n    </div>\n    <div class=gf-form ng-if="ctrl.target.queryType === \'Azure Monitor\' || ctrl.target.queryType === \'Azure Log Analytics\'">\n      <label class="gf-form-label query-keyword width-9">Subscription</label>\n      <gf-form-dropdown model=ctrl.target.subscription allow-custom=true lookup-text=true get-options=ctrl.getSubscriptions() on-change=ctrl.onSubscriptionChange() css-class=min-width-12>\n      </gf-form-dropdown>\n    </div>\n    <div class="gf-form gf-form--grow">\n      <div class="gf-form-label gf-form-label--grow"></div>\n    </div>\n  </div>\n  <div ng-if="ctrl.target.queryType === \'Azure Monitor\'">\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-9">Resource Group</label>\n        <gf-form-dropdown model=ctrl.target.azureMonitor.resourceGroup allow-custom=true lookup-text=true get-options=ctrl.getResourceGroups($query) on-change=ctrl.onResourceGroupChange() css-class=min-width-12>\n        </gf-form-dropdown>\n      </div>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-9">Namespace</label>\n        <gf-form-dropdown model=ctrl.target.azureMonitor.metricDefinition allow-custom=true lookup-text=true get-options=ctrl.getMetricDefinitions($query) on-change=ctrl.onMetricDefinitionChange() css-class=min-width-20>\n        </gf-form-dropdown>\n      </div>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-9">Resource Name</label>\n        <gf-form-dropdown model=ctrl.target.azureMonitor.resourceName allow-custom=true lookup-text=true get-options=ctrl.getResourceNames($query) on-change=ctrl.onResourceNameChange() css-class=min-width-12>\n        </gf-form-dropdown>\n      </div>\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n    </div>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-9">Metric Namespace</label>\n        <gf-form-dropdown model=ctrl.target.azureMonitor.metricNamespace allow-custom=true lookup-text=true get-options=ctrl.getMetricNamespaces($query) on-change=ctrl.onMetricNamespacesChange() css-class=min-width-12>\n        </gf-form-dropdown>\n      </div>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-9">Metric</label>\n        <gf-form-dropdown model=ctrl.target.azureMonitor.metricName allow-custom=true lookup-text=true get-options=ctrl.getMetricNames($query) on-change=ctrl.onMetricNameChange() css-class=min-width-12>\n        </gf-form-dropdown>\n      </div>\n      <div class="gf-form gf-form--grow aggregation-dropdown-wrapper">\n        <label class="gf-form-label query-keyword width-9">Aggregation</label>\n        <div class="gf-form-select-wrapper gf-form-select-wrapper--caret-indent">\n          <select class="gf-form-input width-11" ng-model=ctrl.target.azureMonitor.aggregation ng-options="f as f for f in ctrl.target.azureMonitor.aggOptions" ng-change=ctrl.refresh()></select>\n        </div>\n      </div>\n    </div>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-9">Time Grain</label>\n        <div class="gf-form-select-wrapper gf-form-select-wrapper--caret-indent timegrainunit-dropdown-wrapper">\n          <select class=gf-form-input ng-model=ctrl.target.azureMonitor.timeGrain ng-options="f.value as f.text for f in ctrl.target.azureMonitor.timeGrains" ng-change=ctrl.refresh()></select>\n        </div>\n      </div>\n      <div class=gf-form ng-show="ctrl.target.azureMonitor.timeGrain.trim() === \'auto\'">\n        <label class=gf-form-label>Auto Interval</label>\n        <label class=gf-form-label>{{ctrl.getAzureMonitorAutoInterval()}}</label>\n      </div>\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n    </div>\n    <div class=gf-form-inline ng-show="ctrl.target.azureMonitor.dimensions.length > 0">\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-9">Dimension</label>\n        <div class="gf-form-select-wrapper gf-form-select-wrapper--caret-indent">\n          <select class="gf-form-input min-width-12" ng-model=ctrl.target.azureMonitor.dimension ng-options="f.value as f.text for f in ctrl.target.azureMonitor.dimensions" ng-change=ctrl.refresh()></select>\n        </div>\n      </div>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-3">eq</label>\n        <input type=text class="gf-form-input width-17" ng-model=ctrl.target.azureMonitor.dimensionFilter spellcheck=false placeholder=auto ng-blur=ctrl.refresh()>\n      </div>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-9">Top</label>\n        <input type=text class="gf-form-input width-3" ng-model=ctrl.target.azureMonitor.top spellcheck=false placeholder=10 ng-blur=ctrl.refresh()>\n      </div>\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n    </div>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-9">Legend Format</label>\n        <input type=text class="gf-form-input width-30" ng-model=ctrl.target.azureMonitor.alias spellcheck=false placeholder="alias patterns (see help for more info)" ng-blur=ctrl.refresh()>\n      </div>\n\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n    </div>\n  </div>\n\n  <div ng-if="ctrl.target.queryType === \'Azure Log Analytics\'">\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-9">Workspace</label>\n        <gf-form-dropdown model=ctrl.target.azureLogAnalytics.workspace allow-custom=true lookup-text=true get-options=ctrl.getWorkspaces() on-change=ctrl.refresh() css-class=min-width-12>\n        </gf-form-dropdown>\n        <div class=gf-form>\n          <div class=width-1></div>\n        </div>\n        <div class=gf-form>\n          <button class="btn btn-primary width-10" ng-click=ctrl.refresh()>Run</button>\n        </div>\n        <div class=gf-form>\n          <label class=gf-form-label>(Run Query: Shift+Enter, Trigger Suggestion: Ctrl+Space)</label>\n        </div>\n        <div class="gf-form gf-form--grow">\n          <div class="gf-form-label gf-form-label--grow"></div>\n        </div>\n      </div>\n    </div>\n\n    <div class="gf-form gf-form--grow">\n      <kusto-editor class="gf-form gf-form--grow" query=ctrl.target.azureLogAnalytics.query change=ctrl.onLogAnalyticsQueryChange execute=ctrl.onLogAnalyticsQueryExecute variables=ctrl.templateVariables getschema=ctrl.getAzureLogAnalyticsSchema />\n    </div>\n\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-7">Format As</label>\n        <div class=gf-form-select-wrapper>\n          <select class="gf-form-input gf-size-auto" ng-model=ctrl.target.azureLogAnalytics.resultFormat ng-options="f.value as f.text for f in ctrl.resultFormats" ng-change=ctrl.refresh()></select>\n        </div>\n      </div>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword" ng-click="ctrl.showHelp = !ctrl.showHelp">\n          Show Help\n          <i class="fa fa-caret-down" ng-show=ctrl.showHelp></i>\n          <i class="fa fa-caret-right" ng-hide=ctrl.showHelp></i>\n        </label>\n      </div>\n      <div class=gf-form ng-show=ctrl.lastQuery>\n        <label class="gf-form-label query-keyword" ng-click="ctrl.showLastQuery = !ctrl.showLastQuery">\n          Raw Query\n          <i class="fa fa-caret-down" ng-show=ctrl.showLastQuery></i>\n          <i class="fa fa-caret-right" ng-hide=ctrl.showLastQuery></i>\n        </label>\n      </div>\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n    </div>\n\n    <div class=gf-form ng-show=ctrl.showLastQuery>\n      <pre class=gf-form-pre>{{ctrl.lastQuery}}</pre>\n    </div>\n    <div class=gf-form ng-show=ctrl.showHelp>\n      <pre class="gf-form-pre alert alert-info">\n    Format as Table:\n    - return any set of columns\n\n    Format as Time series:\n    - Requires a column of type datetime\n    - returns the first column with a numeric datatype as the value\n    - (Optional: returns the first column with type string to represent the series name. If no column is found the column name of the value column is used as series name)\n\n    Example Time Series Query:\n\n    AzureActivity\n    | where $__timeFilter()\n    | summarize count() by Category, bin(TimeGenerated, 60min)\n    | order by TimeGenerated asc\n\n    Macros:\n    - $__timeFilter() -&gt; TimeGenerated &ge; datetime(2018-06-05T18:09:58.907Z) and TimeGenerated &le; datetime(2018-06-05T20:09:58.907Z)\n    - $__timeFilter(datetimeColumn) -&gt;  datetimeColumn  &ge; datetime(2018-06-05T18:09:58.907Z) and datetimeColumn &le; datetime(2018-06-05T20:09:58.907Z)\n    - $__escapeMulti($myTemplateVar) -&gt; $myTemplateVar should be a multi-value template variables that contains illegal characters\n    - $__contains(aColumn, $myTemplateVar) -&gt; aColumn in ($myTemplateVar)\n      If using the All option, then check the Include All Option checkbox and in the Custom all value field type in: all. If All is chosen -&gt; 1 == 1\n\n    Or build your own conditionals using these built-in variables which just return the values:\n    - $__timeFrom -&gt;  datetime(2018-06-05T18:09:58.907Z)\n    - $__timeTo -&gt; datetime(2018-06-05T20:09:58.907Z)\n    - $__interval -&gt; 5m\n\n    Examples:\n    - ¡ where $__timeFilter\n    - | where TimeGenerated &ge; $__timeFrom and TimeGenerated &le; $__timeTo\n    - | summarize count() by Category, bin(TimeGenerated, $__interval)\n      </pre>\n    </div>\n\n  </div>\n\n  <div ng-if="ctrl.target.queryType === \'Application Insights\'">\n    <div ng-show=!ctrl.target.appInsights.rawQuery>\n      <div class=gf-form-inline>\n        <div class=gf-form>\n          <label class="gf-form-label query-keyword width-9">Metric</label>\n          <gf-form-dropdown model=ctrl.target.appInsights.metricName allow-custom=true lookup-text=true get-options=ctrl.getAppInsightsMetricNames($query) on-change=ctrl.onAppInsightsMetricNameChange() css-class=min-width-20>\n          </gf-form-dropdown>\n        </div>\n        <div class=gf-form>\n          <label class="gf-form-label query-keyword width-9">Aggregation</label>\n          <div class="gf-form-select-wrapper gf-form-select-wrapper--caret-indent">\n            <select class=gf-form-input ng-model=ctrl.target.appInsights.aggregation ng-options="f as f for f in ctrl.target.appInsights.aggOptions" ng-change=ctrl.refresh()></select>\n          </div>\n        </div>\n        <div class="gf-form gf-form--grow">\n          <div class="gf-form-label gf-form-label--grow"></div>\n        </div>\n      </div>\n      <div class=gf-form-inline>\n        <div class=gf-form>\n          <label class="gf-form-label query-keyword width-9">Group By</label>\n          <gf-form-dropdown allow-custom=true ng-hide="ctrl.target.appInsights.dimension !== \'none\'" model=ctrl.target.appInsights.dimension lookup-text=true get-options=ctrl.getAppInsightsGroupBySegments($query) on-change=ctrl.refresh() css-class=min-width-20>\n          </gf-form-dropdown>\n          <label class="gf-form-label min-width-20 pointer" ng-hide="ctrl.target.appInsights.dimension === \'none\'" ng-click=ctrl.resetAppInsightsGroupBy()>{{ctrl.target.appInsights.dimension}}\n            <i class="fa fa-remove"></i>\n          </label>\n        </div>\n        <div class=gf-form-inline>\n          <div class=gf-form>\n            <label class="gf-form-label query-keyword width-9">Filter</label>\n            <input type=text class="gf-form-input width-17" ng-model=ctrl.target.appInsights.dimensionFilter spellcheck=false placeholder="your/groupby eq \'a_value\'" ng-blur=ctrl.refresh()>\n          </div>\n        </div>\n        <div class="gf-form gf-form--grow">\n          <div class="gf-form-label gf-form-label--grow"></div>\n        </div>\n      </div>\n      <div class=gf-form-inline>\n        <div class=gf-form>\n          <label class="gf-form-label query-keyword width-9">Time Grain</label>\n          <div class="gf-form-select-wrapper gf-form-select-wrapper--caret-indent">\n            <select class=gf-form-input ng-model=ctrl.target.appInsights.timeGrainType ng-options="f as f for f in [\'auto\', \'none\', \'specific\']" ng-change=ctrl.updateTimeGrainType()></select>\n          </div>\n        </div>\n        <div class=gf-form ng-hide="ctrl.target.appInsights.timeGrainType === \'auto\' || ctrl.target.appInsights.timeGrainType === \'none\'">\n          <input type=text class="gf-form-input width-3" ng-model=ctrl.target.appInsights.timeGrainCount spellcheck=false placeholder="" ng-blur=ctrl.updateAppInsightsTimeGrain()>\n        </div>\n        <div class=gf-form ng-hide="ctrl.target.appInsights.timeGrainType === \'auto\' || ctrl.target.appInsights.timeGrainType === \'none\'">\n            <div class="gf-form-select-wrapper gf-form-select-wrapper--caret-indent timegrainunit-dropdown-wrapper">\n            <select class=gf-form-input ng-model=ctrl.target.appInsights.timeGrainUnit ng-options="f as f for f in [\'minute\', \'hour\', \'day\', \'month\', \'year\']" ng-change=ctrl.updateAppInsightsTimeGrain()></select>\n            </div>\n          </div>\n        <div class=gf-form ng-hide="ctrl.target.appInsights.timeGrainType !== \'auto\'">\n            <label class=gf-form-label>Auto Interval</label>\n          <label class=gf-form-label>{{ctrl.getAppInsightsAutoInterval()}}</label>\n        </div>\n        <div class="gf-form gf-form--grow">\n          <div class="gf-form-label gf-form-label--grow"></div>\n        </div>\n      </div>\n      <div class=gf-form-inline>\n        <div class=gf-form>\n          <label class="gf-form-label query-keyword width-9">Legend Format</label>\n          <input type=text class="gf-form-input width-30" ng-model=ctrl.target.appInsights.alias spellcheck=false placeholder="alias patterns (see help for more info)" ng-blur=ctrl.refresh()>\n        </div>\n      </div>\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n    </div>\n    <div ng-show=ctrl.target.appInsights.rawQuery>\n      \x3c!-- <div class="gf-form">\n        <textarea rows="3" class="gf-form-input" ng-model="ctrl.target.appInsights.rawQueryString" spellcheck="false"\n          placeholder="Application Insights Query" ng-model-onblur ng-change="ctrl.refresh()"></textarea>\n      </div> --\x3e\n      <div class="gf-form gf-form--grow">\n        <kusto-editor class="gf-form gf-form--grow" query=ctrl.target.appInsights.rawQueryString placeholder="\'Application Insights Query\'" change=ctrl.onAppInsightsQueryChange execute=ctrl.onAppInsightsQueryExecute variables=ctrl.templateVariables getschema=ctrl.getAppInsightsQuerySchema />\n      </div>\n      <div class=gf-form-inline>\n        <div class=gf-form>\n          <label class="gf-form-label query-keyword width-9">X-axis</label>\n          <gf-form-dropdown model=ctrl.target.appInsights.timeColumn allow-custom=true placeholder="eg. \'timestamp\'" get-options=ctrl.getAppInsightsColumns($query) on-change=ctrl.onAppInsightsColumnChange() css-class=min-width-20>\n          </gf-form-dropdown>\n        </div>\n        <div class=gf-form>\n          <label class="gf-form-label query-keyword width-9">Y-axis</label>\n          <gf-form-dropdown model=ctrl.target.appInsights.valueColumn allow-custom=true get-options=ctrl.getAppInsightsColumns($query) on-change=ctrl.onAppInsightsColumnChange() css-class=min-width-20>\n          </gf-form-dropdown>\n        </div>\n        <div class="gf-form gf-form--grow">\n          <div class="gf-form-label gf-form-label--grow"></div>\n        </div>\n      </div>\n      <div class=gf-form-inline>\n        <div class=gf-form>\n          <label class="gf-form-label query-keyword width-9">Split On</label>\n          <gf-form-dropdown model=ctrl.target.appInsights.segmentColumn allow-custom=true get-options=ctrl.getAppInsightsColumns($query) on-change=ctrl.onAppInsightsColumnChange() css-class=min-width-20>\n          </gf-form-dropdown>\n        </div>\n        <div class="gf-form gf-form--grow">\n          <div class="gf-form-label gf-form-label--grow"></div>\n        </div>\n      </div>\n    </div>\n  </div>\n  <div class=gf-form ng-show=ctrl.lastQueryError>\n    <pre class="gf-form-pre alert alert-error">{{ctrl.lastQueryError}}</pre>\n  </div>\n</query-editor-row>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    AI1G: function (e, t, n) {
+      "use strict";
+      n.d(t, "b", function () {
+        return s;
+      }),
+        n.d(t, "a", function () {
+          return c;
+        });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("/MKj"),
+        i = n("iODs");
+      function l() {
+        return (l =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function s(e) {
+        for (
+          var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1;
+          r < t;
+          r++
+        )
+          n[r - 1] = arguments[r];
+        var s = o.connect.apply(void 0, n)(e);
+        return function (e) {
+          return a.a.createElement(s, l({}, e, { store: i.d }));
+        };
+      }
+      function c(e) {
+        for (
+          var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1;
+          r < t;
+          r++
+        )
+          n[r - 1] = arguments[r];
+        var s = o.connect.apply(void 0, n)(e);
+        return function (e) {
+          return a.a.createElement(
+            o.Provider,
+            { store: i.d },
+            a.a.createElement(s, l({}, e, { store: i.d }))
+          );
+        };
+      }
+    },
+    ASW2: function (e, t) {},
+    AVRW: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return u;
+      });
+      var r = n("LvDl"),
+        a = n.n(r),
+        o = n("ZFWI"),
+        i = n("HJRA"),
+        l = n("Obii");
+      function s(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function c(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var u = (function () {
+        function e(t, n) {
+          var r = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.onPluginTypeChange = function (e) {}),
+            (this.$injector = n),
+            (this.$location = n.get("$location")),
+            (this.$scope = t),
+            (this.$timeout = n.get("$timeout")),
+            (this.editorTabs = []),
+            (this.events = this.panel.events),
+            (this.timing = {});
+          var a = o.b.panels[this.panel.type];
+          a && ((this.pluginId = a.id), (this.pluginName = a.name)),
+            t.$on(l.PanelEvents.componentDidMount.name, function () {
+              return r.panelDidMount();
+            });
+        }
+        var t, n, r, u, f;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "panelDidMount",
+              value: function () {
+                this.events.emit(l.PanelEvents.componentDidMount),
+                  this.dashboard.panelInitialized(this.panel);
+              },
+            },
+            {
+              key: "renderingCompleted",
+              value: function () {
+                i.d.renderingCompleted();
+              },
+            },
+            {
+              key: "refresh",
+              value: function () {
+                this.panel.refresh();
+              },
+            },
+            {
+              key: "publishAppEvent",
+              value: function (e, t) {
+                this.$scope.$root.appEvent(e, t);
+              },
+            },
+            {
+              key: "initEditMode",
+              value: function () {
+                this.editModeInitiated ||
+                  ((this.editModeInitiated = !0),
+                  this.events.emit(l.PanelEvents.editModeInitialized));
+              },
+            },
+            {
+              key: "addEditorTab",
+              value: function (e, t, n, r) {
+                var o = { title: e, directiveFn: t, icon: r };
+                a.a.isString(t) &&
+                  (o.directiveFn = function () {
+                    return { templateUrl: t };
+                  }),
+                  n ? this.editorTabs.splice(n, 0, o) : this.editorTabs.push(o);
+              },
+            },
+            {
+              key: "getExtendedMenu",
+              value: function () {
+                var e = [];
+                return this.events.emit(l.PanelEvents.initPanelActions, e), e;
+              },
+            },
+            {
+              key: "getAdditionalMenuItems",
+              value:
+                ((u = regeneratorRuntime.mark(function e() {
+                  return regeneratorRuntime.wrap(function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return e.abrupt("return", []);
+                        case 1:
+                        case "end":
+                          return e.stop();
+                      }
+                  }, e);
+                })),
+                (f = function () {
+                  var e = this,
+                    t = arguments;
+                  return new Promise(function (n, r) {
+                    var a = u.apply(e, t);
+                    function o(e) {
+                      s(a, n, r, o, i, "next", e);
+                    }
+                    function i(e) {
+                      s(a, n, r, o, i, "throw", e);
+                    }
+                    o(void 0);
+                  });
+                }),
+                function () {
+                  return f.apply(this, arguments);
+                }),
+            },
+            {
+              key: "otherPanelInFullscreenMode",
+              value: function () {
+                return this.dashboard.meta.fullscreen && !this.panel.fullscreen;
+              },
+            },
+            {
+              key: "render",
+              value: function (e) {
+                this.events.emit(l.PanelEvents.render, e);
+              },
+            },
+          ]) && c(t.prototype, n),
+          r && c(t, r),
+          e
+        );
+      })();
+    },
+    AWKi: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return f;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDDq"),
+        i = n("MIBK");
+      function l() {
+        var e = c(["\n            display: inline-block;\n          "]);
+        return (
+          (l = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function s() {
+        var e = c(["\n      font-size: ", "px;\n      ", "\n    "]);
+        return (
+          (s = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function c(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var u = Object(i.g)(function (e, t) {
+          return {
+            wrapper: Object(o.css)(s(), e, t ? Object(o.css)(l()) : ""),
+          };
+        }),
+        f = function (e) {
+          var t = e.className,
+            n = e.inline,
+            r = void 0 !== n && n,
+            i = e.iconClassName,
+            l = e.style,
+            s = e.size,
+            c = u(void 0 === s ? 16 : s, r);
+          return a.a.createElement(
+            "div",
+            { style: l, className: Object(o.cx)(c.wrapper, t) },
+            a.a.createElement("i", {
+              className: Object(o.cx)("fa fa-spinner fa-spin", i),
+            })
+          );
+        };
+    },
+    AZV9: function (e, t, n) {
+      "use strict";
+      n.d(t, "b", function () {
+        return o;
+      }),
+        n.d(t, "a", function () {
+          return i;
+        });
+      var r = null,
+        a = {};
+      function o(e, t) {
+        var n = "".concat(t, "px 'Roboto'"),
+          o = e + n,
+          i = a[o];
+        if (i) return i;
+        null === r && (r = document.createElement("canvas"));
+        var l = r.getContext("2d");
+        if (!l) throw new Error("Could not create context");
+        l.font = n;
+        var s = l.measureText(e);
+        return (a[o] = s), s;
+      }
+      function i(e, t, n, r, a) {
+        var i = (t / (o(e, 14).width + 2)) * 14,
+          l = n / r,
+          s = Math.min(l, i);
+        return Math.min(s, null != a ? a : s);
+      }
+    },
+    Abyo: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return l;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDLi"),
+        i = n("GQ3c"),
+        l = function (e) {
+          var t = e.ldapConnectionInfo;
+          return a.a.createElement(
+            a.a.Fragment,
+            null,
+            a.a.createElement(
+              "h3",
+              { className: "page-heading" },
+              "LDAP Connection"
+            ),
+            a.a.createElement(
+              "div",
+              { className: "gf-form-group" },
+              a.a.createElement(
+                "div",
+                { className: "gf-form" },
+                a.a.createElement(
+                  "table",
+                  { className: "filter-table form-inline" },
+                  a.a.createElement(
+                    "thead",
+                    null,
+                    a.a.createElement(
+                      "tr",
+                      null,
+                      a.a.createElement("th", null, "Host"),
+                      a.a.createElement("th", { colSpan: 2 }, "Port")
+                    )
+                  ),
+                  a.a.createElement(
+                    "tbody",
+                    null,
+                    t &&
+                      t.map(function (e, t) {
+                        return a.a.createElement(
+                          "tr",
+                          { key: t },
+                          a.a.createElement("td", null, e.host),
+                          a.a.createElement("td", null, e.port),
+                          a.a.createElement(
+                            "td",
+                            null,
+                            e.available
+                              ? a.a.createElement("i", {
+                                  className: "fa fa-fw fa-check pull-right",
+                                })
+                              : a.a.createElement("i", {
+                                  className:
+                                    "fa fa-fw fa-exclamation-triangle pull-right",
+                                })
+                          )
+                        );
+                      })
+                  )
+                )
+              ),
+              a.a.createElement(
+                "div",
+                { className: "gf-form-group" },
+                a.a.createElement(s, { ldapConnectionInfo: t })
+              )
+            )
+          );
+        },
+        s = function (e) {
+          var t = e.ldapConnectionInfo;
+          if (
+            !t.some(function (e) {
+              return e.error;
+            })
+          )
+            return null;
+          var n = [];
+          t.forEach(function (e) {
+            e.error && n.push(e);
+          });
+          var r = n.map(function (e, t) {
+            return a.a.createElement(
+              "div",
+              { key: t },
+              a.a.createElement(
+                "span",
+                { style: { fontWeight: 500 } },
+                e.host,
+                ":",
+                e.port,
+                a.a.createElement("br", null)
+              ),
+              a.a.createElement("span", null, e.error),
+              t !== n.length - 1 &&
+                a.a.createElement(
+                  a.a.Fragment,
+                  null,
+                  a.a.createElement("br", null),
+                  a.a.createElement("br", null)
+                )
+            );
+          });
+          return a.a.createElement(o.Alert, {
+            title: "Connection error",
+            severity: i.AppNotificationSeverity.Error,
+            children: r,
+          });
+        };
+    },
+    Al41: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return h;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDDq"),
+        i = n("1w3K"),
+        l = n("MIBK");
+      function s() {
+        var e = d([
+          "\n      label: exitActive;\n      opacity: 0;\n      ",
+          ": 0;\n      transition: opacity ",
+          "ms ease-out, ",
+          " ",
+          "ms ease-out;\n    ",
+        ]);
+        return (
+          (s = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function c() {
+        var e = d([
+          "\n      label: exit;\n      ",
+          ": ",
+          "px;\n      opacity: 1;\n    ",
+        ]);
+        return (
+          (c = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function u() {
+        var e = d([
+          "\n      label: enterActive;\n      ",
+          ": ",
+          "px;\n      opacity: 1;\n      transition: opacity ",
+          "ms ease-out, ",
+          " ",
+          "ms ease-out;\n    ",
+        ]);
+        return (
+          (u = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function f() {
+        var e = d([
+          "\n      label: enter;\n      ",
+          ": 0;\n      opacity: 0;\n    ",
+        ]);
+        return (
+          (f = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function d(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var p = Object(l.g)(function (e, t, n) {
+        return {
+          enter: Object(o.css)(f(), t),
+          enterActive: Object(o.css)(u(), t, n, e, t, e),
+          exit: Object(o.css)(c(), t, n),
+          exitActive: Object(o.css)(s(), t, e, t, e),
+        };
+      });
+      function h(e) {
+        var t = e.visible,
+          n = e.children,
+          r = e.duration,
+          o = void 0 === r ? 250 : r,
+          l = e.horizontal,
+          s = e.size,
+          c = p(o, l ? "width" : "height", s);
+        return a.a.createElement(
+          i.CSSTransition,
+          {
+            in: t,
+            mountOnEnter: !0,
+            unmountOnExit: !0,
+            timeout: o,
+            classNames: c,
+          },
+          n
+        );
+      }
+    },
+    BAXh: function (e, t, n) {
+      "use strict";
+      n.d(t, "c", function () {
+        return u;
+      }),
+        n.d(t, "b", function () {
+          return f;
+        }),
+        n.d(t, "d", function () {
+          return d;
+        });
+      var r = n("i7Pf"),
+        a = n("ZJ8E");
+      function o(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function i(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? o(Object(n), !0).forEach(function (t) {
+                l(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : o(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function l(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var s = Object(r.c)({
+          name: "folder",
+          initialState: {
+            id: 0,
+            uid: "loading",
+            title: "loading",
+            url: "",
+            canSave: !1,
+            hasChanged: !1,
+            version: 1,
+            permissions: [],
+          },
+          reducers: {
+            loadFolder: function (e, t) {
+              return i({}, e, {}, t.payload, { hasChanged: !1 });
+            },
+            setFolderTitle: function (e, t) {
+              return i({}, e, {
+                title: t.payload,
+                hasChanged: t.payload.trim().length > 0,
+              });
+            },
+            loadFolderPermissions: function (e, t) {
+              return i({}, e, { permissions: Object(a.a)(t.payload) });
+            },
+          },
+        }),
+        c = s.actions,
+        u = c.loadFolderPermissions,
+        f = c.loadFolder,
+        d = c.setFolderTitle,
+        p = s.reducer;
+      t.a = { folder: p };
+    },
+    BC3V: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return p;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("i8i4"),
+        i = n.n(o);
+      function l(e) {
+        return (l =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function s() {
+        return (s =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function c(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function u(e, t) {
+        return !t || ("object" !== l(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function f(e) {
+        return (f = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function d(e, t) {
+        return (d =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var p = (function (e) {
+        function t(e) {
+          var n;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, t),
+            ((n = u(this, f(t).call(this, e))).node = document.createElement(
+              "div"
+            ));
+          var r = n.props,
+            a = r.className,
+            o = r.root,
+            i = void 0 === o ? document.body : o;
+          return (
+            a && n.node.classList.add(a),
+            (n.portalRoot = i),
+            n.portalRoot.appendChild(n.node),
+            n
+          );
+        }
+        var n, r, o;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && d(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "componentWillUnmount",
+              value: function () {
+                this.portalRoot.removeChild(this.node);
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                return i.a.createPortal(
+                  a.a.createElement(
+                    "div",
+                    {
+                      style: { zIndex: 1051, position: "relative" },
+                      ref: this.props.forwardedRef,
+                    },
+                    this.props.children
+                  ),
+                  this.node
+                );
+              },
+            },
+          ]) && c(n.prototype, r),
+          o && c(n, o),
+          t
+        );
+      })(r.PureComponent);
+      a.a.forwardRef(function (e, t) {
+        return a.a.createElement(p, s({}, e, { forwardedRef: t }));
+      });
+    },
+    BDxW: function (e, t) {
+      jQuery.plot.plugins.push({
+        init: function (e) {
+          var t = { x: -1, y: -1, locked: !1 };
+          function n(n) {
+            t.locked || (-1 != t.x && ((t.x = -1), e.triggerRedrawOverlay()));
+          }
+          function r(n) {
+            if (!t.locked)
+              if (e.getSelection && e.getSelection()) t.x = -1;
+              else {
+                var r = e.offset();
+                (t.x = Math.max(0, Math.min(n.pageX - r.left, e.width()))),
+                  (t.y = Math.max(0, Math.min(n.pageY - r.top, e.height()))),
+                  e.triggerRedrawOverlay();
+              }
+          }
+          (e.setCrosshair = function (n) {
+            if (n) {
+              var r = e.p2c(n);
+              (t.x = Math.max(0, Math.min(r.left, e.width()))),
+                (t.y = Math.max(0, Math.min(r.top, e.height())));
+            } else t.x = -1;
+            e.triggerRedrawOverlay();
+          }),
+            (e.clearCrosshair = e.setCrosshair),
+            (e.lockCrosshair = function (n) {
+              n && e.setCrosshair(n), (t.locked = !0);
+            }),
+            (e.unlockCrosshair = function () {
+              t.locked = !1;
+            }),
+            e.hooks.bindEvents.push(function (e, t) {
+              e.getOptions().crosshair.mode && (t.mouseout(n), t.mousemove(r));
+            }),
+            e.hooks.drawOverlay.push(function (e, n) {
+              var r = e.getOptions().crosshair;
+              if (r.mode) {
+                var a = e.getPlotOffset();
+                if ((n.save(), n.translate(a.left, a.top), -1 != t.x)) {
+                  var o = e.getOptions().crosshair.lineWidth % 2 ? 0.5 : 0;
+                  if (
+                    ((n.strokeStyle = r.color),
+                    (n.lineWidth = r.lineWidth),
+                    (n.lineJoin = "round"),
+                    n.beginPath(),
+                    -1 != r.mode.indexOf("x"))
+                  ) {
+                    var i = Math.floor(t.x) + o;
+                    n.moveTo(i, 0), n.lineTo(i, e.height());
+                  }
+                  if (-1 != r.mode.indexOf("y")) {
+                    var l = Math.floor(t.y) + o;
+                    n.moveTo(0, l), n.lineTo(e.width(), l);
+                  }
+                  n.stroke();
+                }
+                n.restore();
+              }
+            }),
+            e.hooks.shutdown.push(function (e, t) {
+              t.unbind("mouseout", n), t.unbind("mousemove", r);
+            });
+        },
+        options: {
+          crosshair: {
+            mode: null,
+            color: "rgba(170, 0, 0, 0.80)",
+            lineWidth: 1,
+          },
+        },
+        name: "crosshair",
+        version: "1.0",
+      });
+    },
+    BPIC: function (e, t, n) {
+      "use strict";
+      n.d(t, "g", function () {
+        return c;
+      }),
+        n.d(t, "c", function () {
+          return u;
+        }),
+        n.d(t, "e", function () {
+          return h;
+        }),
+        n.d(t, "d", function () {
+          return m;
+        }),
+        n.d(t, "f", function () {
+          return g;
+        }),
+        n.d(t, "b", function () {
+          return b;
+        });
+      var r = n("i7Pf");
+      function a(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function o(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? a(Object(n), !0).forEach(function (t) {
+                i(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : a(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function i(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var l = Object(r.c)({
+          name: "teams",
+          initialState: { teams: [], searchQuery: "", hasFetched: !1 },
+          reducers: {
+            teamsLoaded: function (e, t) {
+              return o({}, e, { hasFetched: !0, teams: t.payload });
+            },
+            setSearchQuery: function (e, t) {
+              return o({}, e, { searchQuery: t.payload });
+            },
+          },
+        }),
+        s = l.actions,
+        c = s.teamsLoaded,
+        u = s.setSearchQuery,
+        f = l.reducer,
+        d = Object(r.c)({
+          name: "team",
+          initialState: {
+            team: {},
+            members: [],
+            groups: [],
+            searchMemberQuery: "",
+          },
+          reducers: {
+            teamLoaded: function (e, t) {
+              return o({}, e, { team: t.payload });
+            },
+            teamMembersLoaded: function (e, t) {
+              return o({}, e, { members: t.payload });
+            },
+            setSearchMemberQuery: function (e, t) {
+              return o({}, e, { searchMemberQuery: t.payload });
+            },
+            teamGroupsLoaded: function (e, t) {
+              return o({}, e, { groups: t.payload });
+            },
+          },
+        }),
+        p = d.actions,
+        h = p.teamLoaded,
+        m = p.teamGroupsLoaded,
+        g = p.teamMembersLoaded,
+        b = p.setSearchMemberQuery,
+        v = d.reducer;
+      t.a = { teams: f, team: v };
+    },
+    BVom: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return f;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("S3Uj"),
+        i = n.n(o);
+      function l(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function s(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? l(Object(n), !0).forEach(function (t) {
+                c(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : l(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function c(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var u = {
+          transition: "max-height ".concat(200, "ms ease-in-out"),
+          overflow: "hidden",
+        },
+        f = function (e) {
+          var t = e.children,
+            n = e.in,
+            r = e.maxHeight,
+            o = void 0 === r ? "200px" : r,
+            l = e.style,
+            c = void 0 === l ? u : l,
+            f = {
+              exited: { maxHeight: 0 },
+              entering: { maxHeight: o },
+              entered: { maxHeight: "unset", overflow: "visible" },
+              exiting: { maxHeight: 0 },
+            };
+          return a.a.createElement(i.a, { in: n, timeout: 200 }, function (e) {
+            return a.a.createElement("div", { style: s({}, c, {}, f[e]) }, t);
+          });
+        };
+    },
+    BvEB: function (e, t) {
+      var n = "public/app/features/alerting/partials/notifications_list.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body">\n\n  <div ng-if=ctrl.notifications.length>\n    <div class=page-action-bar>\n      <div class=page-action-bar__spacer>\n      </div>\n\n      <a href=alerting/notification/new class="btn btn-primary">\n        New channel\n      </a>\n    </div>\n\n    <table class="filter-table filter-table--hover">\n      <thead>\n        <th style=min-width:200px>\n          <strong>Name</strong>\n        </th>\n        <th style=min-width:100px>Type</th>\n        <th style=width:1%></th>\n      </thead>\n      <tbody>\n        <tr ng-repeat="notification in ctrl.notifications">\n          <td class=link-td>\n            <a href=alerting/notification/{{notification.id}}/edit>\n              {{notification.name}}\n            </a>\n          </td>\n          <td class=link-td>\n            <a href=alerting/notification/{{notification.id}}/edit>\n              {{notification.type}}\n            </a>\n          </td>\n          <td class=text-right>\n            <span class="btn btn-secondary btn-small" ng-show="notification.isDefault == true">\n              default\n            </span>\n            <a ng-click=ctrl.deleteNotification(notification.id) class="btn btn-danger btn-small">\n              <i class="fa fa-remove"></i>\n            </a>\n          </td>\n        </tr>\n      </tbody>\n    </table>\n  </div>\n  <div ng-if="ctrl.notifications.length === 0">\n    <empty-list-cta title="\'There are no notification channels defined yet\'" buttonicon="\'gicon gicon-alert-notification-channel\'" buttonlink="\'alerting/notification/new\'" buttontitle="\'Add channel\'" protip="\'You can include images in your alert notifications.\'" protiplink="\'http://docs.grafana.org/alerting/notifications/\'" protiplinktitle="\'Learn more\'" protiptarget="\'_blank\'"/>\n  </div>\n</div>\n\n<footer/>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    BwrN: function (e, t, n) {
+      "use strict";
+      function r(e) {
+        return (r =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function a(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function o(e, t) {
+        return !t || ("object" !== r(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function i(e) {
+        return (i = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function l(e, t) {
+        return (l =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      n.d(t, "a", function () {
+        return c;
+      }),
+        n.d(t, "b", function () {
+          return s;
+        });
+      var s,
+        c = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = o(this, i(t).call(this))).panel = e),
+              n
+            );
+          }
+          var n, r, s;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && l(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "setEditor",
+                value: function (e) {
+                  return (this.editor = e), this;
+                },
+              },
+              {
+                key: "setDefaults",
+                value: function (e) {
+                  return (this.defaults = e), this;
+                },
+              },
+              {
+                key: "setNoPadding",
+                value: function () {
+                  return (this.noPadding = !0), this;
+                },
+              },
+              {
+                key: "setMigrationHandler",
+                value: function (e) {
+                  return (this.onPanelMigration = e), this;
+                },
+              },
+              {
+                key: "setPanelChangeHandler",
+                value: function (e) {
+                  return (this.onPanelTypeChanged = e), this;
+                },
+              },
+              {
+                key: "setCustomFieldConfigs",
+                value: function (e) {
+                  return (this.customFieldConfigs = e), this;
+                },
+              },
+            ]) && a(n.prototype, r),
+            s && a(n, s),
+            t
+          );
+        })(n("CnP+").a);
+      !(function (e) {
+        (e.Auto = "auto"),
+          (e.Vertical = "vertical"),
+          (e.Horizontal = "horizontal");
+      })(s || (s = {}));
+    },
+    BxXJ: function (e, t) {},
+    Cawo: function (e, t, n) {
+      "use strict";
+      var r = n("oOjz"),
+        a = n("DlQD"),
+        o = n.n(a);
+      function i(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function l(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var s = {
+        renderer: new o.a.Renderer(),
+        pedantic: !1,
+        gfm: !0,
+        tables: !0,
+        sanitize: !0,
+        smartLists: !0,
+        smartypants: !1,
+        xhtml: !1,
+      };
+      function c(e) {
+        o.a.setOptions(
+          (function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = null != arguments[t] ? arguments[t] : {};
+              t % 2
+                ? i(Object(n), !0).forEach(function (t) {
+                    l(e, t, n[t]);
+                  })
+                : Object.getOwnPropertyDescriptors
+                ? Object.defineProperties(
+                    e,
+                    Object.getOwnPropertyDescriptors(n)
+                  )
+                : i(Object(n)).forEach(function (t) {
+                    Object.defineProperty(
+                      e,
+                      t,
+                      Object.getOwnPropertyDescriptor(n, t)
+                    );
+                  });
+            }
+            return e;
+          })({}, s, {}, e)
+        );
+      }
+      function u(e) {
+        return o()(e || "");
+      }
+      function f(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function d(e) {
+        var t = e.searchWords,
+          n = e.textToHighlight;
+        return t.reduce(function (e, t) {
+          return [].concat(f(e), f(p(n, t)));
+        }, []);
+      }
+      function p(e, t) {
+        if (!e || !t) return [];
+        var n,
+          r = [],
+          a = m(
+            (function (e) {
+              return e.replace(/[[{(][\w,.-?:*+]+$/, "");
+            })(t)
+          ),
+          o = a.cleaned,
+          i = a.flags;
+        try {
+          n = new RegExp("(?:".concat(o, ")"), i);
+        } catch (e) {
+          return r;
+        }
+        return (
+          e.replace(n, function (e) {
+            if (e) {
+              var t,
+                n =
+                  (t =
+                    (arguments.length <= 1 ? 0 : arguments.length - 1) -
+                    2 +
+                    1) < 1 || arguments.length <= t
+                    ? void 0
+                    : arguments[t];
+              r.push({
+                text: e,
+                start: n,
+                length: e.length,
+                end: n + e.length,
+              });
+            }
+            return "";
+          }),
+          r
+        );
+      }
+      var h = /\(\?([ims-]+)\)/g;
+      function m(e) {
+        var t = new Set(["g"]);
+        return {
+          cleaned: e.replace(h, function (e, n) {
+            for (var r = n.startsWith("-"), a = 0; a < n.length; ++a) {
+              var o = n.charAt(a);
+              r || "-" === n.charAt(a - 1)
+                ? t.delete(o)
+                : "-" !== o && t.add(o);
+            }
+            return "";
+          }),
+          flags: Array.from(t).join(""),
+        };
+      }
+      n.d(t, "a", function () {
+        return r.a;
+      }),
+        n.d(t, "m", function () {
+          return r.h;
+        }),
+        n.d(t, "g", function () {
+          return r.b;
+        }),
+        n.d(t, "h", function () {
+          return r.c;
+        }),
+        n.d(t, "i", function () {
+          return r.d;
+        }),
+        n.d(t, "l", function () {
+          return r.g;
+        }),
+        n.d(t, "k", function () {
+          return r.f;
+        }),
+        n.d(t, "j", function () {
+          return r.e;
+        }),
+        n.d(t, "f", function () {
+          return c;
+        }),
+        n.d(t, "e", function () {
+          return u;
+        }),
+        n.d(t, "b", function () {
+          return d;
+        }),
+        n.d(t, "c", function () {
+          return p;
+        }),
+        n.d(t, "d", function () {
+          return m;
+        });
+    },
+    "CnP+": function (e, t, n) {
+      "use strict";
+      function r(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var a, o, i;
+      n.d(t, "c", function () {
+        return a;
+      }),
+        n.d(t, "d", function () {
+          return o;
+        }),
+        n.d(t, "b", function () {
+          return i;
+        }),
+        n.d(t, "a", function () {
+          return l;
+        }),
+        (function (e) {
+          (e.alpha = "alpha"), (e.beta = "beta");
+        })(a || (a = {})),
+        (function (e) {
+          (e.panel = "panel"),
+            (e.datasource = "datasource"),
+            (e.app = "app"),
+            (e.renderer = "renderer");
+        })(o || (o = {})),
+        (function (e) {
+          (e.dashboard = "dashboard"),
+            (e.page = "page"),
+            (e.panel = "panel"),
+            (e.datasource = "datasource");
+        })(i || (i = {}));
+      var l = (function () {
+        var e, t, n;
+        function a() {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, a),
+            (this.meta = {});
+        }
+        return (
+          (e = a),
+          (t = [
+            {
+              key: "addConfigPage",
+              value: function (e) {
+                return (
+                  this.configPages || (this.configPages = []),
+                  this.configPages.push(e),
+                  this
+                );
+              },
+            },
+          ]) && r(e.prototype, t),
+          n && r(e, n),
+          a
+        );
+      })();
+    },
+    CqUX: function (e, t, n) {
+      "use strict";
+      var r = { "[": "]", "{": "}", "(": ")" };
+      function a() {
+        return {
+          onKeyDown: function (e, t, n) {
+            var a = e,
+              o = t.value;
+            switch (a.key) {
+              case "(":
+              case "{":
+              case "[":
+                var i = o.selection,
+                  l = i.start,
+                  s = l.offset,
+                  c = l.key,
+                  u = i.end,
+                  f = u.offset,
+                  d = u.key,
+                  p = i.focus.offset,
+                  h = o.focusText.text;
+                if (o.selection.isExpanded)
+                  return (
+                    a.preventDefault(),
+                    t
+                      .insertTextByKey(c, s, a.key)
+                      .insertTextByKey(d, f + 1, r[a.key])
+                      .moveEndBackward(1),
+                    !0
+                  );
+                if (
+                  p === h.length ||
+                  " " === h[p] ||
+                  Object.values(r).includes(h[p])
+                ) {
+                  a.preventDefault();
+                  var m = r[a.key],
+                    g = {
+                      key: "".concat("brace_match", "-").concat(Date.now()),
+                      type: "".concat("brace_match", "-").concat(m),
+                      anchor: { key: c, offset: s, object: "point" },
+                      focus: { key: d, offset: f + 1, object: "point" },
+                      object: "annotation",
+                    };
+                  return (
+                    t
+                      .insertText(a.key)
+                      .insertText(m)
+                      .addAnnotation(g)
+                      .moveBackward(1),
+                    !0
+                  );
+                }
+                break;
+              case ")":
+              case "}":
+              case "]":
+                var b = o.anchorText.text[o.selection.anchor.offset],
+                  v = a.key,
+                  y = "".concat("brace_match", "-").concat(v),
+                  w = o.annotations.find(function (e) {
+                    return (
+                      (null == e ? void 0 : e.type) === y &&
+                      e.anchor.key === o.anchorText.key
+                    );
+                  });
+                if (w && b === v && !o.selection.isExpanded)
+                  return (
+                    a.preventDefault(),
+                    t
+                      .moveFocusForward(1)
+                      .removeAnnotation(w)
+                      .moveAnchorForward(1),
+                    !0
+                  );
+                break;
+              case "Backspace":
+                var O = o.anchorText.text,
+                  x = o.selection.anchor.offset,
+                  k = O[x - 1],
+                  j = O[x];
+                if (r[k] && r[k] === j)
+                  return (
+                    a.preventDefault(),
+                    t.deleteBackward(1).deleteForward(1).focus(),
+                    !0
+                  );
+            }
+            return n();
+          },
+        };
+      }
+      function o() {
+        return {
+          onKeyDown: function (e, t, n) {
+            var r = e,
+              a = t.value;
+            if (a.selection.isExpanded) return n();
+            if ("k" === r.key && r.ctrlKey) {
+              r.preventDefault();
+              var o = a.anchorText.text,
+                i = a.selection.anchor.offset,
+                l = o.length - i;
+              return t.deleteForward(l), !0;
+            }
+            return n();
+          },
+        };
+      }
+      function i(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function l(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function s() {
+        var e = {
+          onCopy: function (e, t, n) {
+            var r = e;
+            r.preventDefault();
+            var a = t.value,
+              o = a.document,
+              i = a.selection,
+              l = i.start.offset,
+              s = i.end.offset,
+              c = (function (e, t, n) {
+                if (e.length) {
+                  var r = e.slice(0, -1).join("").length + e.length - 1;
+                  return e.join("\n").slice(t, r + n);
+                }
+              })(
+                o
+                  .getLeafBlocksAtRange(i)
+                  .toArray()
+                  .map(function (e) {
+                    return e.text;
+                  }),
+                l,
+                s
+              );
+            return (
+              c && r.clipboardData && r.clipboardData.setData("Text", c), !0
+            );
+          },
+          onPaste: function (e, t, n) {
+            var r = e;
+            if ((r.preventDefault(), r.clipboardData)) {
+              var a = r.clipboardData.getData("Text").split("\n");
+              if (a.length) {
+                t.insertText(a[0]);
+                var o = !0,
+                  i = !1,
+                  l = void 0;
+                try {
+                  for (
+                    var s, c = a.slice(1)[Symbol.iterator]();
+                    !(o = (s = c.next()).done);
+                    o = !0
+                  ) {
+                    var u = s.value;
+                    t.splitBlock().insertText(u);
+                  }
+                } catch (e) {
+                  (i = !0), (l = e);
+                } finally {
+                  try {
+                    o || null == c.return || c.return();
+                  } finally {
+                    if (i) throw l;
+                  }
+                }
+              }
+            }
+            return !0;
+          },
+        };
+        return (function (e) {
+          for (var t = 1; t < arguments.length; t++) {
+            var n = null != arguments[t] ? arguments[t] : {};
+            t % 2
+              ? i(Object(n), !0).forEach(function (t) {
+                  l(e, t, n[t]);
+                })
+              : Object.getOwnPropertyDescriptors
+              ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+              : i(Object(n)).forEach(function (t) {
+                  Object.defineProperty(
+                    e,
+                    t,
+                    Object.getOwnPropertyDescriptor(n, t)
+                  );
+                });
+          }
+          return e;
+        })({}, e, {
+          onCut: function (t, n, r) {
+            return e.onCopy(t, n, r), n.deleteAtRange(n.value.selection), !0;
+          },
+        });
+      }
+      var c = n("0aAt"),
+        u = n("Uaxt"),
+        f = Object(u.isKeyHotkey)("mod+["),
+        d = Object(u.isKeyHotkey)("shift+tab"),
+        p = Object(u.isKeyHotkey)("mod+]"),
+        h = function (e, t) {
+          var n = e.value.selection,
+            r = e.value.document.getLeafBlocksAtRange(n).toArray();
+          if ("left" === t) {
+            var a = !0,
+              o = !1,
+              i = void 0;
+            try {
+              for (
+                var l, s = r[Symbol.iterator]();
+                !(a = (l = s.next()).done);
+                a = !0
+              ) {
+                var u = l.value,
+                  f = u.text.length - u.text.trimLeft().length,
+                  d = u.getFirstText().key,
+                  p = {
+                    anchor: { key: d, offset: f, path: [] },
+                    focus: { key: d, offset: f, path: [] },
+                  };
+                e.deleteBackwardAtRange(
+                  c.k.create(p),
+                  Math.min("  ".length, f)
+                );
+              }
+            } catch (e) {
+              (o = !0), (i = e);
+            } finally {
+              try {
+                a || null == s.return || s.return();
+              } finally {
+                if (o) throw i;
+              }
+            }
+          } else {
+            var h = e.value.startText.text.slice(0, n.start.offset),
+              m = /^\s*$/.test(h),
+              g = !0,
+              b = !1,
+              v = void 0;
+            try {
+              for (
+                var y, w = r[Symbol.iterator]();
+                !(g = (y = w.next()).done);
+                g = !0
+              ) {
+                var O = y.value;
+                e.insertTextByKey(O.getFirstText().key, 0, "  ");
+              }
+            } catch (e) {
+              (b = !0), (v = e);
+            } finally {
+              try {
+                g || null == w.return || w.return();
+              } finally {
+                if (b) throw v;
+              }
+            }
+            m && e.moveStartBackward("  ".length);
+          }
+        };
+      function m() {
+        return {
+          onKeyDown: function (e, t, n) {
+            var r = e;
+            if (f(r) || d(r)) r.preventDefault(), h(t, "left");
+            else if (p(r)) r.preventDefault(), h(t, "right");
+            else {
+              if ("Tab" !== r.key) return n();
+              r.preventDefault(),
+                (function (e, t, n) {
+                  var r = t.value,
+                    a = r.startBlock,
+                    o = r.endBlock,
+                    i = r.selection,
+                    l = i.start,
+                    s = l.offset,
+                    c = l.key,
+                    u = i.end,
+                    f = u.offset,
+                    d = u.key,
+                    p = a.getFirstText();
+                  (p &&
+                    0 === s &&
+                    c === p.key &&
+                    f === p.text.length &&
+                    d === p.key) ||
+                  !a.equals(o)
+                    ? h(t, "right")
+                    : t.insertText("  ");
+                })(0, t);
+            }
+            return !0;
+          },
+        };
+      }
+      function g() {
+        return {
+          onKeyDown: function (e, t, n) {
+            var r = e,
+              a = t.value;
+            if (a.selection.isExpanded) return n();
+            if ("Enter" === r.key && r.shiftKey) {
+              r.preventDefault();
+              var o = (function (e) {
+                var t = e.length - e.trimLeft().length;
+                if (t) {
+                  for (var n = e[0]; --t; ) n += e[0];
+                  return n;
+                }
+                return "";
+              })(a.startBlock.text);
+              return t.splitBlock().insertText(o).focus();
+            }
+            return n();
+          },
+        };
+      }
+      function b(e) {
+        var t = e.handler;
+        return {
+          onKeyDown: function (e, n, r) {
+            var a = e;
+            return t && "Enter" === a.key && !a.shiftKey
+              ? (a.preventDefault(), t(a), !0)
+              : r();
+          },
+        };
+      }
+      var v = Object(u.isKeyHotkey)("mod+l");
+      function y() {
+        return {
+          onKeyDown: function (e, t, n) {
+            var r = e;
+            if (!v(r)) return n();
+            r.preventDefault();
+            var a = t.value,
+              o = a.focusBlock,
+              i = a.document;
+            return (
+              t.moveAnchorToStartOfBlock(),
+              i.getNextBlock(o.key)
+                ? t.moveFocusToStartOfNextBlock()
+                : t.moveFocusToEndOfText(),
+              !0
+            );
+          },
+        };
+      }
+      var w = n("wZee"),
+        O = n.n(w),
+        x = n("q1tI"),
+        k = n.n(x),
+        j = n("JPcv");
+      function S(e) {
+        return (S =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function E(e, t) {
+        return !t || ("object" !== S(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function C(e) {
+        return (C = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function P(e, t) {
+        return (P =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var T = (function (e) {
+        function t(e) {
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            E(this, C(t).call(this, e))
+          );
+        }
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && P(e, t);
+          })(t, e),
+          t
+        );
+      })(
+        Object(j.Record)({
+          onlyIn: function (e) {
+            return "block" === e.object && "code_block" === e.type;
+          },
+          getSyntax: function (e) {
+            return "javascript";
+          },
+          renderDecoration: function (e, t, n) {
+            var r = e.decoration;
+            if ("prism-token" !== r.type) return n();
+            var a = r.data.get("className");
+            return k.a.createElement("span", { className: a }, e.children);
+          },
+        })
+      );
+      function D() {
+        var e =
+            arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+          t = new T(e);
+        return {
+          decorateNode: function (e, n, r) {
+            return t.onlyIn(e) ? A(t, c.a.create(e)) : r();
+          },
+          renderDecoration: function (e, n, r) {
+            return t.renderDecoration(
+              { children: e.children, decoration: e.decoration },
+              n,
+              r
+            );
+          },
+        };
+      }
+      function A(e, t) {
+        var n = e.getSyntax(t),
+          r = O.a.languages[n];
+        if (!r) return [];
+        var a = t.getTexts(),
+          o = a
+            .map(function (e) {
+              return e && e.getText();
+            })
+            .join("\n"),
+          i = O.a.tokenize(o, r),
+          l = [],
+          s = 0,
+          c = 0;
+        return (
+          a.forEach(function (e) {
+            c = s + e.getText().length;
+            var n = 0;
+            i.forEach(function r(a, o) {
+              if ("string" == typeof a) {
+                if (o) {
+                  var i = _({
+                    text: e,
+                    textStart: s,
+                    textEnd: c,
+                    start: n,
+                    end: n + a.length,
+                    className: "prism-token token ".concat(o),
+                    block: t,
+                  });
+                  i && l.push(i);
+                }
+                n += a.length;
+              } else if (
+                ((o = ""
+                  .concat(o, " ")
+                  .concat(a.type, " ")
+                  .concat(a.alias || "")),
+                "string" == typeof a.content)
+              ) {
+                var u = _({
+                  text: e,
+                  textStart: s,
+                  textEnd: c,
+                  start: n,
+                  end: n + a.content.length,
+                  className: "prism-token token ".concat(o),
+                  block: t,
+                });
+                u && l.push(u), (n += a.content.length);
+              } else
+                for (var f = 0; f < a.content.length; f += 1)
+                  r(a.content[f], o);
+            }),
+              (s = c + 1);
+          }),
+          l
+        );
+      }
+      function _(e) {
+        var t = e.text,
+          n = e.textStart,
+          r = e.textEnd,
+          a = e.start,
+          o = e.end,
+          i = e.className,
+          l = e.block;
+        return a >= r || o <= n
+          ? null
+          : ((a = Math.max(a, n)),
+            (o = Math.min(o, r)),
+            (a -= n),
+            (o -= n),
+            l.createDecoration({
+              object: "decoration",
+              anchor: { key: t.key, offset: a, object: "point" },
+              focus: { key: t.key, offset: o, object: "point" },
+              type: "prism-token",
+              data: { className: i },
+            }));
+      }
+      var N = n("sEfC"),
+        M = n.n(N),
+        I = n("xweI"),
+        R = n.n(I),
+        F = n("i8i4"),
+        L = n.n(F),
+        V = n("LvDl"),
+        B = n.n(V),
+        $ = n("iR1w"),
+        q = n("kDDq"),
+        U = n("kDLi");
+      function z() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })([
+          "\n      label: type-ahead-item;\n      padding: ",
+          " ",
+          " ",
+          " ",
+          ";\n      border-radius: ",
+          ";\n      border: ",
+          ";\n      overflow-y: scroll;\n      overflow-x: hidden;\n      outline: none;\n      background: ",
+          ";\n      color: ",
+          ";\n      box-shadow: ",
+          ";\n      visibility: ",
+          ";\n      width: 250px;\n      height: ",
+          "px;\n      position: relative;\n    ",
+        ]);
+        return (
+          (z = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      var H = function (e) {
+          var t = e.item,
+            n = e.height,
+            r = t && !!t.documentation,
+            a = t ? t.label : "",
+            o = t && t.documentation ? t.documentation : "",
+            i = (function (e, t, n) {
+              return {
+                typeaheadItem: Object(q.css)(
+                  z(),
+                  e.spacing.sm,
+                  e.spacing.sm,
+                  e.spacing.sm,
+                  e.spacing.md,
+                  e.border.radius.md,
+                  Object(U.selectThemeVariant)(
+                    {
+                      light: "solid 1px ".concat(e.colors.gray5),
+                      dark: "solid 1px ".concat(e.colors.dark1),
+                    },
+                    e.type
+                  ),
+                  Object(U.selectThemeVariant)(
+                    { light: e.colors.white, dark: e.colors.dark4 },
+                    e.type
+                  ),
+                  e.colors.text,
+                  Object(U.selectThemeVariant)(
+                    {
+                      light: "0 5px 10px 0 ".concat(e.colors.gray5),
+                      dark: "0 5px 10px 0 ".concat(e.colors.black),
+                    },
+                    e.type
+                  ),
+                  !0 === n ? "visible" : "hidden",
+                  t + parseInt(e.spacing.xxs, 10)
+                ),
+              };
+            })(Object(x.useContext)(U.ThemeContext), n, r);
+          return k.a.createElement(
+            "div",
+            { className: Object(q.cx)([i.typeaheadItem]) },
+            k.a.createElement("b", null, a),
+            k.a.createElement("hr", null),
+            k.a.createElement("span", null, o)
+          );
+        },
+        G = n("WG1l"),
+        W = n.n(G),
+        Q = n("eGKl"),
+        Y = n("2r/H"),
+        K = n("Fts8");
+      function J() {
+        var e = te([
+          "\n    label: type-ahead-item-group-title;\n    color: ",
+          ";\n    font-size: ",
+          ";\n    line-height: ",
+          ";\n    padding: ",
+          ";\n  ",
+        ]);
+        return (
+          (J = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Z() {
+        var e = te([
+          "\n    label: type-ahead-item-match;\n    color: ",
+          ";\n    border-bottom: 1px solid ",
+          ";\n    padding: inherit;\n    background: inherit;\n  ",
+        ]);
+        return (
+          (Z = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function X() {
+        var e = te([
+          "\n    label: type-ahead-item-selected;\n    background-color: ",
+          ";\n  ",
+        ]);
+        return (
+          (X = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ee() {
+        var e = te([
+          "\n    label: type-ahead-item;\n    height: auto;\n    font-family: ",
+          ";\n    padding: ",
+          " ",
+          " ",
+          " ",
+          ";\n    font-size: ",
+          ";\n    text-overflow: ellipsis;\n    overflow: hidden;\n    z-index: 1;\n    display: block;\n    white-space: nowrap;\n    cursor: pointer;\n    transition: color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), border-color 0.3s cubic-bezier(0.645, 0.045, 0.355, 1),\n      background 0.3s cubic-bezier(0.645, 0.045, 0.355, 1), padding 0.15s cubic-bezier(0.645, 0.045, 0.355, 1);\n  ",
+        ]);
+        return (
+          (ee = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function te(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var ne = function (e) {
+          var t = (function (e) {
+              return {
+                typeaheadItem: Object(q.css)(
+                  ee(),
+                  e.typography.fontFamily.monospace,
+                  e.spacing.sm,
+                  e.spacing.sm,
+                  e.spacing.sm,
+                  e.spacing.md,
+                  e.typography.size.sm
+                ),
+                typeaheadItemSelected: Object(q.css)(
+                  X(),
+                  Object(Q.a)(
+                    { light: e.colors.gray6, dark: e.colors.dark9 },
+                    e.type
+                  )
+                ),
+                typeaheadItemMatch: Object(q.css)(
+                  Z(),
+                  e.colors.yellow,
+                  e.colors.yellow
+                ),
+                typeaheadItemGroupTitle: Object(q.css)(
+                  J(),
+                  e.colors.textWeak,
+                  e.typography.size.sm,
+                  e.typography.lineHeight.md,
+                  e.spacing.sm
+                ),
+              };
+            })(Object(x.useContext)(K.a)),
+            n = e.isSelected,
+            r = e.item,
+            a = e.prefix,
+            o = e.style,
+            i = e.onMouseEnter,
+            l = e.onMouseLeave,
+            s = e.onClickItem,
+            c = n
+              ? Object(q.cx)([t.typeaheadItem, t.typeaheadItemSelected])
+              : Object(q.cx)([t.typeaheadItem]),
+            u = Object(q.cx)([t.typeaheadItemMatch]),
+            f = Object(q.cx)([t.typeaheadItemGroupTitle]),
+            d = r.label || "";
+          return r.kind === Y.a.GroupTitle
+            ? k.a.createElement(
+                "li",
+                { className: f, style: o },
+                k.a.createElement("span", null, d)
+              )
+            : k.a.createElement(
+                "li",
+                {
+                  className: c,
+                  style: o,
+                  onMouseDown: s,
+                  onMouseEnter: i,
+                  onMouseLeave: l,
+                },
+                k.a.createElement(W.a, {
+                  textToHighlight: d,
+                  searchWords: [a],
+                  highlightClassName: u,
+                })
+              );
+        },
+        re = n("pHSZ"),
+        ae = n.n(re);
+      function oe(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      var ie = function (e) {
+          return e.reduce(function (e, t) {
+            var n = t.items,
+              r = { label: t.label, kind: Y.a.GroupTitle };
+            return e.push.apply(e, [r].concat(oe(n))), e;
+          }, []);
+        },
+        le = function (e) {
+          return e.reduce(function (e, t) {
+            return e.length < t.label.length ? t.label : e;
+          }, "");
+        },
+        se = function (e, t, n) {
+          var r = ae()(n, {
+              font: e.typography.fontFamily.monospace,
+              fontSize: e.typography.size.sm,
+              fontWeight: "normal",
+            }),
+            a = ue(r.width, e),
+            o = ce(r.height, e);
+          return { listWidth: a, listHeight: fe(o, t), itemHeight: o };
+        },
+        ce = function (e, t) {
+          return e + 2 * parseInt(t.spacing.sm, 10);
+        },
+        ue = function (e, t) {
+          var n = parseInt(t.spacing.sm, 10) + parseInt(t.spacing.md, 10);
+          return Math.min(Math.max(e + n, 200), 800);
+        },
+        fe = function (e, t) {
+          var n = Math.min(t.length, 10) * e;
+          return Math.max(n, 100);
+        };
+      function de(e) {
+        return (de =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function pe(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function he(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function me(e, t, n) {
+        return t && he(e.prototype, t), n && he(e, n), e;
+      }
+      function ge(e, t) {
+        return !t || ("object" !== de(t) && "function" != typeof t) ? ve(e) : t;
+      }
+      function be(e) {
+        return (be = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function ve(e) {
+        if (void 0 === e)
+          throw new ReferenceError(
+            "this hasn't been initialised - super() hasn't been called"
+          );
+        return e;
+      }
+      function ye(e, t) {
+        if ("function" != typeof t && null !== t)
+          throw new TypeError(
+            "Super expression must either be null or a function"
+          );
+        (e.prototype = Object.create(t && t.prototype, {
+          constructor: { value: e, writable: !0, configurable: !0 },
+        })),
+          t && we(e, t);
+      }
+      function we(e, t) {
+        return (we =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Oe = function (e, t) {
+          return e - t * Math.floor(e / t);
+        },
+        xe = (function (e) {
+          function t() {
+            var e, n;
+            pe(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = ge(
+                this,
+                (e = be(t)).call.apply(e, [this].concat(a))
+              )).listRef = Object(x.createRef)()),
+              (n.state = {
+                hoveredItem: null,
+                typeaheadIndex: 1,
+                allItems: [],
+                listWidth: -1,
+                listHeight: -1,
+                itemHeight: -1,
+              }),
+              (n.componentDidMount = function () {
+                n.props.menuRef && n.props.menuRef(ve(n)),
+                  document.addEventListener(
+                    "selectionchange",
+                    n.handleSelectionChange
+                  );
+                var e = ie(n.props.groupedItems),
+                  t = le(e),
+                  r = se(n.context, e, t),
+                  a = r.listWidth,
+                  o = r.listHeight,
+                  i = r.itemHeight;
+                n.setState({
+                  listWidth: a,
+                  listHeight: o,
+                  itemHeight: i,
+                  allItems: e,
+                });
+              }),
+              (n.componentWillUnmount = function () {
+                document.removeEventListener(
+                  "selectionchange",
+                  n.handleSelectionChange
+                );
+              }),
+              (n.handleSelectionChange = function () {
+                n.forceUpdate();
+              }),
+              (n.componentDidUpdate = function (e, t) {
+                if (
+                  t.typeaheadIndex !== n.state.typeaheadIndex &&
+                  n.listRef &&
+                  n.listRef.current
+                ) {
+                  if (1 === n.state.typeaheadIndex)
+                    return void n.listRef.current.scrollToItem(0);
+                  n.listRef.current.scrollToItem(n.state.typeaheadIndex);
+                }
+                if (!1 === B.a.isEqual(e.groupedItems, n.props.groupedItems)) {
+                  var r = ie(n.props.groupedItems),
+                    a = le(r),
+                    o = se(n.context, r, a),
+                    i = o.listWidth,
+                    l = o.listHeight,
+                    s = o.itemHeight;
+                  n.setState({
+                    listWidth: i,
+                    listHeight: l,
+                    itemHeight: s,
+                    allItems: r,
+                  });
+                }
+              }),
+              (n.onMouseEnter = function (e) {
+                n.setState({ hoveredItem: e });
+              }),
+              (n.onMouseLeave = function () {
+                n.setState({ hoveredItem: null });
+              }),
+              (n.moveMenuIndex = function (e) {
+                var t = n.state.allItems.length;
+                if (t) {
+                  var r = Oe(n.state.typeaheadIndex + e, t);
+                  return (
+                    n.state.allItems[r].kind === Y.a.GroupTitle &&
+                      (r = Oe(r + e, t)),
+                    void n.setState({ typeaheadIndex: r })
+                  );
+                }
+              }),
+              (n.insertSuggestion = function () {
+                n.props.onSelectSuggestion &&
+                  n.props.onSelectSuggestion(
+                    n.state.allItems[n.state.typeaheadIndex]
+                  );
+              }),
+              n
+            );
+          }
+          return (
+            ye(t, e),
+            me(t, [
+              {
+                key: "render",
+                value: function () {
+                  var e = this,
+                    t = this.props,
+                    n = t.prefix,
+                    r = t.isOpen,
+                    a = void 0 !== r && r,
+                    o = t.origin,
+                    i = this.state,
+                    l = i.allItems,
+                    s = i.listWidth,
+                    c = i.listHeight,
+                    u = i.itemHeight,
+                    f = i.hoveredItem,
+                    d = i.typeaheadIndex,
+                    p = f || d;
+                  return k.a.createElement(
+                    ke,
+                    { origin: o, isOpen: a, style: this.menuPosition },
+                    k.a.createElement(
+                      "ul",
+                      { className: "typeahead" },
+                      k.a.createElement(
+                        $.a,
+                        {
+                          ref: this.listRef,
+                          itemCount: l.length,
+                          itemSize: u,
+                          itemKey: function (e) {
+                            var t = l && l[e];
+                            return t
+                              ? "".concat(e, "-").concat(t.label)
+                              : "".concat(e);
+                          },
+                          width: s,
+                          height: c,
+                        },
+                        function (t) {
+                          var r = t.index,
+                            a = t.style,
+                            o = l && l[r];
+                          return o
+                            ? k.a.createElement(ne, {
+                                onClickItem: function () {
+                                  return e.props.onSelectSuggestion
+                                    ? e.props.onSelectSuggestion(o)
+                                    : {};
+                                },
+                                isSelected: l[d] === o,
+                                item: o,
+                                prefix: n,
+                                style: a,
+                                onMouseEnter: function () {
+                                  return e.onMouseEnter(r);
+                                },
+                                onMouseLeave: e.onMouseLeave,
+                              })
+                            : null;
+                        }
+                      )
+                    ),
+                    p && k.a.createElement(H, { height: c, item: l[f || d] })
+                  );
+                },
+              },
+              {
+                key: "menuPosition",
+                get: function () {
+                  if (!window.getSelection) return "";
+                  var e = window.getSelection(),
+                    t = e && e.anchorNode;
+                  if (t && t.parentElement) {
+                    var n = t.parentElement.getBoundingClientRect(),
+                      r = window.scrollX,
+                      a = window.scrollY;
+                    return "position: absolute; display: flex; top: "
+                      .concat(n.top + a + n.height + 6, "px; left: ")
+                      .concat(n.left + r - 2, "px");
+                  }
+                  return "";
+                },
+              },
+            ]),
+            t
+          );
+        })(k.a.PureComponent);
+      xe.contextType = K.a;
+      var ke = (function (e) {
+          function t(e) {
+            var n;
+            pe(this, t), (n = ge(this, be(t).call(this, e)));
+            var r = e.index,
+              a = void 0 === r ? 0 : r,
+              o = e.origin,
+              i = void 0 === o ? "query" : o,
+              l = e.style;
+            return (
+              (n.node = document.createElement("div")),
+              n.node.setAttribute("style", l),
+              n.node.classList.add(
+                "slate-typeahead",
+                "slate-typeahead-".concat(i, "-").concat(a)
+              ),
+              document.body.appendChild(n.node),
+              n
+            );
+          }
+          return (
+            ye(t, e),
+            me(t, [
+              {
+                key: "componentWillUnmount",
+                value: function () {
+                  document.body.removeChild(this.node);
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  return this.props.isOpen
+                    ? (this.node.setAttribute("style", this.props.style),
+                      this.node.classList.add("slate-typeahead--open"),
+                      L.a.createPortal(this.props.children, this.node))
+                    : (this.node.classList.remove("slate-typeahead--open"),
+                      null);
+                },
+              },
+            ]),
+            t
+          );
+        })(k.a.PureComponent),
+        je = n("zp0N");
+      function Se(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function Ee(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Ce(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? Ee(Object(n), !0).forEach(function (t) {
+                Pe(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : Ee(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Pe(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Te(e) {
+        var t,
+          n = e.onTypeahead,
+          r = e.cleanText,
+          a = e.onWillApplySuggestion,
+          o = e.portalOrigin,
+          i = {
+            groupedItems: [],
+            typeaheadPrefix: "",
+            typeaheadContext: "",
+            typeaheadText: "",
+          },
+          l = M()(De, 250),
+          s = function (e) {
+            i = Ce({}, i, {}, e);
+          };
+        return {
+          onBlur: function (e, t, n) {
+            return (i = Ce({}, i, { groupedItems: [] })), n();
+          },
+          onClick: function (e, t, n) {
+            return (i = Ce({}, i, { groupedItems: [] })), n();
+          },
+          onKeyDown: function (e, a, o) {
+            var c = e,
+              u = i.groupedItems.length;
+            switch (c.key) {
+              case "Escape":
+                if (u)
+                  return (
+                    c.preventDefault(),
+                    (i = Ce({}, i, { groupedItems: [] })),
+                    a.insertText("")
+                  );
+                break;
+              case "ArrowDown":
+              case "ArrowUp":
+                if (u)
+                  return (
+                    c.preventDefault(),
+                    void t.moveMenuIndex("ArrowDown" === c.key ? 1 : -1)
+                  );
+                break;
+              case "Enter":
+              case "Tab":
+                if (u) return c.preventDefault(), t.insertSuggestion();
+                break;
+              default:
+                l(a, s, n, r);
+            }
+            return o();
+          },
+          commands: {
+            selectSuggestion: function (e, t) {
+              var a = i.groupedItems;
+              if (!a || !a.length) return e;
+              var o = e.applyTypeahead(t);
+              return l(e, s, n, r), o;
+            },
+            applyTypeahead: function (e, t) {
+              var n = t.insertText || t.label,
+                o = "function" === t.kind,
+                l = t.move || 0,
+                s = i,
+                c = s.typeaheadPrefix,
+                u = s.typeaheadText,
+                f = s.typeaheadContext;
+              a &&
+                (n = a(n, {
+                  groupedItems: i.groupedItems,
+                  typeaheadContext: f,
+                  typeaheadPrefix: c,
+                  typeaheadText: u,
+                }));
+              var d = t.deleteBackwards || c.length,
+                p = (r ? r(u) : u).length - c.length,
+                h = u.indexOf(c),
+                m = c && ((p > 0 && h > -1) || n === u) && !o ? p + h : 0;
+              if (n.match(/\n/)) {
+                var g = Object(je.b)(n);
+                return e
+                  .deleteBackward(d)
+                  .deleteForward(m)
+                  .insertFragment(g)
+                  .focus();
+              }
+              return (
+                (i = Ce({}, i, { groupedItems: [] })),
+                e
+                  .deleteBackward(d)
+                  .deleteForward(m)
+                  .insertText(n)
+                  .moveForward(l)
+                  .focus()
+              );
+            },
+          },
+          renderEditor: function (e, n, r) {
+            if (n.value.selection.isExpanded) return r();
+            var a = r();
+            return k.a.createElement(
+              k.a.Fragment,
+              null,
+              a,
+              k.a.createElement(xe, {
+                menuRef: function (e) {
+                  return (t = e);
+                },
+                origin: o,
+                prefix: i.typeaheadPrefix,
+                isOpen: !!i.groupedItems.length,
+                groupedItems: i.groupedItems,
+                onSelectSuggestion: n.selectSuggestion,
+              })
+            );
+          },
+        };
+      }
+      var De = (function () {
+        var e,
+          t =
+            ((e = regeneratorRuntime.mark(function e(t, n, r, a) {
+              var o, i, l, s, c, u, f, d, p, h, m, g, b, v, y, w;
+              return regeneratorRuntime.wrap(function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      if (r) {
+                        e.next = 2;
+                        break;
+                      }
+                      return e.abrupt("return");
+                    case 2:
+                      return (
+                        (o = t.value),
+                        (i = o.selection),
+                        (l = o.document.getClosestBlock(o.focusBlock.key)),
+                        (s = o.selection.start.offset - 1),
+                        (c = l && l.getDecorations(t)),
+                        (u = c
+                          ? c
+                              .filter(function (e) {
+                                return (
+                                  e.start.offset <= s &&
+                                  e.end.offset > s &&
+                                  "prism-token" === e.type
+                                );
+                              })
+                              .toArray()
+                          : []),
+                        (f =
+                          c &&
+                          c
+                            .filter(function (e) {
+                              return (
+                                e.end.offset <= s &&
+                                "prism-token" === e.type &&
+                                e.data.get("className").includes("label-key")
+                              );
+                            })
+                            .last()),
+                        (d =
+                          f &&
+                          o.focusText.text.slice(f.start.offset, f.end.offset)),
+                        (p = u
+                          .map(function (e) {
+                            return e.data.get("className");
+                          })
+                          .join(" ")
+                          .split(" ")
+                          .filter(function (e) {
+                            return e.length;
+                          })),
+                        (h = o.focusText.text),
+                        (m = h.slice(0, i.focus.offset)),
+                        u.length &&
+                          ((h = o.focusText.text.slice(
+                            u[0].start.offset,
+                            u[0].end.offset
+                          )),
+                          (m = o.focusText.text.slice(
+                            u[0].start.offset,
+                            i.focus.offset
+                          ))),
+                        (g = m.match(/(?:!?=~?"?|")(.*)/))
+                          ? (m = g[1])
+                          : a && (m = a(m)),
+                        (e.next = 18),
+                        r({
+                          prefix: m,
+                          text: h,
+                          value: o,
+                          wrapperClasses: p,
+                          labelKey: d || void 0,
+                        })
+                      );
+                    case 18:
+                      (b = e.sent),
+                        (v = b.suggestions),
+                        (y = b.context),
+                        (w = v
+                          .map(function (e) {
+                            return e.items
+                              ? (m &&
+                                  (e.skipFilter ||
+                                    ((e.items = e.items.filter(function (e) {
+                                      return (
+                                        (e.filterText || e.label).length >=
+                                        m.length
+                                      );
+                                    })),
+                                    e.prefixMatch
+                                      ? (e.items = e.items.filter(function (e) {
+                                          return (
+                                            e.filterText || e.label
+                                          ).startsWith(m);
+                                        }))
+                                      : (e.items = e.items.filter(function (e) {
+                                          return (
+                                            e.filterText || e.label
+                                          ).includes(m);
+                                        }))),
+                                  (e.items = e.items.filter(function (e) {
+                                    return (
+                                      e.insertText ||
+                                      (e.filterText || e.label) !== m
+                                    );
+                                  }))),
+                                e.skipSort ||
+                                  (e.items = R()(e.items, function (e) {
+                                    return e.sortText || e.label;
+                                  })),
+                                e)
+                              : e;
+                          })
+                          .filter(function (e) {
+                            return e.items && e.items.length;
+                          })),
+                        n({
+                          groupedItems: w,
+                          typeaheadPrefix: m,
+                          typeaheadContext: y,
+                          typeaheadText: h,
+                        }),
+                        t.blur().focus();
+                    case 24:
+                    case "end":
+                      return e.stop();
+                  }
+              }, e);
+            })),
+            function () {
+              var t = this,
+                n = arguments;
+              return new Promise(function (r, a) {
+                var o = e.apply(t, n);
+                function i(e) {
+                  Se(o, r, a, i, l, "next", e);
+                }
+                function l(e) {
+                  Se(o, r, a, i, l, "throw", e);
+                }
+                i(void 0);
+              });
+            });
+        return function (e, n, r, a) {
+          return t.apply(this, arguments);
+        };
+      })();
+      n.d(t, "a", function () {
+        return a;
+      }),
+        n.d(t, "b", function () {
+          return o;
+        }),
+        n.d(t, "c", function () {
+          return s;
+        }),
+        n.d(t, "d", function () {
+          return m;
+        }),
+        n.d(t, "e", function () {
+          return g;
+        }),
+        n.d(t, "f", function () {
+          return b;
+        }),
+        n.d(t, "g", function () {
+          return y;
+        }),
+        n.d(t, "h", function () {
+          return D;
+        }),
+        n.d(t, "i", function () {
+          return Te;
+        });
+    },
+    DR0N: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return m;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("drYJ"),
+        i = n("MIBK"),
+        l = n("kDDq"),
+        s = n("VEkI");
+      function c() {
+        var e = p(["\n      flex: 1 1 100%;\n    "]);
+        return (
+          (c = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function u() {
+        var e = p(["\n      margin-top: ", "px;\n    "]);
+        return (
+          (u = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function f() {
+        var e = p([
+          "\n      flex-direction: row;\n      justify-content: space-between;\n      flex-wrap: wrap;\n    ",
+        ]);
+        return (
+          (f = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function d() {
+        var e = p([
+          "\n      display: flex;\n      flex-direction: column;\n      margin-bottom: ",
+          "px;\n    ",
+        ]);
+        return (
+          (d = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function p(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var h = Object(i.g)(function (e) {
+          return {
+            field: Object(l.css)(d(), 2 * e.spacing.formSpacingBase),
+            fieldHorizontal: Object(l.css)(f()),
+            fieldValidationWrapper: Object(l.css)(
+              u(),
+              e.spacing.formSpacingBase / 2
+            ),
+            fieldValidationWrapperHorizontal: Object(l.css)(c()),
+          };
+        }),
+        m = function (e) {
+          var t,
+            n = e.label,
+            r = e.description,
+            c = e.horizontal,
+            u = e.invalid,
+            f = e.loading,
+            d = e.disabled,
+            p = e.required,
+            m = e.error,
+            g = e.children,
+            b = e.className,
+            v = Object(i.h)(),
+            y = h(v),
+            w = a.a.Children.map(g, function (e) {
+              return e;
+            })[0];
+          return (
+            w && (t = w.props.id),
+            a.a.createElement(
+              "div",
+              { className: Object(l.cx)(y.field, c && y.fieldHorizontal, b) },
+              n &&
+                a.a.createElement(
+                  o.a,
+                  { htmlFor: t, description: r },
+                  "".concat(n).concat(p ? " *" : "")
+                ),
+              a.a.createElement(
+                "div",
+                null,
+                a.a.cloneElement(g, { invalid: u, disabled: d, loading: f }),
+                u &&
+                  m &&
+                  !c &&
+                  a.a.createElement(
+                    "div",
+                    { className: y.fieldValidationWrapper },
+                    a.a.createElement(s.a, null, m)
+                  )
+              ),
+              u &&
+                m &&
+                c &&
+                a.a.createElement(
+                  "div",
+                  {
+                    className: Object(l.cx)(
+                      y.fieldValidationWrapper,
+                      y.fieldValidationWrapperHorizontal
+                    ),
+                  },
+                  a.a.createElement(s.a, null, m)
+                )
+            )
+          );
+        };
+    },
+    Dijz: function (e, t) {},
+    E1lu: function (e, t) {
+      var n =
+        "public/app/plugins/datasource/cloudwatch/partials/annotations.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            "<cloudwatch-annotation-query-editor datasource=ctrl.datasource on-change=ctrl.onChange query=ctrl.annotation></cloudwatch-annotation-query-editor>\n"
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    E5F5: function (e, t, n) {
+      "use strict";
+      var r = n("TSYQ"),
+        a = n.n(r),
+        o = n("q1tI"),
+        i = n.n(o),
+        l = n("HNDo"),
+        s = n("BffY"),
+        c = n("yS3H"),
+        u = n("EwfM"),
+        f = function (e) {
+          var t = e.children,
+            n = e.isSelected,
+            r = e.data;
+          return i.a.createElement(
+            u.z.Option,
+            e,
+            i.a.createElement(
+              "div",
+              { className: "gf-form-select-box__desc-option" },
+              r.imgUrl &&
+                i.a.createElement("img", {
+                  className: "gf-form-select-box__desc-option__img",
+                  src: r.imgUrl,
+                }),
+              i.a.createElement(
+                "div",
+                { className: "gf-form-select-box__desc-option__body" },
+                i.a.createElement("div", null, t),
+                r.description &&
+                  i.a.createElement(
+                    "div",
+                    { className: "gf-form-select-box__desc-option__desc" },
+                    r.description
+                  )
+              ),
+              n &&
+                i.a.createElement("i", {
+                  className: "fa fa-check",
+                  "aria-hidden": "true",
+                })
+            )
+          );
+        },
+        d = n("mbvD"),
+        p = n("sH2m"),
+        h = n("aAiC"),
+        m = n("EiQK"),
+        g = n("9o1o"),
+        b = n("vkM9"),
+        v = n("5/7A");
+      function y(e) {
+        return (y =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function w() {
+        return (w =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function O(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function x(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function k(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function j(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function S(e, t, n) {
+        return t && j(e.prototype, t), n && j(e, n), e;
+      }
+      function E(e, t) {
+        return !t || ("object" !== y(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function C(e) {
+        return (C = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function P(e, t) {
+        if ("function" != typeof t && null !== t)
+          throw new TypeError(
+            "Super expression must either be null or a function"
+          );
+        (e.prototype = Object.create(t && t.prototype, {
+          constructor: { value: e, writable: !0, configurable: !0 },
+        })),
+          t && T(e, t);
+      }
+      function T(e, t) {
+        return (T =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      n.d(t, "b", function () {
+        return D;
+      }),
+        n.d(t, "a", function () {
+          return A;
+        });
+      var D = (function (e) {
+        function t() {
+          return k(this, t), E(this, C(t).apply(this, arguments));
+        }
+        return (
+          P(t, e),
+          S(t, [
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  n = e.defaultValue,
+                  r = e.getOptionLabel,
+                  o = e.getOptionValue,
+                  c = e.onChange,
+                  u = e.options,
+                  f = e.placeholder,
+                  d = e.width,
+                  p = e.value,
+                  h = e.className,
+                  m = e.isDisabled,
+                  b = e.isLoading,
+                  v = e.isSearchable,
+                  y = e.isClearable,
+                  k = e.backspaceRemovesValue,
+                  j = e.isMulti,
+                  S = e.autoFocus,
+                  E = e.openMenuOnFocus,
+                  C = e.onBlur,
+                  P = e.maxMenuHeight,
+                  T = e.noOptionsMessage,
+                  D = e.isOpen,
+                  A = e.components,
+                  N = e.tooltipContent,
+                  M = e.tabSelectsValue,
+                  I = e.onCloseMenu,
+                  R = e.onOpenMenu,
+                  F = e.allowCustomValue,
+                  L = e.formatCreateLabel,
+                  V = "";
+                d && (V = "width-" + d);
+                var B = l.a,
+                  $ = {};
+                F &&
+                  ((B = s.a),
+                  ($.formatCreateLabel =
+                    null != L
+                      ? L
+                      : function (e) {
+                          return e;
+                        }));
+                var q = a()(
+                    "gf-form-input",
+                    "gf-form-input--form-dropdown",
+                    V,
+                    h
+                  ),
+                  U = (function (e) {
+                    for (var t = 1; t < arguments.length; t++) {
+                      var n = null != arguments[t] ? arguments[t] : {};
+                      t % 2
+                        ? O(Object(n), !0).forEach(function (t) {
+                            x(e, t, n[t]);
+                          })
+                        : Object.getOwnPropertyDescriptors
+                        ? Object.defineProperties(
+                            e,
+                            Object.getOwnPropertyDescriptors(n)
+                          )
+                        : O(Object(n)).forEach(function (t) {
+                            Object.defineProperty(
+                              e,
+                              t,
+                              Object.getOwnPropertyDescriptor(n, t)
+                            );
+                          });
+                    }
+                    return e;
+                  })({}, t.defaultProps.components, {}, A);
+                return i.a.createElement(
+                  _,
+                  {
+                    onCloseMenu: I,
+                    onOpenMenu: R,
+                    tooltipContent: N,
+                    isOpen: D,
+                  },
+                  function (e, t) {
+                    return i.a.createElement(
+                      B,
+                      w(
+                        {
+                          captureMenuScroll: !1,
+                          classNamePrefix: "gf-form-select-box",
+                          className: q,
+                          components: U,
+                          defaultValue: n,
+                          value: p,
+                          getOptionLabel: r,
+                          getOptionValue: o,
+                          menuShouldScrollIntoView: !1,
+                          isSearchable: v,
+                          onChange: c,
+                          options: u,
+                          placeholder: f || "Choose",
+                          styles: Object(g.a)(),
+                          isDisabled: m,
+                          isLoading: b,
+                          isClearable: y,
+                          autoFocus: S,
+                          onBlur: C,
+                          openMenuOnFocus: E,
+                          maxMenuHeight: P,
+                          noOptionsMessage: function () {
+                            return T;
+                          },
+                          isMulti: j,
+                          backspaceRemovesValue: k,
+                          menuIsOpen: D,
+                          onMenuOpen: e,
+                          onMenuClose: t,
+                          tabSelectsValue: M,
+                        },
+                        $
+                      )
+                    );
+                  }
+                );
+              },
+            },
+          ]),
+          t
+        );
+      })(o.PureComponent);
+      D.defaultProps = {
+        className: "",
+        isDisabled: !1,
+        isSearchable: !0,
+        isClearable: !1,
+        isMulti: !1,
+        openMenuOnFocus: !1,
+        autoFocus: !1,
+        isLoading: !1,
+        backspaceRemovesValue: !0,
+        maxMenuHeight: 300,
+        tabSelectsValue: !0,
+        allowCustomValue: !1,
+        components: {
+          Option: f,
+          SingleValue: p.a,
+          IndicatorsContainer: h.b,
+          MenuList: function (e) {
+            return i.a.createElement(
+              u.z.MenuList,
+              e,
+              i.a.createElement(
+                b.a,
+                { autoHide: !1, autoHeightMax: "inherit" },
+                e.children
+              )
+            );
+          },
+          Group: d.a,
+        },
+      };
+      var A = (function (e) {
+        function t() {
+          return k(this, t), E(this, C(t).apply(this, arguments));
+        }
+        return (
+          P(t, e),
+          S(t, [
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.defaultValue,
+                  n = e.getOptionLabel,
+                  r = e.getOptionValue,
+                  o = e.onChange,
+                  l = e.placeholder,
+                  s = e.width,
+                  u = e.value,
+                  d = e.className,
+                  b = e.loadOptions,
+                  v = e.defaultOptions,
+                  y = e.isLoading,
+                  w = e.loadingMessage,
+                  O = e.noOptionsMessage,
+                  x = e.isDisabled,
+                  k = e.isSearchable,
+                  j = e.isClearable,
+                  S = e.backspaceRemovesValue,
+                  E = e.autoFocus,
+                  C = e.onBlur,
+                  P = e.openMenuOnFocus,
+                  T = e.maxMenuHeight,
+                  D = e.isMulti,
+                  A = e.tooltipContent,
+                  N = e.onCloseMenu,
+                  M = e.onOpenMenu,
+                  I = e.isOpen,
+                  R = "";
+                s && (R = "width-" + s);
+                var F = a()(
+                  "gf-form-input",
+                  "gf-form-input--form-dropdown",
+                  R,
+                  d
+                );
+                return i.a.createElement(
+                  _,
+                  {
+                    onCloseMenu: N,
+                    onOpenMenu: M,
+                    tooltipContent: A,
+                    isOpen: I,
+                  },
+                  function (e, a) {
+                    return i.a.createElement(c.a, {
+                      captureMenuScroll: !1,
+                      classNamePrefix: "gf-form-select-box",
+                      className: F,
+                      components: {
+                        Option: f,
+                        SingleValue: p.a,
+                        IndicatorsContainer: h.b,
+                        NoOptionsMessage: m.b,
+                      },
+                      defaultValue: t,
+                      value: u,
+                      getOptionLabel: n,
+                      getOptionValue: r,
+                      menuShouldScrollIntoView: !1,
+                      onChange: o,
+                      loadOptions: b,
+                      isLoading: y,
+                      defaultOptions: v,
+                      placeholder: l || "Choose",
+                      styles: Object(g.a)(),
+                      loadingMessage: function () {
+                        return w;
+                      },
+                      noOptionsMessage: O,
+                      isDisabled: x,
+                      isSearchable: k,
+                      isClearable: j,
+                      autoFocus: E,
+                      onBlur: C,
+                      openMenuOnFocus: P,
+                      maxMenuHeight: T,
+                      isMulti: D,
+                      backspaceRemovesValue: S,
+                    });
+                  }
+                );
+              },
+            },
+          ]),
+          t
+        );
+      })(o.PureComponent);
+      A.defaultProps = {
+        className: "",
+        components: {},
+        loadingMessage: function () {
+          return "Loading...";
+        },
+        isDisabled: !1,
+        isClearable: !1,
+        isMulti: !1,
+        isSearchable: !0,
+        backspaceRemovesValue: !0,
+        autoFocus: !1,
+        openMenuOnFocus: !1,
+        maxMenuHeight: 300,
+      };
+      var _ = (function (e) {
+        function t() {
+          var e, n;
+          k(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = E(this, (e = C(t)).call.apply(e, [this].concat(a)))).state = {
+              isOpenInternal: !1,
+            }),
+            (n.onOpenMenu = function () {
+              var e = n.props.onOpenMenu;
+              e && e(), n.setState({ isOpenInternal: !0 });
+            }),
+            (n.onCloseMenu = function () {
+              var e = n.props.onCloseMenu;
+              e && e(), n.setState({ isOpenInternal: !1 });
+            }),
+            n
+          );
+        }
+        return (
+          P(t, e),
+          S(t, [
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.children,
+                  n = e.isOpen,
+                  r = e.tooltipContent,
+                  a = void 0;
+                return (
+                  (this.state.isOpenInternal || n) && (a = !1),
+                  r
+                    ? i.a.createElement(
+                        v.b,
+                        { show: a, content: r, placement: "bottom" },
+                        i.a.createElement(
+                          "div",
+                          null,
+                          t(this.onOpenMenu, this.onCloseMenu)
+                        )
+                      )
+                    : i.a.createElement(
+                        "div",
+                        null,
+                        t(this.onOpenMenu, this.onCloseMenu)
+                      )
+                );
+              },
+            },
+          ]),
+          t
+        );
+      })(o.PureComponent);
+      t.c = D;
+    },
+    EOC3: function (e, t) {
+      var n =
+        "public/app/core/components/manage_dashboards/manage_dashboards.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=dashboard-list>\n  <div class="page-action-bar page-action-bar--narrow" ng-hide="ctrl.folderId && !ctrl.hasFilters && ctrl.sections.length === 0">\n    <label class="gf-form gf-form--grow gf-form--has-input-icon">\n      <input type=text class="gf-form-input max-width-30" placeholder="Find Dashboard by name" tabindex=1 give-focus=true ng-model=ctrl.query.query ng-model-options="{ debounce: 500 }" spellcheck=false ng-change=ctrl.onQueryChange() />\n      <i class="gf-form-input-icon fa fa-search"></i>\n    </label>\n    <div class=page-action-bar__spacer></div>\n    <a class="btn btn-primary" ng-href={{ctrl.createDashboardUrl()}} ng-if="ctrl.hasEditPermissionInFolders || ctrl.canSave">\n      New Dashboard\n    </a>\n    <a class="btn btn-inverse" href=dashboards/folder/new ng-if="!ctrl.folderId && ctrl.isEditor">\n      New Folder\n    </a>\n    <a class="btn btn-inverse" href={{ctrl.importDashboardUrl()}} ng-if="ctrl.hasEditPermissionInFolders || ctrl.canSave">\n      Import\n    </a>\n  </div>\n\n  <div class="page-action-bar page-action-bar--narrow" ng-show=ctrl.hasFilters>\n    <div class=gf-form-inline>\n      <div class=gf-form ng-show="ctrl.query.tag.length > 0">\n        <label class="gf-form-label width-4">\n          Tags\n        </label>\n        <div class="gf-form-input gf-form-input--plaintext" ng-show="ctrl.query.tag.length > 0">\n          <span ng-repeat="tagName in ctrl.query.tag">\n            <a ng-click="ctrl.removeTag(tagName, $event)" tag-color-from-name=tagName class="tag label label-tag">\n              <i class="fa fa-remove"></i>&nbsp;{{tagName}}\n            </a>\n          </span>\n        </div>\n      </div>\n      <div class=gf-form ng-show=ctrl.query.starred>\n        <label class=gf-form-label>\n          <a class=pointer ng-click=ctrl.removeStarred()>\n            <i class="fa fa-fw fa-check"></i> Starred\n          </a>\n        </label>\n      </div>\n      <div class=gf-form>\n        <label class=gf-form-label>\n          <a class=pointer ng-click=ctrl.clearFilters() bs-tooltip="\'Clear current search query and filters\'">\n            <i class="fa fa-remove"></i>&nbsp;Clear\n          </a>\n        </label>\n      </div>\n    </div>\n  </div>\n\n  <div class=search-results ng-show="ctrl.hasFilters && ctrl.sections.length === 0">\n    <em class=muted>\n      No dashboards matching your query were found.\n    </em>\n  </div>\n\n\t<div class=search-results ng-show="!ctrl.folderId && !ctrl.hasFilters && ctrl.sections.length === 0">\n    <em class=muted>\n        No dashboards found.\n    </em>\n  </div>\n\n  <div class=search-results ng-show="ctrl.sections.length > 0">\n    <div class=search-results-filter-row>\n      <gf-form-checkbox on-change=ctrl.onSelectAllChanged() checked=ctrl.selectAllChecked switch-class=gf-form-checkbox--transparent />\n      <div class=search-results-filter-row__filters>\n        <div class=gf-form-select-wrapper ng-show="!(ctrl.canMove || ctrl.canDelete)">\n          <select class="search-results-filter-row__filters-item gf-form-input" ng-model=ctrl.selectedStarredFilter ng-options="t.text disable when t.disabled for t in ctrl.starredFilterOptions" ng-change=ctrl.onStarredFilterChange() />\n        </div>\n        <div class=gf-form-select-wrapper ng-show="!(ctrl.canMove || ctrl.canDelete)">\n          <select class="search-results-filter-row__filters-item gf-form-input" ng-model=ctrl.selectedTagFilter ng-options="t.term disable when t.disabled for t in ctrl.tagFilterOptions" ng-change=ctrl.onTagFilterChange() />\n        </div>\n        <div class=gf-form-button-row ng-show="ctrl.canMove || ctrl.canDelete">\n          <button type=button class="btn gf-form-button btn-inverse" ng-disabled=!ctrl.canMove ng-click=ctrl.moveTo() bs-tooltip="ctrl.canMove ? \'\' : \'Select a dashboard to move (cannot move folders)\'" data-placement=bottom>\n          <i class="fa fa-exchange"></i>&nbsp;&nbsp;Move\n          </button>\n          <button type=button class="btn gf-form-button btn-danger" ng-click=ctrl.delete() ng-disabled=!ctrl.canDelete>\n            <i class="fa fa-trash"></i>&nbsp;&nbsp;Delete\n          </button>\n        </div>\n      </div>\n    </div>\n    <div class=search-results-container>\n      <dashboard-search-results results=ctrl.sections editable=true on-selection-changed=ctrl.selectionChanged() on-tag-selected=ctrl.filterByTag($tag) />\n    </div>\n  </div>\n\n</div>\n\n<div ng-if="ctrl.canSave && ctrl.folderId && !ctrl.hasFilters && ctrl.sections.length === 0">\n  <empty-list-cta title="\'This folder doesn\\\'t have any dashboards yet\'" buttonicon="\'gicon gicon-dashboard-new\'" buttonlink="\'dashboard/new?folderId={{ctrl.folderId}}\'" buttontitle="\'Create Dashboard\'" protip="\'Add/move dashboards to your folder at ->\'" protiplink="\'dashboards\'" protiplinktitle="\'Manage dashboards\'" protiptarget=""/>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    EiQK: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return i;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("EwfM"),
+        i = function (e) {
+          var t = e.children;
+          return a.a.createElement(
+            o.z.Option,
+            e,
+            a.a.createElement(
+              "div",
+              { className: "gf-form-select-box__desc-option" },
+              a.a.createElement(
+                "div",
+                { className: "gf-form-select-box__desc-option__body" },
+                t
+              )
+            )
+          );
+        };
+      t.b = i;
+    },
+    F03Y: function (e, t, n) {
+      "use strict";
+      function r(e) {
+        for (var t = [], n = 0; n < e.length; n++) t[n] = e.get(n);
+        return t;
+      }
+      n.d(t, "a", function () {
+        return r;
+      });
+    },
+    "FFN/": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return s;
+      }),
+        n.d(t, "e", function () {
+          return c;
+        }),
+        n.d(t, "b", function () {
+          return u;
+        }),
+        n.d(t, "c", function () {
+          return f;
+        }),
+        n.d(t, "d", function () {
+          return d;
+        }),
+        n.d(t, "l", function () {
+          return p;
+        }),
+        n.d(t, "k", function () {
+          return h;
+        }),
+        n.d(t, "j", function () {
+          return m;
+        }),
+        n.d(t, "i", function () {
+          return g;
+        }),
+        n.d(t, "m", function () {
+          return b;
+        }),
+        n.d(t, "h", function () {
+          return y;
+        }),
+        n.d(t, "g", function () {
+          return w;
+        }),
+        n.d(t, "o", function () {
+          return O;
+        }),
+        n.d(t, "p", function () {
+          return x;
+        }),
+        n.d(t, "n", function () {
+          return k;
+        });
+      var r = n("i7Pf");
+      function a(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function o(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? a(Object(n), !0).forEach(function (t) {
+                i(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : a(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function i(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var l = {
+          dataSources: [],
+          plugins: [],
+          categories: [],
+          dataSource: {},
+          layoutMode: n("Wu7z").a.List,
+          searchQuery: "",
+          dataSourcesCount: 0,
+          dataSourceTypeSearchQuery: "",
+          hasFetched: !1,
+          isLoadingDataSources: !1,
+          dataSourceMeta: {},
+        },
+        s = Object(r.b)("dataSources/dataSourceLoaded"),
+        c = Object(r.b)("dataSources/dataSourcesLoaded"),
+        u = Object(r.b)("dataSources/dataSourceMetaLoaded"),
+        f = Object(r.b)("dataSources/dataSourcePluginsLoad"),
+        d = Object(r.b)("dataSources/dataSourcePluginsLoaded"),
+        p = Object(r.b)("dataSources/setDataSourcesSearchQuery"),
+        h = Object(r.b)("dataSources/setDataSourcesLayoutMode"),
+        m = Object(r.b)("dataSources/setDataSourceTypeSearchQuery"),
+        g = Object(r.b)("dataSources/setDataSourceName"),
+        b = Object(r.b)("dataSources/setIsDefault"),
+        v = {
+          testingStatus: { status: null, message: null },
+          loadError: null,
+          plugin: null,
+        },
+        y = Object(r.b)("dataSourceSettings/initDataSourceSettingsSucceeded"),
+        w = Object(r.b)("dataSourceSettings/initDataSourceSettingsFailed"),
+        O = Object(r.b)("dataSourceSettings/testDataSourceStarting"),
+        x = Object(r.b)("dataSourceSettings/testDataSourceSucceeded"),
+        k = Object(r.b)("dataSourceSettings/testDataSourceFailed");
+      t.f = {
+        dataSources: function () {
+          var e =
+              arguments.length > 0 && void 0 !== arguments[0]
+                ? arguments[0]
+                : l,
+            t = arguments.length > 1 ? arguments[1] : void 0;
+          return c.match(t)
+            ? o({}, e, {
+                hasFetched: !0,
+                dataSources: t.payload,
+                dataSourcesCount: t.payload.length,
+              })
+            : s.match(t)
+            ? o({}, e, { dataSource: t.payload })
+            : p.match(t)
+            ? o({}, e, { searchQuery: t.payload })
+            : h.match(t)
+            ? o({}, e, { layoutMode: t.payload })
+            : f.match(t)
+            ? o({}, e, { plugins: [], isLoadingDataSources: !0 })
+            : d.match(t)
+            ? o({}, e, {
+                plugins: t.payload.plugins,
+                categories: t.payload.categories,
+                isLoadingDataSources: !1,
+              })
+            : m.match(t)
+            ? o({}, e, { dataSourceTypeSearchQuery: t.payload })
+            : u.match(t)
+            ? o({}, e, { dataSourceMeta: t.payload })
+            : g.match(t)
+            ? o({}, e, { dataSource: o({}, e.dataSource, { name: t.payload }) })
+            : b.match(t)
+            ? o({}, e, {
+                dataSource: o({}, e.dataSource, { isDefault: t.payload }),
+              })
+            : e;
+        },
+        dataSourceSettings: function () {
+          var e =
+              arguments.length > 0 && void 0 !== arguments[0]
+                ? arguments[0]
+                : v,
+            t = arguments.length > 1 ? arguments[1] : void 0;
+          return y.match(t)
+            ? o({}, e, { plugin: t.payload, loadError: null })
+            : w.match(t)
+            ? o({}, e, { plugin: null, loadError: t.payload.message })
+            : O.match(t)
+            ? o({}, e, {
+                testingStatus: { message: "Testing...", status: "info" },
+              })
+            : x.match(t)
+            ? o({}, e, {
+                testingStatus: {
+                  status: t.payload.status,
+                  message: t.payload.message,
+                },
+              })
+            : k.match(t)
+            ? o({}, e, {
+                testingStatus: { status: "error", message: t.payload.message },
+              })
+            : e;
+        },
+      };
+    },
+    FO4H: function (e, t, n) {
+      "use strict";
+      n.r(t),
+        n.d(t, "convertSeriesListToCsv", function () {
+          return g;
+        }),
+        n.d(t, "exportSeriesListToCsv", function () {
+          return b;
+        }),
+        n.d(t, "convertSeriesListToCsvColumns", function () {
+          return v;
+        }),
+        n.d(t, "exportSeriesListToCsvColumns", function () {
+          return y;
+        }),
+        n.d(t, "convertTableDataToCsv", function () {
+          return w;
+        }),
+        n.d(t, "exportTableDataToCsv", function () {
+          return O;
+        }),
+        n.d(t, "saveSaveBlob", function () {
+          return x;
+        });
+      var r = n("LvDl"),
+        a = n("JEAp"),
+        o = n("7tlc"),
+        i = n("Obii");
+      function l(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function s(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? l(Object(n), !0).forEach(function (t) {
+                c(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : l(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function c(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var u = {
+        dateTimeFormat: "YYYY-MM-DDTHH:mm:ssZ",
+        excel: !1,
+        timezone: "",
+      };
+      function f(e) {
+        return e
+          ? e
+              .split('"')
+              .join('""')
+              .replace(/^([-+=@])/, "'$1")
+              .replace(/\s+$/, "")
+          : e;
+      }
+      var d = new DOMParser();
+      function p(e) {
+        if (!e) return e;
+        var t = /&[^;]+;/g;
+        function n(e) {
+          return d.parseFromString(e, "text/html").body.textContent;
+        }
+        return e.replace(t, n).replace(t, n);
+      }
+      function h(e) {
+        return e ? "sep=".concat(";").concat("\r\n") : "";
+      }
+      function m(e) {
+        for (
+          var t =
+              !(arguments.length > 1 && void 0 !== arguments[1]) ||
+              arguments[1],
+            n = "",
+            a = 0;
+          a < e.length;
+          a += 1
+        )
+          Object(r.isBoolean)(e[a]) ||
+          Object(r.isNumber)(e[a]) ||
+          Object(o.isNullOrUndefined)(e[a])
+            ? (n += e[a])
+            : (n += ""
+                .concat('"')
+                .concat(f(Object(r.unescape)(p(e[a]))))
+                .concat('"')),
+            a < e.length - 1 && (n += ";");
+        return t ? n + "\r\n" : n;
+      }
+      function g(e, t) {
+        for (
+          var n = s({}, u, {}, t),
+            r = n.dateTimeFormat,
+            a = n.excel,
+            o = n.timezone,
+            l = h(a) + m(["Series", "Time", "Value"]),
+            c = 0;
+          c < e.length;
+          c += 1
+        )
+          for (var f = 0; f < e[c].datapoints.length; f += 1)
+            l += m(
+              [
+                e[c].alias,
+                "utc" === o
+                  ? Object(i.dateTime)(e[c].datapoints[f][1]).utc().format(r)
+                  : Object(i.dateTime)(e[c].datapoints[f][1]).format(r),
+                e[c].datapoints[f][0],
+              ],
+              f < e[c].datapoints.length - 1 || c < e.length - 1
+            );
+        return l;
+      }
+      function b(e, t) {
+        x(g(e, t), "grafana_data_export.csv");
+      }
+      function v(e, t) {
+        for (
+          var n = s({}, u, {}, t),
+            a = n.dateTimeFormat,
+            o = n.excel,
+            l = n.timezone,
+            c =
+              h(o) +
+              m(
+                ["Time"].concat(
+                  e.map(function (e) {
+                    return e.alias;
+                  })
+                )
+              ),
+            f = (function (e) {
+              for (var t = [], n = 0; n < e.length; n++)
+                for (var a = e[n].datapoints, o = 0; o < a.length; o++)
+                  t.push(a[o][1]);
+              t = Object(r.sortedUniq)(t.sort());
+              for (var i = [], l = 0; l < e.length; l++) {
+                for (
+                  var s = e[l].datapoints,
+                    c = s.map(function (e) {
+                      return e[1];
+                    }),
+                    u = [],
+                    f = 0;
+                  f < t.length;
+                  f++
+                ) {
+                  var d = t[f],
+                    p = Object(r.sortedIndexOf)(c, d);
+                  -1 !== p ? u.push(s[p]) : u.push([null, d]);
+                }
+                i.push(u);
+              }
+              return i;
+            })(e),
+            d = function (e) {
+              var t =
+                "utc" === l
+                  ? Object(i.dateTime)(f[0][e][1]).utc().format(a)
+                  : Object(i.dateTime)(f[0][e][1]).format(a);
+              c += m(
+                [t].concat(
+                  f.map(function (t) {
+                    return t[e][0];
+                  })
+                ),
+                e < f[0].length - 1
+              );
+            },
+            p = 0;
+          p < f[0].length;
+          p += 1
+        )
+          d(p);
+        return c;
+      }
+      function y(e, t) {
+        x(v(e, t), "grafana_data_export.csv");
+      }
+      function w(e) {
+        var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
+          n = h(t);
+        n += m(
+          e.columns.map(function (e) {
+            return e.title || e.text;
+          })
+        );
+        for (var r = 0; r < e.rows.length; r += 1)
+          n += m(e.rows[r], r < e.rows.length - 1);
+        return n;
+      }
+      function O(e) {
+        var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
+          n = w(e, t);
+        x(n, "grafana_data_export.csv");
+      }
+      function x(e, t) {
+        var n = new Blob([e], {
+          type: "text/csv;charset=utf-8;header=present;",
+        });
+        Object(a.saveAs)(n, t);
+      }
+    },
+    FgzG: function (e, t, n) {
+      "use strict";
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("Obii"),
+        i = n("HNDo"),
+        l = n("BffY"),
+        s = n("yS3H"),
+        c = n("SBRz"),
+        u = n("Vt59"),
+        f = n("kDDq"),
+        d = n("4Qg+"),
+        p = n("9o1o"),
+        h = n("Fts8"),
+        m = n("qQGB"),
+        g = n("eGKl");
+      function b() {
+        var e = E(["\n      margin-left: ", ";\n    "]);
+        return (
+          (b = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function v() {
+        var e = E([
+          "\n      display: flex;\n      align-items: center;\n      line-height: 1;\n      background: ",
+          ";\n      border-radius: ",
+          ";\n      padding: ",
+          " ",
+          " ",
+          " ",
+          ";\n      margin: ",
+          " ",
+          " ",
+          " 0;\n      color: ",
+          ";\n    ",
+        ]);
+        return (
+          (v = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function y() {
+        var e = E([
+          "\n      padding: ",
+          ";\n      text-align: center;\n      width: 100%;\n    ",
+        ]);
+        return (
+          (y = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function w() {
+        var e = E(["\n      flex-wrap: wrap;\n    "]);
+        return (
+          (w = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function O() {
+        var e = E([
+          "\n      align-items: center;\n      display: flex;\n      position: relative;\n      box-sizing: border-box;\n      flex: 1 1 0%;\n      outline: none;\n      overflow: hidden;\n    ",
+        ]);
+        return (
+          (O = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function x() {
+        var e = E([
+          "\n      color: ",
+          ";\n      white-space: nowrap;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      box-sizing: border-box;\n      max-width: 100%;\n    ",
+        ]);
+        return (
+          (x = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function k() {
+        var e = E([
+          "\n      background: ",
+          ";\n      border-image: linear-gradient(#f05a28 30%, #fbca0a 99%);\n      border-image-slice: 1;\n      border-style: solid;\n      border-top: 0;\n      border-right: 0;\n      border-bottom: 0;\n      border-left-width: 2px;\n    ",
+        ]);
+        return (
+          (k = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function j() {
+        var e = E([
+          "\n      padding: 8px;\n      display: flex;\n      justify-content: space-between;\n      align-items: center;\n      flex-direction: row;\n      white-space: nowrap;\n      cursor: pointer;\n      border-left: 2px solid transparent;\n      &:hover {\n        background: ",
+          ";\n      }\n    ",
+        ]);
+        return (
+          (j = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function S() {
+        var e = E([
+          "\n      background: ",
+          ";\n      box-shadow: 0px 4px 4px ",
+          ";\n      position: relative;\n      min-width: 100%;\n      z-index: 1;\n    ",
+        ]);
+        return (
+          (S = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function E(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var C = Object(m.a)(function (e) {
+          var t = Object(g.a)(
+              { light: e.colors.white, dark: e.colors.formInputBg },
+              e.type
+            ),
+            n = Object(g.a)(
+              { light: e.colors.gray4, dark: e.colors.black },
+              e.type
+            ),
+            r = Object(g.a)(
+              { light: e.colors.gray7, dark: e.colors.gray10 },
+              e.type
+            ),
+            a = Object(g.a)(
+              { light: e.colors.gray6, dark: e.colors.gray05 },
+              e.type
+            ),
+            o = Object(g.a)(
+              { light: e.colors.gray25, dark: e.colors.gray85 },
+              e.type
+            );
+          return {
+            menu: Object(f.css)(S(), t, n),
+            option: Object(f.css)(j(), r),
+            optionFocused: Object(f.css)(k(), r),
+            singleValue: Object(f.css)(x(), e.colors.formInputText),
+            valueContainer: Object(f.css)(O()),
+            valueContainerMulti: Object(f.css)(w()),
+            loadingMessage: Object(f.css)(y(), e.spacing.sm),
+            multiValueContainer: Object(f.css)(
+              v(),
+              a,
+              e.border.radius.sm,
+              e.spacing.xs,
+              e.spacing.xxs,
+              e.spacing.xs,
+              e.spacing.sm,
+              e.spacing.xxs,
+              e.spacing.xs,
+              e.spacing.xxs,
+              o
+            ),
+            multiValueRemove: Object(f.css)(b(), e.spacing.xs),
+          };
+        }),
+        P = n("vkM9");
+      function T() {
+        return (T =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      var D = a.a.forwardRef(function (e, t) {
+        var n = Object(h.c)(),
+          r = C(n),
+          o = e.children,
+          i = e.maxHeight,
+          l = e.innerRef,
+          s = e.innerProps;
+        return a.a.createElement(
+          "div",
+          T({}, s, {
+            className: r.menu,
+            ref: l,
+            style: { maxHeight: i },
+            "aria-label": "Select options menu",
+          }),
+          a.a.createElement(
+            P.a,
+            { autoHide: !1, autoHeightMax: "inherit", hideHorizontalTrack: !0 },
+            o
+          )
+        );
+      });
+      D.displayName = "SelectMenu";
+      var A = a.a.forwardRef(function (e, t) {
+          var n = Object(h.c)(),
+            r = C(n),
+            o = e.children,
+            i = e.innerProps,
+            l = e.data,
+            s = e.renderOptionLabel,
+            c = e.isSelected,
+            d = e.isFocused;
+          return a.a.createElement(
+            "div",
+            T(
+              {
+                ref: t,
+                className: Object(f.cx)(r.option, d && r.optionFocused),
+              },
+              i,
+              { "aria-label": "Select option" }
+            ),
+            a.a.createElement("span", null, s ? s(l) : o),
+            c &&
+              a.a.createElement(
+                "span",
+                null,
+                a.a.createElement(u.a, { name: "check" })
+              )
+          );
+        }),
+        _ = n("6iRR");
+      function N() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })(["\n          position: relative;\n        "]);
+        return (
+          (N = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      var M = a.a.forwardRef(function (e, t) {
+          var n = e.children,
+            r = Object(h.c)(),
+            o = Object(_.b)({ theme: r, invalid: !1 });
+          return a.a.createElement(
+            "div",
+            { className: Object(f.cx)(o.suffix, Object(f.css)(N())), ref: t },
+            n
+          );
+        }),
+        I = function (e) {
+          var t = Object(h.c)(),
+            n = C(t),
+            r = e.children,
+            o = e.isMulti;
+          return a.a.createElement(
+            "div",
+            {
+              className: Object(f.cx)(
+                n.valueContainer,
+                o && n.valueContainerMulti
+              ),
+            },
+            r
+          );
+        },
+        R = n("MIBK");
+      function F() {
+        return (F =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function L(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function V() {
+        var e = U(["\n          position: relative;\n        "]);
+        return (
+          (V = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function B() {
+        var e = U(["\n            padding-left: 0;\n          "]);
+        return (
+          (B = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function $() {
+        var e = U([
+          "\n          min-height: 32px;\n          height: auto;\n          flex-direction: row;\n          padding-right: 0;\n          max-width: 100%;\n          align-items: center;\n          cursor: default;\n          display: flex;\n          flex-wrap: wrap;\n          justify-content: space-between;\n          position: relative;\n          box-sizing: border-box;\n        ",
+        ]);
+        return (
+          ($ = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function q() {
+        var e = U(["\n            ", "\n          "]);
+        return (
+          (q = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function U(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var z = Object(R.g)(function (e, t, n, r, a) {
+          var o = Object(_.b)({ theme: e, invalid: t });
+          return {
+            wrapper: Object(f.cx)(
+              o.wrapper,
+              Object(d.f)(e, t),
+              n && Object(f.css)(q(), Object(d.a)(e)),
+              r && o.inputDisabled,
+              Object(f.css)($()),
+              a && Object(f.css)(B())
+            ),
+            prefix: Object(f.cx)(o.prefix, Object(f.css)(V())),
+          };
+        }),
+        H = a.a.forwardRef(function (e, t) {
+          var n = e.focused,
+            r = e.invalid,
+            o = e.disabled,
+            i = e.children,
+            l = e.innerProps,
+            s = e.prefix,
+            c =
+              (L(e, [
+                "focused",
+                "invalid",
+                "disabled",
+                "children",
+                "innerProps",
+                "prefix",
+              ]),
+              Object(h.c)()),
+            u = z(c, r, n, o, !!s);
+          return a.a.createElement(
+            "div",
+            F({ className: u.wrapper }, l, { ref: t }),
+            s &&
+              a.a.createElement(
+                "div",
+                { className: Object(f.cx)(u.prefix) },
+                s
+              ),
+            i
+          );
+        }),
+        G = function (e) {
+          var t = e.isOpen ? "caret-up" : "caret-down";
+          return a.a.createElement(u.a, { name: t });
+        },
+        W = n("mbvD"),
+        Q = n("sH2m");
+      function Y() {
+        return (Y =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      var K = function (e) {
+          var t = e.innerProps,
+            n = e.children,
+            r = Object(R.h)(),
+            o = C(r);
+          return a.a.createElement(
+            "div",
+            Y({}, t, { className: o.multiValueContainer }),
+            n
+          );
+        },
+        J = function (e) {
+          e.children;
+          var t = e.innerProps,
+            n = Object(R.h)(),
+            r = C(n);
+          return a.a.createElement(
+            "div",
+            Y({}, t, { className: r.multiValueRemove }),
+            a.a.createElement(u.a, { name: "times" })
+          );
+        };
+      function Z(e) {
+        return (Z =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      var X = function e(t, n) {
+        var r = !0,
+          a = !1,
+          o = void 0;
+        try {
+          for (
+            var i, l = n[Symbol.iterator]();
+            !(r = (i = l.next()).done);
+            r = !0
+          ) {
+            var s = i.value;
+            if ("options" in s) {
+              var c = e(t, s.options);
+              if (c) return c;
+            } else if ("value" in s && s.value === t) return s;
+          }
+        } catch (e) {
+          (a = !0), (o = e);
+        } finally {
+          try {
+            r || null == l.return || l.return();
+          } finally {
+            if (a) throw o;
+          }
+        }
+        return null;
+      };
+      function ee() {
+        return (ee =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function te() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })([
+          "\n                  display: inline-block;\n                  color: ",
+          ";\n                  position: absolute;\n                  top: 50%;\n                  transform: translateY(-50%);\n                  box-sizing: border-box;\n                  line-height: 1;\n                ",
+        ]);
+        return (
+          (te = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ne(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function re(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? ne(Object(n), !0).forEach(function (t) {
+                ae(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : ne(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function ae(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      n.d(t, "a", function () {
+        return ie;
+      });
+      var oe = function (e) {
+        var t = e.children,
+          n = e.innerProps,
+          r = e.selectProps,
+          o = r.menuIsOpen,
+          i = r.onMenuClose,
+          l = r.onMenuOpen,
+          s = e.isFocused,
+          c = e.isMulti,
+          u = e.getValue,
+          f = e.innerRef,
+          d = e.selectProps;
+        return d.renderControl
+          ? a.a.createElement(d.renderControl, {
+              isOpen: o,
+              value: c ? u() : u()[0],
+              ref: f,
+              onClick: o ? i : l,
+              onBlur: i,
+              disabled: !!d.disabled,
+              invalid: !!d.invalid,
+            })
+          : a.a.createElement(
+              H,
+              {
+                ref: f,
+                innerProps: n,
+                prefix: d.prefix,
+                focused: s,
+                invalid: !!d.invalid,
+                disabled: !!d.disabled,
+              },
+              t
+            );
+      };
+      function ie(e) {
+        var t = e.allowCustomValue,
+          n = void 0 !== t && t,
+          h = e.autoFocus,
+          m = void 0 !== h && h,
+          g = e.backspaceRemovesValue,
+          b = void 0 === g || g,
+          v = e.components,
+          y = e.defaultOptions,
+          w = e.defaultValue,
+          O = e.disabled,
+          x = void 0 !== O && O,
+          k = e.formatCreateLabel,
+          j = e.getOptionLabel,
+          S = e.getOptionValue,
+          E = e.inputValue,
+          P = e.invalid,
+          T = e.isClearable,
+          _ = void 0 !== T && T,
+          N = e.isLoading,
+          F = void 0 !== N && N,
+          L = e.isMulti,
+          V = void 0 !== L && L,
+          B = e.isOpen,
+          $ = e.isSearchable,
+          q = void 0 === $ || $,
+          U = e.loadOptions,
+          z = e.loadingMessage,
+          H = void 0 === z ? "Loading options..." : z,
+          Y = e.maxMenuHeight,
+          ne = void 0 === Y ? 300 : Y,
+          ae = e.menuPosition,
+          ie = e.noOptionsMessage,
+          le = void 0 === ie ? "No options found" : ie,
+          se = e.onBlur,
+          ce = e.onChange,
+          ue = e.onCloseMenu,
+          fe = e.onCreateOption,
+          de = e.onInputChange,
+          pe = e.onKeyDown,
+          he = e.onOpenMenu,
+          me = e.openMenuOnFocus,
+          ge = void 0 !== me && me,
+          be = e.options,
+          ve = void 0 === be ? [] : be,
+          ye = e.placeholder,
+          we = void 0 === ye ? "Choose" : ye,
+          Oe = e.prefix,
+          xe = e.renderControl,
+          ke = e.size,
+          je = void 0 === ke ? "auto" : ke,
+          Se = e.tabSelectsValue,
+          Ee = void 0 === Se || Se,
+          Ce = e.value,
+          Pe = e.width,
+          Te = Object(R.h)(),
+          De = C(Te),
+          Ae = Object(r.useCallback)(
+            function (e) {
+              if (V && null == e) return ce([]);
+              ce(e);
+            },
+            [V, Ce, ce]
+          ),
+          _e = i.a,
+          Ne = {},
+          Me = {},
+          Ie = [];
+        if (V && U) Ie = Ce;
+        else if (V && Ce && Array.isArray(Ce) && !U)
+          Ie = Ce.map(function (e) {
+            return ve.filter(function (t) {
+              return e === t.value || t.value === e.value;
+            })[0];
+          });
+        else if (U) {
+          var Re = w || Ce;
+          Ie = Re ? [Re] : [];
+        } else
+          Ie = (function (e, t) {
+            if (Array.isArray(e)) return e.filter(Boolean);
+            if ("object" === Z(e) && null !== e) return [e];
+            if ("string" == typeof e || "number" == typeof e) {
+              var n = X(e, t);
+              if (n) return [n];
+            }
+            return [];
+          })(Ce, ve);
+        var Fe = {
+            autoFocus: m,
+            backspaceRemovesValue: b,
+            captureMenuScroll: !1,
+            defaultValue: w,
+            disabled: x,
+            getOptionLabel: j,
+            getOptionValue: S,
+            inputValue: E,
+            invalid: P,
+            isClearable: _,
+            isDisabled: x,
+            isLoading: F,
+            isMulti: V,
+            isSearchable: q,
+            maxMenuHeight: ne,
+            menuIsOpen: B,
+            menuPlacement: "auto",
+            menuPosition: ae,
+            menuShouldScrollIntoView: !1,
+            onBlur: se,
+            onChange: Ae,
+            onInputChange: de,
+            onKeyDown: pe,
+            onMenuClose: ue,
+            onMenuOpen: he,
+            openMenuOnFocus: ge,
+            options: ve,
+            placeholder: we,
+            prefix: Oe,
+            renderControl: xe,
+            tabSelectsValue: Ee,
+            value: V ? Ie : Ie[0],
+          },
+          Le = "";
+        return (
+          Pe &&
+            (Object(o.deprecationWarning)(
+              "Select",
+              "width property",
+              "size or className"
+            ),
+            (Le = "width-" + Pe)),
+          n &&
+            ((_e = l.a),
+            (Ne.formatCreateLabel =
+              null != k
+                ? k
+                : function (e) {
+                    return "Create: ".concat(e);
+                  }),
+            (Ne.onCreateOption = fe)),
+          U &&
+            ((_e = n ? c.a : s.a),
+            (Me = { loadOptions: U, defaultOptions: y })),
+          a.a.createElement(
+            a.a.Fragment,
+            null,
+            a.a.createElement(
+              _e,
+              ee(
+                {
+                  components: re(
+                    {
+                      MenuList: D,
+                      Group: W.a,
+                      ValueContainer: I,
+                      Placeholder: function (e) {
+                        return a.a.createElement(
+                          "div",
+                          ee({}, e.innerProps, {
+                            className: Object(f.cx)(
+                              Object(f.css)(e.getStyles("placeholder", e)),
+                              Object(f.css)(
+                                te(),
+                                Te.colors.formInputPlaceholderText
+                              )
+                            ),
+                          }),
+                          e.children
+                        );
+                      },
+                      IndicatorsContainer: M,
+                      IndicatorSeparator: function () {
+                        return a.a.createElement(a.a.Fragment, null);
+                      },
+                      Control: oe,
+                      Option: A,
+                      ClearIndicator: function (e) {
+                        var t = e.clearValue;
+                        return a.a.createElement(u.a, {
+                          name: "times",
+                          onMouseDown: function (e) {
+                            e.preventDefault(), e.stopPropagation(), t();
+                          },
+                        });
+                      },
+                      LoadingIndicator: function (e) {
+                        return a.a.createElement(u.a, {
+                          name: "spinner",
+                          className: "fa fa-spin",
+                        });
+                      },
+                      LoadingMessage: function (e) {
+                        return a.a.createElement(
+                          "div",
+                          { className: De.loadingMessage },
+                          H
+                        );
+                      },
+                      NoOptionsMessage: function (e) {
+                        return a.a.createElement(
+                          "div",
+                          {
+                            className: De.loadingMessage,
+                            "aria-label": "No options provided",
+                          },
+                          le
+                        );
+                      },
+                      DropdownIndicator: function (e) {
+                        return a.a.createElement(G, {
+                          isOpen: e.selectProps.menuIsOpen,
+                        });
+                      },
+                      SingleValue: Q.a,
+                      MultiValueContainer: K,
+                      MultiValueRemove: J,
+                    },
+                    v
+                  ),
+                  styles: re({}, Object(p.a)(), {
+                    menu: function (e) {
+                      var t = e.top,
+                        n = e.bottom;
+                      return {
+                        top: t,
+                        bottom: n,
+                        width: e.width,
+                        position: e.position,
+                        marginBottom: n ? "10px" : "0",
+                        zIndex: 9999,
+                      };
+                    },
+                    container: function () {
+                      return { position: "relative", width: Object(d.e)(je) };
+                    },
+                  }),
+                  className: Le,
+                },
+                Fe,
+                Ne,
+                Me
+              )
+            )
+          )
+        );
+      }
+    },
+    Fts8: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return f;
+      }),
+        n.d(t, "d", function () {
+          return d;
+        }),
+        n.d(t, "c", function () {
+          return p;
+        }),
+        n.d(t, "b", function () {
+          return h;
+        });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("2mql"),
+        i = n.n(o),
+        l = n("J4FA"),
+        s = n("Obii");
+      function c() {
+        return (c =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      var u = null,
+        f = a.a.createContext(Object(l.a)(s.GrafanaThemeType.Dark));
+      f.displayName = "ThemeContext";
+      var d = function (e) {
+        var t = function (t) {
+          var n = u || f;
+          return a.a.createElement(n.Consumer, null, function (n) {
+            return a.a.createElement(e, c({}, t, { theme: n }));
+          });
+        };
+        return (
+          (t.displayName = "WithTheme(".concat(e.displayName, ")")),
+          i()(t, e),
+          t
+        );
+      };
+      function p() {
+        return Object(r.useContext)(u || f);
+      }
+      var h = function (e) {
+        return (
+          (u = a.a.createContext(e)),
+          function () {
+            u = null;
+          }
+        );
+      };
+    },
+    G0UC: function (e, t) {},
+    GNR5: function (e, t, n) {
+      "use strict";
+      var r,
+        a,
+        o = n("tAX7");
+      function i(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      !(function (e) {
+        (e.Year = "year"),
+          (e.Month = "month"),
+          (e.Week = "week"),
+          (e.Day = "day"),
+          (e.Hour = "hour"),
+          (e.Minute = "minute"),
+          (e.Second = "second"),
+          (e.Millisecond = "millisecond");
+      })(a || (a = {}));
+      var l =
+        (i((r = {}), a.Year, 31536e3),
+        i(r, a.Month, 2592e3),
+        i(r, a.Week, 604800),
+        i(r, a.Day, 86400),
+        i(r, a.Hour, 3600),
+        i(r, a.Minute, 60),
+        i(r, a.Second, 1),
+        i(r, a.Millisecond, 0.001),
+        r);
+      function s(e, t, n) {
+        return null === e
+          ? { text: "" }
+          : Math.abs(e) < 1e3
+          ? { text: B(e, t), suffix: " ns" }
+          : Math.abs(e) < 1e6
+          ? $(e / 1e3, t, n, 3, " µs")
+          : Math.abs(e) < 1e9
+          ? $(e / 1e6, t, n, 6, " ms")
+          : Math.abs(e) < 6e10
+          ? $(e / 1e9, t, n, 9, " s")
+          : $(e / 6e10, t, n, 12, " min");
+      }
+      function c(e, t, n) {
+        return null === e
+          ? { text: "" }
+          : Math.abs(e) < 1e3
+          ? { text: B(e, t), suffix: " µs" }
+          : Math.abs(e) < 1e6
+          ? $(e / 1e3, t, n, 3, " ms")
+          : $(e / 1e6, t, n, 6, " s");
+      }
+      function u(e, t, n) {
+        return null === e
+          ? { text: "" }
+          : Math.abs(e) < 1e3
+          ? { text: B(e, t), suffix: " ms" }
+          : Math.abs(e) < 6e4
+          ? $(e / 1e3, t, n, 3, " s")
+          : Math.abs(e) < 36e5
+          ? $(e / 6e4, t, n, 5, " min")
+          : Math.abs(e) < 864e5
+          ? $(e / 36e5, t, n, 7, " hour")
+          : Math.abs(e) < 31536e6
+          ? $(e / 864e5, t, n, 8, " day")
+          : $(e / 31536e6, t, n, 10, " year");
+      }
+      function f(e, t) {
+        if (null != e && null != t) return e - t;
+      }
+      function d(e, t, n) {
+        return null === e
+          ? { text: "" }
+          : Math.abs(e) < 1e-6
+          ? $(1e9 * e, t, f(n, t), -9, " ns")
+          : Math.abs(e) < 0.001
+          ? $(1e6 * e, t, f(n, t), -6, " µs")
+          : Math.abs(e) < 1
+          ? $(1e3 * e, t, f(n, t), -3, " ms")
+          : Math.abs(e) < 60
+          ? { text: B(e, t), suffix: " s" }
+          : Math.abs(e) < 3600
+          ? $(e / 60, t, n, 1, " min")
+          : Math.abs(e) < 86400
+          ? $(e / 3600, t, n, 4, " hour")
+          : Math.abs(e) < 604800
+          ? $(e / 86400, t, n, 5, " day")
+          : Math.abs(e) < 31536e3
+          ? $(e / 604800, t, n, 6, " week")
+          : $(e / 31556900, t, n, 7, " year");
+      }
+      function p(e, t, n) {
+        return null === e
+          ? { text: "" }
+          : Math.abs(e) < 60
+          ? { text: B(e, t), suffix: " min" }
+          : Math.abs(e) < 1440
+          ? $(e / 60, t, n, 2, " hour")
+          : Math.abs(e) < 10080
+          ? $(e / 1440, t, n, 3, " day")
+          : Math.abs(e) < 604800
+          ? $(e / 10080, t, n, 4, " week")
+          : $(e / 525948, t, n, 5, " year");
+      }
+      function h(e, t, n) {
+        return null === e
+          ? { text: "" }
+          : Math.abs(e) < 24
+          ? { text: B(e, t), suffix: " hour" }
+          : Math.abs(e) < 168
+          ? $(e / 24, t, n, 2, " day")
+          : Math.abs(e) < 8760
+          ? $(e / 168, t, n, 3, " week")
+          : $(e / 8760, t, n, 4, " year");
+      }
+      function m(e, t, n) {
+        return null === e
+          ? { text: "" }
+          : Math.abs(e) < 7
+          ? { text: B(e, t), suffix: " day" }
+          : Math.abs(e) < 365
+          ? $(e / 7, t, n, 2, " week")
+          : $(e / 365, t, n, 3, " year");
+      }
+      function g(e, t, n) {
+        if (null === e) return { text: "" };
+        if (0 === e) return { text: "0", suffix: " " + n + "s" };
+        if (e < 0) {
+          var r = g(-e, t, n);
+          return r.suffix || (r.suffix = ""), (r.suffix += " ago"), r;
+        }
+        var o = [
+          { long: a.Year },
+          { long: a.Month },
+          { long: a.Week },
+          { long: a.Day },
+          { long: a.Hour },
+          { long: a.Minute },
+          { long: a.Second },
+          { long: a.Millisecond },
+        ];
+        e *= 1e3 * l[n];
+        var i = [],
+          s = !1,
+          c = 0;
+        (null === t && void 0 === t) || (c = t);
+        for (var u = 0; u < o.length && c >= 0; u++) {
+          var f = 1e3 * l[o[u].long],
+            d = e / f;
+          if (d >= 1 || s) {
+            s = !0;
+            var p = Math.floor(d),
+              h = o[u].long + (1 !== p ? "s" : "");
+            i.push(p + " " + h), (e %= f), c--;
+          }
+        }
+        return { text: i.join(", ") };
+      }
+      function b(e, t) {
+        if (null === e) return { text: "" };
+        if (e < 1e3) return { text: Object(o.i)(e).format("SSS\\m\\s") };
+        if (e < 6e4) {
+          var n = "ss\\s:SSS\\m\\s";
+          return 0 === t && (n = "ss\\s"), { text: Object(o.i)(e).format(n) };
+        }
+        if (e < 36e5) {
+          var r = "mm\\m:ss\\s:SSS\\m\\s";
+          return (
+            0 === t ? (r = "mm\\m") : 1 === t && (r = "mm\\m:ss\\s"),
+            { text: Object(o.i)(e).format(r) }
+          );
+        }
+        var a = "mm\\m:ss\\s:SSS\\m\\s",
+          i = "".concat(
+            ("0" + Math.floor(Object(o.h)(e, "milliseconds").asHours())).slice(
+              -2
+            ),
+            "h"
+          );
+        return (
+          0 === t
+            ? (a = "")
+            : 1 === t
+            ? (a = "mm\\m")
+            : 2 === t && (a = "mm\\m:ss\\s"),
+          { text: a ? "".concat(i, ":").concat(Object(o.i)(e).format(a)) : i }
+        );
+      }
+      function v(e, t) {
+        return g(e, t, a.Millisecond);
+      }
+      function y(e, t) {
+        return g(e, t, a.Second);
+      }
+      function w(e) {
+        if (e < 0) {
+          var t = w(-e);
+          return t.suffix || (t.suffix = ""), (t.suffix += " ago"), t;
+        }
+        var n = [],
+          r = Math.floor(e / 3600),
+          a = Math.floor((e % 3600) / 60),
+          o = Math.floor((e % 3600) % 60);
+        return (
+          r > 9 ? n.push("" + r) : n.push("0" + r),
+          a > 9 ? n.push("" + a) : n.push("0" + a),
+          o > 9 ? n.push("" + o) : n.push("0" + o),
+          { text: n.join(":") }
+        );
+      }
+      function O(e, t, n) {
+        return d(e / 100, t, n);
+      }
+      function x(e, t) {
+        return b(e, t);
+      }
+      function k(e, t) {
+        return b(1e3 * e, t);
+      }
+      function j(e, t) {
+        return function (n, r, a, i) {
+          var l = "utc" === i ? Object(o.i)(n) : Object(o.b)(n);
+          return t && Object(o.b)().isSame(n, "day")
+            ? { text: l.format(t) }
+            : { text: l.format(e) };
+        };
+      }
+      var S = j("YYYY-MM-DD HH:mm:ss", "HH:mm:ss"),
+        E = j("MM/DD/YYYY h:mm:ss a", "h:mm:ss a");
+      function C(e, t, n, r) {
+        return {
+          text: ("utc" === r ? Object(o.i)(e) : Object(o.b)(e)).fromNow(),
+        };
+      }
+      function P(e, t) {
+        return null === e ? { text: "" } : { text: B(e, t), suffix: "%" };
+      }
+      function T(e, t) {
+        return null === e ? { text: "" } : { text: B(100 * e, t), suffix: "%" };
+      }
+      function D(e, t) {
+        if (null == e) return { text: "" };
+        var n = A(e, t);
+        return (
+          "-" === n.text.substring(0, 1)
+            ? (n.text = "-0x" + n.text.substring(1))
+            : (n.text = "0x" + n.text),
+          n
+        );
+      }
+      function A(e, t) {
+        return null == e
+          ? { text: "" }
+          : { text: parseFloat(B(e, t)).toString(16).toUpperCase() };
+      }
+      function _(e, t) {
+        return null == e ? { text: "" } : { text: e.toExponential(t) };
+      }
+      function N(e, t) {
+        var n = U(1e3, ["", "K", "M", "B", "T"]);
+        return function (r, a, o) {
+          if (null === r) return { text: "" };
+          var i = n(r, a, o);
+          return t ? (i.suffix = e) : (i.prefix = e), i;
+        };
+      }
+      function M(e) {
+        var t =
+            arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0,
+          n = ["", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei", "Zi", "Yi"].slice(t),
+          r = n.map(function (t) {
+            return " " + t + e;
+          });
+        return U(1024, r);
+      }
+      function I(e) {
+        var t =
+            arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0,
+          n = [
+            "f",
+            "p",
+            "n",
+            "µ",
+            "m",
+            "",
+            "k",
+            "M",
+            "G",
+            "T",
+            "P",
+            "E",
+            "Z",
+            "Y",
+          ],
+          r = (n = n.slice(5 + (t || 0))).map(function (t) {
+            return " " + t + e;
+          });
+        return U(1e3, r);
+      }
+      function R(e) {
+        var t, n;
+        return ""
+          .concat(null !== (t = e.prefix) && void 0 !== t ? t : "")
+          .concat(e.text)
+          .concat(null !== (n = e.suffix) && void 0 !== n ? n : "");
+      }
+      n.d(t, "a", function () {
+        return R;
+      }),
+        n.d(t, "h", function () {
+          return B;
+        }),
+        n.d(t, "i", function () {
+          return $;
+        }),
+        n.d(t, "j", function () {
+          return q;
+        }),
+        n.d(t, "f", function () {
+          return U;
+        }),
+        n.d(t, "e", function () {
+          return z;
+        }),
+        n.d(t, "g", function () {
+          return H;
+        }),
+        n.d(t, "b", function () {
+          return W;
+        }),
+        n.d(t, "d", function () {
+          return Q;
+        }),
+        n.d(t, "c", function () {
+          return Y;
+        });
+      var F = [],
+        L = {},
+        V = !1;
+      function B(e, t) {
+        if (null === e) return "";
+        if (e === Number.NEGATIVE_INFINITY || e === Number.POSITIVE_INFINITY)
+          return e.toLocaleString();
+        var n = t ? Math.pow(10, Math.max(0, t)) : 1,
+          r = String(Math.round(e * n) / n);
+        if (-1 !== r.indexOf("e") || 0 === e) return r;
+        if (null != t) {
+          var a = r.indexOf("."),
+            o = -1 === a ? 0 : r.length - a - 1;
+          if (o < t) return (o ? r : r + ".") + String(n).substr(1, t - o);
+        }
+        return r;
+      }
+      function $(e, t, n, r, a) {
+        return null == n
+          ? { text: B(e, t), suffix: a }
+          : { text: B(e, n + r), suffix: a };
+      }
+      function q(e, t) {
+        return function (n, r) {
+          if (null === n) return { text: "" };
+          var a = B(n, r);
+          return e
+            ? t
+              ? { text: a, prefix: e }
+              : { text: a, suffix: " " + e }
+            : { text: a };
+        };
+      }
+      function U(e, t) {
+        return function (n, r, a) {
+          if (null === n) return { text: "" };
+          if (
+            n === Number.NEGATIVE_INFINITY ||
+            n === Number.POSITIVE_INFINITY ||
+            isNaN(n)
+          )
+            return { text: n.toLocaleString() };
+          for (var o = 0, i = t.length; Math.abs(n) >= e; )
+            if ((o++, (n /= e), o >= i)) return { text: "NA" };
+          return (
+            o > 0 && null != a && (r = a + 3 * o),
+            { text: B(n, r), suffix: t[o] }
+          );
+        };
+      }
+      function z(e, t) {
+        return null == e
+          ? { text: "" }
+          : { text: e.toLocaleString(void 0, { maximumFractionDigits: t }) };
+      }
+      function H(e) {
+        var t = U(1e3, ["", "K", "M", "B", "T"]);
+        return function (n, r, a) {
+          if (null === n) return { text: "" };
+          var o = t(n, r, a);
+          return (o.suffix += " " + e), o;
+        };
+      }
+      function G() {
+        F = [
+          {
+            name: "Misc",
+            formats: [
+              { name: "none", id: "none", fn: q("") },
+              {
+                name: "short",
+                id: "short",
+                fn: U(1e3, [
+                  "",
+                  " K",
+                  " Mil",
+                  " Bil",
+                  " Tri",
+                  " Quadr",
+                  " Quint",
+                  " Sext",
+                  " Sept",
+                ]),
+              },
+              { name: "percent (0-100)", id: "percent", fn: P },
+              { name: "percent (0.0-1.0)", id: "percentunit", fn: T },
+              { name: "Humidity (%H)", id: "humidity", fn: q("%H") },
+              { name: "decibel", id: "dB", fn: q("dB") },
+              { name: "hexadecimal (0x)", id: "hex0x", fn: D },
+              { name: "hexadecimal", id: "hex", fn: A },
+              { name: "scientific notation", id: "sci", fn: _ },
+              { name: "locale format", id: "locale", fn: z },
+              { name: "Pixels", id: "pixel", fn: q("px") },
+            ],
+          },
+          {
+            name: "Acceleration",
+            formats: [
+              { name: "Meters/sec²", id: "accMS2", fn: q("m/sec²") },
+              { name: "Feet/sec²", id: "accFS2", fn: q("f/sec²") },
+              { name: "G unit", id: "accG", fn: q("g") },
+            ],
+          },
+          {
+            name: "Angle",
+            formats: [
+              { name: "Degrees (°)", id: "degree", fn: q("°") },
+              { name: "Radians", id: "radian", fn: q("rad") },
+              { name: "Gradian", id: "grad", fn: q("grad") },
+              { name: "Arc Minutes", id: "arcmin", fn: q("arcmin") },
+              { name: "Arc Seconds", id: "arcsec", fn: q("arcsec") },
+            ],
+          },
+          {
+            name: "Area",
+            formats: [
+              { name: "Square Meters (m²)", id: "areaM2", fn: q("m²") },
+              { name: "Square Feet (ft²)", id: "areaF2", fn: q("ft²") },
+              { name: "Square Miles (mi²)", id: "areaMI2", fn: q("mi²") },
+            ],
+          },
+          {
+            name: "Computation",
+            formats: [
+              { name: "FLOP/s", id: "flops", fn: I("FLOP/s") },
+              { name: "MFLOP/s", id: "mflops", fn: I("FLOP/s", 2) },
+              { name: "GFLOP/s", id: "gflops", fn: I("FLOP/s", 3) },
+              { name: "TFLOP/s", id: "tflops", fn: I("FLOP/s", 4) },
+              { name: "PFLOP/s", id: "pflops", fn: I("FLOP/s", 5) },
+              { name: "EFLOP/s", id: "eflops", fn: I("FLOP/s", 6) },
+              { name: "ZFLOP/s", id: "zflops", fn: I("FLOP/s", 7) },
+              { name: "YFLOP/s", id: "yflops", fn: I("FLOP/s", 8) },
+            ],
+          },
+          {
+            name: "Concentration",
+            formats: [
+              { name: "parts-per-million (ppm)", id: "ppm", fn: q("ppm") },
+              { name: "parts-per-billion (ppb)", id: "conppb", fn: q("ppb") },
+              {
+                name: "nanogram per cubic meter (ng/m³)",
+                id: "conngm3",
+                fn: q("ng/m³"),
+              },
+              {
+                name: "nanogram per normal cubic meter (ng/Nm³)",
+                id: "conngNm3",
+                fn: q("ng/Nm³"),
+              },
+              {
+                name: "microgram per cubic meter (μg/m³)",
+                id: "conμgm3",
+                fn: q("μg/m³"),
+              },
+              {
+                name: "microgram per normal cubic meter (μg/Nm³)",
+                id: "conμgNm3",
+                fn: q("μg/Nm³"),
+              },
+              {
+                name: "milligram per cubic meter (mg/m³)",
+                id: "conmgm3",
+                fn: q("mg/m³"),
+              },
+              {
+                name: "milligram per normal cubic meter (mg/Nm³)",
+                id: "conmgNm3",
+                fn: q("mg/Nm³"),
+              },
+              {
+                name: "gram per cubic meter (g/m³)",
+                id: "congm3",
+                fn: q("g/m³"),
+              },
+              {
+                name: "gram per normal cubic meter (g/Nm³)",
+                id: "congNm3",
+                fn: q("g/Nm³"),
+              },
+              {
+                name: "milligrams per decilitre (mg/dL)",
+                id: "conmgdL",
+                fn: q("mg/dL"),
+              },
+              {
+                name: "millimoles per litre (mmol/L)",
+                id: "conmmolL",
+                fn: q("mmol/L"),
+              },
+            ],
+          },
+          {
+            name: "Currency",
+            formats: [
+              { name: "Dollars ($)", id: "currencyUSD", fn: N("$") },
+              { name: "Pounds (£)", id: "currencyGBP", fn: N("£") },
+              { name: "Euro (€)", id: "currencyEUR", fn: N("€") },
+              { name: "Yen (Â¥)", id: "currencyJPY", fn: N("Â¥") },
+              { name: "Rubles (₽)", id: "currencyRUB", fn: N("₽") },
+              { name: "Hryvnias (â‚´)", id: "currencyUAH", fn: N("â‚´") },
+              { name: "Real (R$)", id: "currencyBRL", fn: N("R$") },
+              { name: "Danish Krone (kr)", id: "currencyDKK", fn: N("kr", !0) },
+              {
+                name: "Icelandic Króna (kr)",
+                id: "currencyISK",
+                fn: N("kr", !0),
+              },
+              {
+                name: "Norwegian Krone (kr)",
+                id: "currencyNOK",
+                fn: N("kr", !0),
+              },
+              {
+                name: "Swedish Krona (kr)",
+                id: "currencySEK",
+                fn: N("kr", !0),
+              },
+              { name: "Czech koruna (czk)", id: "currencyCZK", fn: N("czk") },
+              { name: "Swiss franc (CHF)", id: "currencyCHF", fn: N("CHF") },
+              { name: "Polish Złoty (PLN)", id: "currencyPLN", fn: N("PLN") },
+              { name: "Bitcoin (฿)", id: "currencyBTC", fn: N("฿") },
+              { name: "South African Rand (R)", id: "currencyZAR", fn: N("R") },
+              { name: "Indian Rupee (₹)", id: "currencyINR", fn: N("₹") },
+              { name: "South Korean Won (â‚©)", id: "currencyKRW", fn: N("â‚©") },
+            ],
+          },
+          {
+            name: "Data (IEC)",
+            formats: [
+              { name: "bits", id: "bits", fn: M("b") },
+              { name: "bytes", id: "bytes", fn: M("B") },
+              { name: "kibibytes", id: "kbytes", fn: M("B", 1) },
+              { name: "mebibytes", id: "mbytes", fn: M("B", 2) },
+              { name: "gibibytes", id: "gbytes", fn: M("B", 3) },
+              { name: "tebibytes", id: "tbytes", fn: M("B", 4) },
+              { name: "pebibytes", id: "pbytes", fn: M("B", 5) },
+            ],
+          },
+          {
+            name: "Data (Metric)",
+            formats: [
+              { name: "bits", id: "decbits", fn: I("b") },
+              { name: "bytes", id: "decbytes", fn: I("B") },
+              { name: "kilobytes", id: "deckbytes", fn: I("B", 1) },
+              { name: "megabytes", id: "decmbytes", fn: I("B", 2) },
+              { name: "gigabytes", id: "decgbytes", fn: I("B", 3) },
+              { name: "terabytes", id: "dectbytes", fn: I("B", 4) },
+              { name: "petabytes", id: "decpbytes", fn: I("B", 5) },
+            ],
+          },
+          {
+            name: "Data Rate",
+            formats: [
+              { name: "packets/sec", id: "pps", fn: I("pps") },
+              { name: "bits/sec", id: "bps", fn: I("bps") },
+              { name: "bytes/sec", id: "Bps", fn: I("Bs") },
+              { name: "kilobytes/sec", id: "KBs", fn: I("Bs", 1) },
+              { name: "kilobits/sec", id: "Kbits", fn: I("bps", 1) },
+              { name: "megabytes/sec", id: "MBs", fn: I("Bs", 2) },
+              { name: "megabits/sec", id: "Mbits", fn: I("bps", 2) },
+              { name: "gigabytes/sec", id: "GBs", fn: I("Bs", 3) },
+              { name: "gigabits/sec", id: "Gbits", fn: I("bps", 3) },
+              { name: "terabytes/sec", id: "TBs", fn: I("Bs", 4) },
+              { name: "terabits/sec", id: "Tbits", fn: I("bps", 4) },
+              { name: "petabytes/sec", id: "PBs", fn: I("Bs", 5) },
+              { name: "petabits/sec", id: "Pbits", fn: I("bps", 5) },
+            ],
+          },
+          {
+            name: "Date & Time",
+            formats: [
+              { name: "YYYY-MM-DD HH:mm:ss", id: "dateTimeAsIso", fn: S },
+              { name: "MM/DD/YYYY h:mm:ss a", id: "dateTimeAsUS", fn: E },
+              { name: "From Now", id: "dateTimeFromNow", fn: C },
+            ],
+          },
+          {
+            name: "Energy",
+            formats: [
+              { name: "Watt (W)", id: "watt", fn: I("W") },
+              { name: "Kilowatt (kW)", id: "kwatt", fn: I("W", 1) },
+              { name: "Megawatt (MW)", id: "megwatt", fn: I("W", 2) },
+              { name: "Gigawatt (GW)", id: "gwatt", fn: I("W", 3) },
+              { name: "Milliwatt (mW)", id: "mwatt", fn: I("W", -1) },
+              {
+                name: "Watt per square meter (W/m²)",
+                id: "Wm2",
+                fn: q("W/m²"),
+              },
+              { name: "Volt-ampere (VA)", id: "voltamp", fn: I("VA") },
+              { name: "Kilovolt-ampere (kVA)", id: "kvoltamp", fn: I("VA", 1) },
+              {
+                name: "Volt-ampere reactive (var)",
+                id: "voltampreact",
+                fn: I("var"),
+              },
+              {
+                name: "Kilovolt-ampere reactive (kvar)",
+                id: "kvoltampreact",
+                fn: I("var", 1),
+              },
+              { name: "Watt-hour (Wh)", id: "watth", fn: I("Wh") },
+              {
+                name: "Watt-hour per Kilogram (Wh/kg)",
+                id: "watthperkg",
+                fn: I("Wh/kg"),
+              },
+              { name: "Kilowatt-hour (kWh)", id: "kwatth", fn: I("Wh", 1) },
+              { name: "Kilowatt-min (kWm)", id: "kwattm", fn: I("W-Min", 1) },
+              { name: "Ampere-hour (Ah)", id: "amph", fn: I("Ah") },
+              { name: "Kiloampere-hour (kAh)", id: "kamph", fn: I("Ah", 1) },
+              { name: "Milliampere-hour (mAh)", id: "mamph", fn: I("Ah", -1) },
+              { name: "Joule (J)", id: "joule", fn: I("J") },
+              { name: "Electron volt (eV)", id: "ev", fn: I("eV") },
+              { name: "Ampere (A)", id: "amp", fn: I("A") },
+              { name: "Kiloampere (kA)", id: "kamp", fn: I("A", 1) },
+              { name: "Milliampere (mA)", id: "mamp", fn: I("A", -1) },
+              { name: "Volt (V)", id: "volt", fn: I("V") },
+              { name: "Kilovolt (kV)", id: "kvolt", fn: I("V", 1) },
+              { name: "Millivolt (mV)", id: "mvolt", fn: I("V", -1) },
+              { name: "Decibel-milliwatt (dBm)", id: "dBm", fn: I("dBm") },
+              { name: "Ohm (Ω)", id: "ohm", fn: I("Ω") },
+              { name: "Kiloohm (kΩ)", id: "kohm", fn: I("Ω", 1) },
+              { name: "Megaohm (MΩ)", id: "Mohm", fn: I("Ω", 2) },
+              { name: "Farad (F)", id: "farad", fn: I("F") },
+              { name: "Microfarad (µF)", id: "µfarad", fn: I("F", -2) },
+              { name: "Nanofarad (nF)", id: "nfarad", fn: I("F", -3) },
+              { name: "Picofarad (pF)", id: "pfarad", fn: I("F", -4) },
+              { name: "Femtofarad (fF)", id: "ffarad", fn: I("F", -5) },
+              { name: "Henry (H)", id: "henry", fn: I("H") },
+              { name: "Millihenry (mH)", id: "mhenry", fn: I("H", -1) },
+              { name: "Microhenry (µH)", id: "µhenry", fn: I("H", -2) },
+              { name: "Lumens (Lm)", id: "lumens", fn: I("Lm") },
+            ],
+          },
+          {
+            name: "Flow",
+            formats: [
+              { name: "Gallons/min (gpm)", id: "flowgpm", fn: q("gpm") },
+              { name: "Cubic meters/sec (cms)", id: "flowcms", fn: q("cms") },
+              { name: "Cubic feet/sec (cfs)", id: "flowcfs", fn: q("cfs") },
+              { name: "Cubic feet/min (cfm)", id: "flowcfm", fn: q("cfm") },
+              { name: "Litre/hour", id: "litreh", fn: q("L/h") },
+              { name: "Litre/min (L/min)", id: "flowlpm", fn: q("L/min") },
+              {
+                name: "milliLitre/min (mL/min)",
+                id: "flowmlpm",
+                fn: q("mL/min"),
+              },
+              { name: "Lux (lx)", id: "lux", fn: q("lux") },
+            ],
+          },
+          {
+            name: "Force",
+            formats: [
+              { name: "Newton-meters (Nm)", id: "forceNm", fn: I("Nm") },
+              {
+                name: "Kilonewton-meters (kNm)",
+                id: "forcekNm",
+                fn: I("Nm", 1),
+              },
+              { name: "Newtons (N)", id: "forceN", fn: I("N") },
+              { name: "Kilonewtons (kN)", id: "forcekN", fn: I("N", 1) },
+            ],
+          },
+          {
+            name: "Hash Rate",
+            formats: [
+              { name: "hashes/sec", id: "Hs", fn: I("H/s") },
+              { name: "kilohashes/sec", id: "KHs", fn: I("H/s", 1) },
+              { name: "megahashes/sec", id: "MHs", fn: I("H/s", 2) },
+              { name: "gigahashes/sec", id: "GHs", fn: I("H/s", 3) },
+              { name: "terahashes/sec", id: "THs", fn: I("H/s", 4) },
+              { name: "petahashes/sec", id: "PHs", fn: I("H/s", 5) },
+              { name: "exahashes/sec", id: "EHs", fn: I("H/s", 6) },
+            ],
+          },
+          {
+            name: "Mass",
+            formats: [
+              { name: "milligram (mg)", id: "massmg", fn: I("g", -1) },
+              { name: "gram (g)", id: "massg", fn: I("g") },
+              { name: "kilogram (kg)", id: "masskg", fn: I("g", 1) },
+              { name: "metric ton (t)", id: "masst", fn: q("t") },
+            ],
+          },
+          {
+            name: "length",
+            formats: [
+              { name: "millimeter (mm)", id: "lengthmm", fn: I("m", -1) },
+              { name: "feet (ft)", id: "lengthft", fn: q("ft") },
+              { name: "meter (m)", id: "lengthm", fn: I("m") },
+              { name: "kilometer (km)", id: "lengthkm", fn: I("m", 1) },
+              { name: "mile (mi)", id: "lengthmi", fn: q("mi") },
+            ],
+          },
+          {
+            name: "Pressure",
+            formats: [
+              { name: "Millibars", id: "pressurembar", fn: I("bar", -1) },
+              { name: "Bars", id: "pressurebar", fn: I("bar") },
+              { name: "Kilobars", id: "pressurekbar", fn: I("bar", 1) },
+              { name: "Hectopascals", id: "pressurehpa", fn: q("hPa") },
+              { name: "Kilopascals", id: "pressurekpa", fn: q("kPa") },
+              { name: "Inches of mercury", id: "pressurehg", fn: q('"Hg') },
+              {
+                name: "PSI",
+                id: "pressurepsi",
+                fn: U(1e3, ["psi", "ksi", "Mpsi"]),
+              },
+            ],
+          },
+          {
+            name: "Radiation",
+            formats: [
+              { name: "Becquerel (Bq)", id: "radbq", fn: I("Bq") },
+              { name: "curie (Ci)", id: "radci", fn: I("Ci") },
+              { name: "Gray (Gy)", id: "radgy", fn: I("Gy") },
+              { name: "rad", id: "radrad", fn: I("rad") },
+              { name: "Sievert (Sv)", id: "radsv", fn: I("Sv") },
+              { name: "milliSievert (mSv)", id: "radmsv", fn: I("mSv", -1) },
+              { name: "microSievert (µSv)", id: "radusv", fn: I("µSv", -2) },
+              { name: "rem", id: "radrem", fn: I("rem") },
+              { name: "Exposure (C/kg)", id: "radexpckg", fn: I("C/kg") },
+              { name: "roentgen (R)", id: "radr", fn: I("R") },
+              { name: "Sievert/hour (Sv/h)", id: "radsvh", fn: I("Sv/h") },
+              {
+                name: "milliSievert/hour (mSv/h)",
+                id: "radmsvh",
+                fn: I("Sv/h", -1),
+              },
+              {
+                name: "microSievert/hour (µSv/h)",
+                id: "radusvh",
+                fn: I("Sv/h", -2),
+              },
+            ],
+          },
+          {
+            name: "Temperature",
+            formats: [
+              { name: "Celsius (°C)", id: "celsius", fn: q("°C") },
+              { name: "Fahrenheit (°F)", id: "fahrenheit", fn: q("°F") },
+              { name: "Kelvin (K)", id: "kelvin", fn: q("K") },
+            ],
+          },
+          {
+            name: "Time",
+            formats: [
+              { name: "Hertz (1/s)", id: "hertz", fn: I("Hz") },
+              { name: "nanoseconds (ns)", id: "ns", fn: s },
+              { name: "microseconds (µs)", id: "µs", fn: c },
+              { name: "milliseconds (ms)", id: "ms", fn: u },
+              { name: "seconds (s)", id: "s", fn: d },
+              { name: "minutes (m)", id: "m", fn: p },
+              { name: "hours (h)", id: "h", fn: h },
+              { name: "days (d)", id: "d", fn: m },
+              { name: "duration (ms)", id: "dtdurationms", fn: v },
+              { name: "duration (s)", id: "dtdurations", fn: y },
+              { name: "duration (hh:mm:ss)", id: "dthms", fn: w },
+              { name: "Timeticks (s/100)", id: "timeticks", fn: O },
+              { name: "clock (ms)", id: "clockms", fn: x },
+              { name: "clock (s)", id: "clocks", fn: k },
+            ],
+          },
+          {
+            name: "Throughput",
+            formats: [
+              { name: "counts/sec (cps)", id: "cps", fn: H("cps") },
+              { name: "ops/sec (ops)", id: "ops", fn: H("ops") },
+              { name: "requests/sec (rps)", id: "reqps", fn: H("reqps") },
+              { name: "reads/sec (rps)", id: "rps", fn: H("rps") },
+              { name: "writes/sec (wps)", id: "wps", fn: H("wps") },
+              { name: "I/O ops/sec (iops)", id: "iops", fn: H("iops") },
+              { name: "counts/min (cpm)", id: "cpm", fn: H("cpm") },
+              { name: "ops/min (opm)", id: "opm", fn: H("opm") },
+              { name: "reads/min (rpm)", id: "rpm", fn: H("rpm") },
+              { name: "writes/min (wpm)", id: "wpm", fn: H("wpm") },
+            ],
+          },
+          {
+            name: "Velocity",
+            formats: [
+              { name: "meters/second (m/s)", id: "velocityms", fn: q("m/s") },
+              {
+                name: "kilometers/hour (km/h)",
+                id: "velocitykmh",
+                fn: q("km/h"),
+              },
+              { name: "miles/hour (mph)", id: "velocitymph", fn: q("mph") },
+              { name: "knot (kn)", id: "velocityknot", fn: q("kn") },
+            ],
+          },
+          {
+            name: "Volume",
+            formats: [
+              { name: "millilitre (mL)", id: "mlitre", fn: I("L", -1) },
+              { name: "litre (L)", id: "litre", fn: I("L") },
+              { name: "cubic meter", id: "m3", fn: q("m³") },
+              { name: "Normal cubic meter", id: "Nm3", fn: q("Nm³") },
+              { name: "cubic decimeter", id: "dm3", fn: q("dm³") },
+              { name: "gallons", id: "gallons", fn: q("gal") },
+            ],
+          },
+        ];
+        var e = !0,
+          t = !1,
+          n = void 0;
+        try {
+          for (
+            var r, a = F[Symbol.iterator]();
+            !(e = (r = a.next()).done);
+            e = !0
+          ) {
+            var o = r.value,
+              i = !0,
+              l = !1,
+              f = void 0;
+            try {
+              for (
+                var g, b = o.formats[Symbol.iterator]();
+                !(i = (g = b.next()).done);
+                i = !0
+              ) {
+                var j = g.value;
+                L[j.id] = j.fn;
+              }
+            } catch (e) {
+              (l = !0), (f = e);
+            } finally {
+              try {
+                i || null == b.return || b.return();
+              } finally {
+                if (l) throw f;
+              }
+            }
+          }
+        } catch (e) {
+          (t = !0), (n = e);
+        } finally {
+          try {
+            e || null == a.return || a.return();
+          } finally {
+            if (t) throw n;
+          }
+        }
+        [{ from: "farenheit", to: "fahrenheit" }].forEach(function (e) {
+          var t = L[e.to];
+          t && (L[e.from] = t);
+        }),
+          (V = !0);
+      }
+      function W(e) {
+        if (!e) return q("");
+        V || G();
+        var t = L[e];
+        if (!t && e) {
+          var n = e.indexOf(":");
+          if (n > 0) {
+            var r = e.substring(0, n),
+              a = e.substring(n + 1);
+            if ("prefix" === r) return q(a, !0);
+            if ("time" === r) return j(a);
+            if ("si" === r) {
+              var o = (function (e) {
+                switch (e) {
+                  case "f":
+                    return -5;
+                  case "p":
+                    return -4;
+                  case "n":
+                    return -3;
+                  case "μ":
+                  case "µ":
+                    return -2;
+                  case "m":
+                    return -1;
+                  case "":
+                    return 0;
+                  case "k":
+                    return 1;
+                  case "M":
+                    return 2;
+                  case "G":
+                    return 3;
+                  case "T":
+                    return 4;
+                  case "P":
+                    return 5;
+                  case "E":
+                    return 6;
+                  case "Z":
+                    return 7;
+                  case "Y":
+                    return 8;
+                }
+                return 0;
+              })(a.charAt(0));
+              return I(0 === o ? a : a.substring(1), o);
+            }
+            if ("count" === r) return H(a);
+            if ("currency" === r) return N(a);
+          }
+          return q(e);
+        }
+        return t;
+      }
+      function Q() {
+        return V || G(), L;
+      }
+      function Y() {
+        return (
+          V || G(),
+          F.map(function (e) {
+            return {
+              text: e.name,
+              submenu: e.formats.map(function (e) {
+                return { text: e.name, value: e.id };
+              }),
+            };
+          })
+        );
+      }
+    },
+    GQ3c: function (e, t, n) {
+      "use strict";
+      var r = n("ASW2");
+      n.o(r, "AppNotificationSeverity") &&
+        n.d(t, "AppNotificationSeverity", function () {
+          return r.AppNotificationSeverity;
+        }),
+        n.o(r, "AppNotificationTimeout") &&
+          n.d(t, "AppNotificationTimeout", function () {
+            return r.AppNotificationTimeout;
+          }),
+        n.o(r, "DashboardInitPhase") &&
+          n.d(t, "DashboardInitPhase", function () {
+            return r.DashboardInitPhase;
+          }),
+        n.o(r, "DashboardRouteInfo") &&
+          n.d(t, "DashboardRouteInfo", function () {
+            return r.DashboardRouteInfo;
+          }),
+        n.o(r, "KIOSK_MODE_TV") &&
+          n.d(t, "KIOSK_MODE_TV", function () {
+            return r.KIOSK_MODE_TV;
+          }),
+        n.o(r, "OrgRole") &&
+          n.d(t, "OrgRole", function () {
+            return r.OrgRole;
+          }),
+        n.o(r, "TeamPermissionLevel") &&
+          n.d(t, "TeamPermissionLevel", function () {
+            return r.TeamPermissionLevel;
+          }),
+        n.o(r, "teamsPermissionLevels") &&
+          n.d(t, "teamsPermissionLevels", function () {
+            return r.teamsPermissionLevels;
+          });
+      var a = n("HFoM");
+      n.o(a, "AppNotificationSeverity") &&
+        n.d(t, "AppNotificationSeverity", function () {
+          return a.AppNotificationSeverity;
+        }),
+        n.o(a, "AppNotificationTimeout") &&
+          n.d(t, "AppNotificationTimeout", function () {
+            return a.AppNotificationTimeout;
+          }),
+        n.o(a, "DashboardInitPhase") &&
+          n.d(t, "DashboardInitPhase", function () {
+            return a.DashboardInitPhase;
+          }),
+        n.o(a, "DashboardRouteInfo") &&
+          n.d(t, "DashboardRouteInfo", function () {
+            return a.DashboardRouteInfo;
+          }),
+        n.o(a, "KIOSK_MODE_TV") &&
+          n.d(t, "KIOSK_MODE_TV", function () {
+            return a.KIOSK_MODE_TV;
+          }),
+        n.o(a, "OrgRole") &&
+          n.d(t, "OrgRole", function () {
+            return a.OrgRole;
+          }),
+        n.o(a, "TeamPermissionLevel") &&
+          n.d(t, "TeamPermissionLevel", function () {
+            return a.TeamPermissionLevel;
+          }),
+        n.o(a, "teamsPermissionLevels") &&
+          n.d(t, "teamsPermissionLevels", function () {
+            return a.teamsPermissionLevels;
+          });
+      var o = n("hU0f");
+      n.o(o, "AppNotificationSeverity") &&
+        n.d(t, "AppNotificationSeverity", function () {
+          return o.AppNotificationSeverity;
+        }),
+        n.o(o, "AppNotificationTimeout") &&
+          n.d(t, "AppNotificationTimeout", function () {
+            return o.AppNotificationTimeout;
+          }),
+        n.o(o, "DashboardInitPhase") &&
+          n.d(t, "DashboardInitPhase", function () {
+            return o.DashboardInitPhase;
+          }),
+        n.o(o, "DashboardRouteInfo") &&
+          n.d(t, "DashboardRouteInfo", function () {
+            return o.DashboardRouteInfo;
+          }),
+        n.o(o, "KIOSK_MODE_TV") &&
+          n.d(t, "KIOSK_MODE_TV", function () {
+            return o.KIOSK_MODE_TV;
+          }),
+        n.o(o, "OrgRole") &&
+          n.d(t, "OrgRole", function () {
+            return o.OrgRole;
+          }),
+        n.o(o, "TeamPermissionLevel") &&
+          n.d(t, "TeamPermissionLevel", function () {
+            return o.TeamPermissionLevel;
+          }),
+        n.o(o, "teamsPermissionLevels") &&
+          n.d(t, "teamsPermissionLevels", function () {
+            return o.teamsPermissionLevels;
+          });
+      var i = n("LUja");
+      n.o(i, "AppNotificationSeverity") &&
+        n.d(t, "AppNotificationSeverity", function () {
+          return i.AppNotificationSeverity;
+        }),
+        n.o(i, "AppNotificationTimeout") &&
+          n.d(t, "AppNotificationTimeout", function () {
+            return i.AppNotificationTimeout;
+          }),
+        n.o(i, "DashboardInitPhase") &&
+          n.d(t, "DashboardInitPhase", function () {
+            return i.DashboardInitPhase;
+          }),
+        n.o(i, "DashboardRouteInfo") &&
+          n.d(t, "DashboardRouteInfo", function () {
+            return i.DashboardRouteInfo;
+          }),
+        n.o(i, "KIOSK_MODE_TV") &&
+          n.d(t, "KIOSK_MODE_TV", function () {
+            return i.KIOSK_MODE_TV;
+          }),
+        n.o(i, "OrgRole") &&
+          n.d(t, "OrgRole", function () {
+            return i.OrgRole;
+          }),
+        n.o(i, "TeamPermissionLevel") &&
+          n.d(t, "TeamPermissionLevel", function () {
+            return i.TeamPermissionLevel;
+          }),
+        n.o(i, "teamsPermissionLevels") &&
+          n.d(t, "teamsPermissionLevels", function () {
+            return i.teamsPermissionLevels;
+          });
+      var l = n("2L+O");
+      n.d(t, "DashboardInitPhase", function () {
+        return l.a;
+      }),
+        n.d(t, "DashboardRouteInfo", function () {
+          return l.b;
+        }),
+        n.d(t, "KIOSK_MODE_TV", function () {
+          return l.c;
+        });
+      var s = n("9iwZ");
+      n.d(t, "OrgRole", function () {
+        return s.b;
+      }),
+        n.d(t, "TeamPermissionLevel", function () {
+          return s.d;
+        }),
+        n.d(t, "teamsPermissionLevels", function () {
+          return s.g;
+        });
+      var c = n("tOGo");
+      n.o(c, "AppNotificationSeverity") &&
+        n.d(t, "AppNotificationSeverity", function () {
+          return c.AppNotificationSeverity;
+        }),
+        n.o(c, "AppNotificationTimeout") &&
+          n.d(t, "AppNotificationTimeout", function () {
+            return c.AppNotificationTimeout;
+          });
+      var u = n("nHyz");
+      n.o(u, "AppNotificationSeverity") &&
+        n.d(t, "AppNotificationSeverity", function () {
+          return u.AppNotificationSeverity;
+        }),
+        n.o(u, "AppNotificationTimeout") &&
+          n.d(t, "AppNotificationTimeout", function () {
+            return u.AppNotificationTimeout;
+          });
+      var f = n("SZug");
+      n.o(f, "AppNotificationSeverity") &&
+        n.d(t, "AppNotificationSeverity", function () {
+          return f.AppNotificationSeverity;
+        }),
+        n.o(f, "AppNotificationTimeout") &&
+          n.d(t, "AppNotificationTimeout", function () {
+            return f.AppNotificationTimeout;
+          });
+      var d = n("HXnQ");
+      n.o(d, "AppNotificationSeverity") &&
+        n.d(t, "AppNotificationSeverity", function () {
+          return d.AppNotificationSeverity;
+        }),
+        n.o(d, "AppNotificationTimeout") &&
+          n.d(t, "AppNotificationTimeout", function () {
+            return d.AppNotificationTimeout;
+          });
+      var p = n("o85q");
+      n.o(p, "AppNotificationSeverity") &&
+        n.d(t, "AppNotificationSeverity", function () {
+          return p.AppNotificationSeverity;
+        }),
+        n.o(p, "AppNotificationTimeout") &&
+          n.d(t, "AppNotificationTimeout", function () {
+            return p.AppNotificationTimeout;
+          });
+      var h = n("TKrP");
+      n.d(t, "AppNotificationSeverity", function () {
+        return h.a;
+      }),
+        n.d(t, "AppNotificationTimeout", function () {
+          return h.b;
+        });
+      n("2l57"), n("sBLX"), n("PGgk"), n("OQpy"), n("KBRh"), n("94Nu");
+      var m = n("xAj+");
+      n.d(t, "CoreEvents", function () {
+        return m;
+      });
+    },
+    Gj0f: function (e, t, n) {
+      "use strict";
+      n.r(t);
+      var r = n("sjC4");
+      for (var a in r)
+        "default" !== a &&
+          (function (e) {
+            n.d(t, e, function () {
+              return r[e];
+            });
+          })(a);
+      var o = n("0Rz9");
+      for (var a in o)
+        "default" !== a &&
+          (function (e) {
+            n.d(t, e, function () {
+              return o[e];
+            });
+          })(a);
+      var i = n("2r/H");
+      n.d(t, "CompletionItemKind", function () {
+        return i.a;
+      });
+      var l = n("XQMu");
+      for (var a in l)
+        ["CompletionItemKind", "default"].indexOf(a) < 0 &&
+          (function (e) {
+            n.d(t, e, function () {
+              return l[e];
+            });
+          })(a);
+    },
+    GkHB: function (e, t, n) {
+      "use strict";
+      n.d(t, "d", function () {
+        return x;
+      }),
+        n.d(t, "b", function () {
+          return S;
+        }),
+        n.d(t, "a", function () {
+          return E;
+        }),
+        n.d(t, "e", function () {
+          return P;
+        }),
+        n.d(t, "c", function () {
+          return T;
+        });
+      var r = n("LvDl"),
+        a = n.n(r),
+        o = n("5kRJ"),
+        i = n("txxJ"),
+        l = n("0Mjz"),
+        s = n("VX0D"),
+        c = n("ZFWI"),
+        u = n("UIT+"),
+        f = n("kDLi"),
+        d = n("Obii");
+      function p(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function h(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function m(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function g(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      var b,
+        v = [
+          {
+            value: "".concat(f.DataLinkBuiltInVars.keepTime),
+            label: "Time range",
+            documentation: "Adds current time range",
+            origin: d.VariableOrigin.BuiltIn,
+          },
+          {
+            value: "".concat(f.DataLinkBuiltInVars.timeRangeFrom),
+            label: "Time range: from",
+            documentation: "Adds current time range's from value",
+            origin: d.VariableOrigin.BuiltIn,
+          },
+          {
+            value: "".concat(f.DataLinkBuiltInVars.timeRangeTo),
+            label: "Time range: to",
+            documentation: "Adds current time range's to value",
+            origin: d.VariableOrigin.BuiltIn,
+          },
+        ],
+        y = [
+          {
+            value: "".concat(f.DataLinkBuiltInVars.seriesName),
+            label: "Name",
+            documentation: "Name of the series",
+            origin: d.VariableOrigin.Series,
+          },
+        ],
+        w = [
+          {
+            value: "".concat(f.DataLinkBuiltInVars.valueNumeric),
+            label: "Numeric",
+            documentation: "Numeric representation of selected value",
+            origin: d.VariableOrigin.Value,
+          },
+          {
+            value: "".concat(f.DataLinkBuiltInVars.valueText),
+            label: "Text",
+            documentation: "Text representation of selected value",
+            origin: d.VariableOrigin.Value,
+          },
+          {
+            value: "".concat(f.DataLinkBuiltInVars.valueRaw),
+            label: "Raw",
+            documentation: "Raw value",
+            origin: d.VariableOrigin.Value,
+          },
+        ],
+        O = function (e) {
+          return e.indexOf(".") > -1 ? '["'.concat(e, '"]') : ".".concat(e);
+        },
+        x = function () {
+          return [].concat(
+            g(
+              o.b.variables.map(function (e) {
+                return {
+                  value: e.name,
+                  label: e.name,
+                  origin: d.VariableOrigin.Template,
+                };
+              })
+            ),
+            [
+              {
+                value: "".concat(f.DataLinkBuiltInVars.includeVars),
+                label: "All variables",
+                documentation: "Adds current variables",
+                origin: d.VariableOrigin.Template,
+              },
+            ],
+            v
+          );
+        },
+        k = function (e) {
+          var t = [],
+            n = !0,
+            r = !1,
+            o = void 0;
+          try {
+            for (
+              var i, l = e[Symbol.iterator]();
+              !(n = (i = l.next()).done);
+              n = !0
+            ) {
+              var s = i.value,
+                c = !0,
+                u = !1,
+                p = void 0;
+              try {
+                for (
+                  var h, m = s.fields[Symbol.iterator]();
+                  !(c = (h = m.next()).done);
+                  c = !0
+                ) {
+                  var b = h.value;
+                  if (b.labels)
+                    for (
+                      var v = 0, y = Object.keys(b.labels);
+                      v < y.length;
+                      v++
+                    ) {
+                      var w = y[v];
+                      t.push(w);
+                    }
+                }
+              } catch (e) {
+                (u = !0), (p = e);
+              } finally {
+                try {
+                  c || null == m.return || m.return();
+                } finally {
+                  if (u) throw p;
+                }
+              }
+            }
+          } catch (e) {
+            (r = !0), (o = e);
+          } finally {
+            try {
+              n || null == l.return || l.return();
+            } finally {
+              if (r) throw o;
+            }
+          }
+          var x = a.a.chain(t).flatten().uniq().value();
+          return [
+            {
+              value: "".concat(f.DataLinkBuiltInVars.fieldName),
+              label: "Name",
+              documentation:
+                "Field name of the clicked datapoint (in ms epoch)",
+              origin: d.VariableOrigin.Field,
+            },
+          ].concat(
+            g(
+              x.map(function (e) {
+                return {
+                  value: "__field.labels".concat(O(e)),
+                  label: "labels.".concat(e),
+                  documentation: "".concat(e, " label value"),
+                  origin: d.VariableOrigin.Field,
+                };
+              })
+            )
+          );
+        },
+        j = function (e) {
+          var t = void 0,
+            n = void 0,
+            r = [],
+            a = {},
+            o = !0,
+            i = !1,
+            l = void 0;
+          try {
+            for (
+              var s, c = e[Symbol.iterator]();
+              !(o = (s = c.next()).done);
+              o = !0
+            ) {
+              var u = s.value,
+                f = !0,
+                p = !1,
+                h = void 0;
+              try {
+                for (
+                  var m, g = u.fields[Symbol.iterator]();
+                  !(f = (m = g.next()).done);
+                  f = !0
+                ) {
+                  var b = m.value;
+                  a[b.name] ||
+                    (r.push({
+                      value: "__data.fields[".concat(b.name, "]"),
+                      label: "".concat(b.name),
+                      documentation: "Formatted value for ".concat(
+                        b.name,
+                        " on the same row"
+                      ),
+                      origin: d.VariableOrigin.Fields,
+                    }),
+                    (a[b.name] = !0),
+                    t || b.type !== d.FieldType.number || (t = b),
+                    !n &&
+                      b.config.title &&
+                      b.config.title !== b.name &&
+                      (n = b));
+                }
+              } catch (e) {
+                (p = !0), (h = e);
+              } finally {
+                try {
+                  f || null == g.return || g.return();
+                } finally {
+                  if (p) throw h;
+                }
+              }
+            }
+          } catch (e) {
+            (i = !0), (l = e);
+          } finally {
+            try {
+              o || null == c.return || c.return();
+            } finally {
+              if (i) throw l;
+            }
+          }
+          return (
+            r.length &&
+              r.push({
+                value: "__data.fields[0]",
+                label: "Select by index",
+                documentation: "Enter the field order",
+                origin: d.VariableOrigin.Fields,
+              }),
+            t &&
+              (r.push({
+                value: "__data.fields[".concat(t.name, "].numeric"),
+                label: "Show numeric value",
+                documentation: "the numeric field value",
+                origin: d.VariableOrigin.Fields,
+              }),
+              r.push({
+                value: "__data.fields[".concat(t.name, "].text"),
+                label: "Show text value",
+                documentation: "the text value",
+                origin: d.VariableOrigin.Fields,
+              })),
+            n &&
+              r.push({
+                value: "__data.fields[".concat(n.config.title, "]"),
+                label: "Select by title",
+                documentation: "Use the title to pick the field",
+                origin: d.VariableOrigin.Fields,
+              }),
+            r
+          );
+        },
+        S = function (e, t) {
+          var n = {
+            value: "".concat(f.DataLinkBuiltInVars.valueTime),
+            label: "Time",
+            documentation: "Time value of the clicked datapoint (in ms epoch)",
+            origin: d.VariableOrigin.Value,
+          };
+          return t === d.VariableSuggestionsScope.Values
+            ? [].concat(y, g(k(e)), w, [n], g(j(e)), g(x()))
+            : [].concat(y, g(k(e)), g(j(e)), g(x()));
+        },
+        E = function (e) {
+          var t = k(e),
+            n = {
+              value: "".concat(f.DataLinkBuiltInVars.valueCalc),
+              label: "Calculation name",
+              documentation: "Name of the calculation the value is a result of",
+              origin: d.VariableOrigin.Value,
+            };
+          return [].concat(y, g(t), w, [n], g(x()));
+        },
+        C = (function () {
+          function e(t, n) {
+            var r = this;
+            !(function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, e),
+              (this.templateSrv = t),
+              (this.timeSrv = n),
+              (this.getDataLinkUIModel = function (e, t, n) {
+                var a,
+                  o = {},
+                  i = Object(l.d)(r.timeSrv.timeRangeForUrl()),
+                  d = e.url;
+                e.onBuildUrl &&
+                  (d = e.onBuildUrl({ origin: n, scopedVars: t }));
+                var m = void 0;
+                e.onClick &&
+                  (m = function (r) {
+                    e.onClick({ origin: n, scopedVars: t, e: r });
+                  });
+                var g = {
+                  href: u.b.assureBaseUrl(d.replace(/\n/g, "")),
+                  title: r.templateSrv.replace(e.title || "", t),
+                  target: e.targetBlank ? "_blank" : "_self",
+                  origin: n,
+                  onClick: m,
+                };
+                r.templateSrv.fillVariableValuesForUrl(o, t);
+                var b = Object(l.d)(o);
+                return (
+                  (g.href = r.templateSrv.replace(
+                    g.href,
+                    (function (e) {
+                      for (var t = 1; t < arguments.length; t++) {
+                        var n = null != arguments[t] ? arguments[t] : {};
+                        t % 2
+                          ? p(Object(n), !0).forEach(function (t) {
+                              h(e, t, n[t]);
+                            })
+                          : Object.getOwnPropertyDescriptors
+                          ? Object.defineProperties(
+                              e,
+                              Object.getOwnPropertyDescriptors(n)
+                            )
+                          : p(Object(n)).forEach(function (t) {
+                              Object.defineProperty(
+                                e,
+                                t,
+                                Object.getOwnPropertyDescriptor(n, t)
+                              );
+                            });
+                      }
+                      return e;
+                    })(
+                      {},
+                      t,
+                      (h((a = {}), f.DataLinkBuiltInVars.keepTime, {
+                        text: i,
+                        value: i,
+                      }),
+                      h(a, f.DataLinkBuiltInVars.includeVars, {
+                        text: b,
+                        value: b,
+                      }),
+                      a)
+                    )
+                  )),
+                  (g.href = Object(c.c)().disableSanitizeHtml
+                    ? g.href
+                    : Object(s.d)(g.href)),
+                  g
+                );
+              });
+          }
+          var t, n, r;
+          return (
+            (e.$inject = ["templateSrv", "timeSrv"]),
+            (t = e),
+            (n = [
+              {
+                key: "getLinkUrl",
+                value: function (e) {
+                  var t = u.b.assureBaseUrl(
+                      this.templateSrv.replace(e.url || "")
+                    ),
+                    n = {};
+                  if (e.keepTime) {
+                    var r = this.timeSrv.timeRangeForUrl();
+                    (n.from = r.from), (n.to = r.to);
+                  }
+                  return (
+                    e.includeVars &&
+                      this.templateSrv.fillVariableValuesForUrl(n),
+                    (t = Object(l.a)(t, Object(l.d)(n))),
+                    Object(c.c)().disableSanitizeHtml ? t : Object(s.d)(t)
+                  );
+                },
+              },
+              {
+                key: "getAnchorInfo",
+                value: function (e) {
+                  var t = {};
+                  return (
+                    (t.href = this.getLinkUrl(e)),
+                    (t.title = this.templateSrv.replace(e.title || "")),
+                    t
+                  );
+                },
+              },
+              {
+                key: "getPanelLinkAnchorInfo",
+                value: function (e, t) {
+                  return (
+                    Object(d.deprecationWarning)(
+                      "link_srv.ts",
+                      "getPanelLinkAnchorInfo",
+                      "getDataLinkUIModel"
+                    ),
+                    this.getDataLinkUIModel(e, t, {})
+                  );
+                },
+              },
+            ]) && m(t.prototype, n),
+            r && m(t, r),
+            e
+          );
+        })();
+      function P(e) {
+        b = e;
+      }
+      function T() {
+        return b;
+      }
+      i.c.service("linkSrv", C);
+    },
+    "Gz/h": function (e, t, n) {
+      "use strict";
+      n.d(t, "c", function () {
+        return c;
+      }),
+        n.d(t, "a", function () {
+          return u;
+        });
+      var r = n("i7Pf");
+      function a(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function o(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? a(Object(n), !0).forEach(function (t) {
+                i(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : a(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function i(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var l = Object(r.c)({
+          name: "apiKeys",
+          initialState: {
+            keys: [],
+            searchQuery: "",
+            hasFetched: !1,
+            includeExpired: !1,
+          },
+          reducers: {
+            apiKeysLoaded: function (e, t) {
+              return o({}, e, { hasFetched: !0, keys: t.payload });
+            },
+            setSearchQuery: function (e, t) {
+              return o({}, e, { searchQuery: t.payload });
+            },
+          },
+        }),
+        s = l.actions,
+        c = s.setSearchQuery,
+        u = s.apiKeysLoaded,
+        f = l.reducer;
+      t.b = { apiKeys: f };
+    },
+    HFoM: function (e, t) {},
+    HJRA: function (e, t, n) {
+      "use strict";
+      var r = n("LvDl"),
+        a = n.n(r),
+        o = n("+2Rf"),
+        i = n.n(o),
+        l = n("txxJ");
+      function s(e) {
+        return {
+          scope: {
+            menuItems: "=dropdownTypeahead",
+            dropdownTypeaheadOnSelect: "&dropdownTypeaheadOnSelect",
+            model: "=ngModel",
+          },
+          link: function (t, n, r) {
+            var o = i()(
+                '<input type="text" class="gf-form-input input-medium tight-form-input" spellcheck="false" style="display:none"></input>'
+              ),
+              l = i()(
+                '<a class="gf-form-label tight-form-func dropdown-toggle" tabindex="1" gf-dropdown="menuItems" data-toggle="dropdown" ><i class="fa fa-plus"></i></a>'
+              );
+            o.appendTo(n),
+              l.appendTo(n),
+              r.linkText && l.html(r.linkText),
+              r.ngModel &&
+                t.$watch("model", function (e) {
+                  a.a.each(t.menuItems, function (t) {
+                    a.a.each(t.submenu, function (t) {
+                      t.value === e && l.html(t.text);
+                    });
+                  });
+                });
+            var s = a.a.reduce(
+              t.menuItems,
+              function (e, t, n) {
+                return (
+                  t.submenu
+                    ? a.a.each(t.submenu, function (r, a) {
+                        (r.click = "menuItemSelected(" + n + "," + a + ")"),
+                          e.push(t.text + " " + r.text);
+                      })
+                    : ((t.click = "menuItemSelected(" + n + ")"),
+                      e.push(t.text)),
+                  e
+                );
+              },
+              []
+            );
+            (t.menuItemSelected = function (e, r) {
+              var a = t.menuItems[e],
+                i = { $item: a };
+              a.submenu && void 0 !== r && (i.$subItem = a.submenu[r]),
+                t.dropdownTypeaheadOnSelect(i),
+                o.hide(),
+                o.val(""),
+                l.show(),
+                l.focus(),
+                n.removeClass("open");
+            }),
+              o.attr("data-provide", "typeahead"),
+              o.typeahead({
+                source: s,
+                minLength: 1,
+                items: 10,
+                updater: function (e) {
+                  var n = {};
+                  return (
+                    a.a.each(t.menuItems, function (t) {
+                      a.a.each(t.submenu, function (r) {
+                        e === t.text + " " + r.text &&
+                          ((n.$subItem = r), (n.$item = t));
+                      });
+                    }),
+                    n.$item &&
+                      t.$apply(function () {
+                        t.dropdownTypeaheadOnSelect(n);
+                      }),
+                    o.trigger("blur"),
+                    ""
+                  );
+                },
+              }),
+              l.click(function () {
+                l.hide(), o.show(), o.focus();
+              }),
+              o.keyup(function () {
+                n.toggleClass("open", "" === o.val());
+              }),
+              n.mousedown(function (e) {
+                e.preventDefault();
+              }),
+              o.blur(function () {
+                o.hide(),
+                  o.val(""),
+                  l.show(),
+                  l.focus(),
+                  setTimeout(function () {
+                    n.removeClass("open");
+                  }, 200);
+              }),
+              e(n.contents())(t);
+          },
+        };
+      }
+      function c(e) {
+        return {
+          scope: {
+            menuItems: "=dropdownTypeahead2",
+            dropdownTypeaheadOnSelect: "&dropdownTypeaheadOnSelect",
+            model: "=ngModel",
+            buttonTemplateClass: "@",
+          },
+          link: function (t, n, r) {
+            var o = i()(
+              '<input type="text" class="gf-form-input" spellcheck="false" style="display:none"></input>'
+            );
+            t.buttonTemplateClass || (t.buttonTemplateClass = "gf-form-input");
+            var l = i()(
+                '<a class="{{buttonTemplateClass}} dropdown-toggle" tabindex="1" gf-dropdown="menuItems" data-toggle="dropdown" ><i class="fa fa-plus"></i></a>'
+              ),
+              s = { blur: null };
+            o.appendTo(n),
+              l.appendTo(n),
+              r.linkText && l.html(r.linkText),
+              r.ngModel &&
+                t.$watch("model", function (e) {
+                  a.a.each(t.menuItems, function (t) {
+                    a.a.each(t.submenu, function (t) {
+                      t.value === e && l.html(t.text);
+                    });
+                  });
+                });
+            var c = a.a.reduce(
+                t.menuItems,
+                function (e, t, n) {
+                  return (
+                    t.submenu
+                      ? a.a.each(t.submenu, function (r, a) {
+                          (r.click = "menuItemSelected(" + n + "," + a + ")"),
+                            e.push(t.text + " " + r.text);
+                        })
+                      : ((t.click = "menuItemSelected(" + n + ")"),
+                        e.push(t.text)),
+                    e
+                  );
+                },
+                []
+              ),
+              u = function () {
+                o.hide(), o.val(""), l.show(), l.focus(), n.removeClass("open");
+              };
+            (t.menuItemSelected = function (e, n) {
+              var r = t.menuItems[e],
+                a = { $item: r };
+              r.submenu && void 0 !== n && (a.$subItem = r.submenu[n]),
+                t.dropdownTypeaheadOnSelect(a),
+                u();
+            }),
+              o.attr("data-provide", "typeahead"),
+              o.typeahead({
+                source: c,
+                minLength: 1,
+                items: 10,
+                updater: function (e) {
+                  var n = {};
+                  return (
+                    a.a.each(t.menuItems, function (t) {
+                      a.a.each(t.submenu, function (r) {
+                        e === t.text + " " + r.text &&
+                          ((n.$subItem = r), (n.$item = t));
+                      });
+                    }),
+                    n.$item &&
+                      t.$apply(function () {
+                        t.dropdownTypeaheadOnSelect(n);
+                      }),
+                    o.trigger("blur"),
+                    ""
+                  );
+                },
+              }),
+              l.click(function () {
+                l.hide(), o.show(), o.focus();
+              }),
+              o.keyup(function () {
+                n.toggleClass("open", "" === o.val());
+              }),
+              n.mousedown(function (e) {
+                e.preventDefault(), (s.blur = null);
+              }),
+              o.blur(function () {
+                s.blur = setTimeout(function () {
+                  u();
+                }, 1);
+              }),
+              e(n.contents())(t);
+          },
+        };
+      }
+      function u(e) {
+        return {
+          link: function (e, t) {
+            var n = t[0],
+              r = function () {
+                var e = new Event("change");
+                return n.dispatchEvent(e);
+              },
+              a = function (e) {
+                switch (e.animationName) {
+                  case "onAutoFillStart":
+                  case "onAutoFillCancel":
+                    return r();
+                }
+                return null;
+              };
+            n.addEventListener("animationstart", a),
+              e.$on("$destroy", function () {
+                n.removeEventListener("animationstart", a);
+              });
+          },
+        };
+      }
+      function f(e, t, n) {
+        return {
+          scope: {
+            segment: "=",
+            getOptions: "&",
+            onChange: "&",
+            debounce: "@",
+          },
+          link: function (r, o) {
+            var l = i()(
+                '<input type="text" data-provide="typeahead"  class="gf-form-input input-medium" spellcheck="false" style="display:none"></input>'
+              ),
+              s = r.segment,
+              c = i()(
+                s.selectMode
+                  ? '<a class="gf-form-input gf-form-input--dropdown" ng-class="segment.cssClass" tabindex="1" give-focus="segment.focus" ng-bind-html="segment.html"></a>'
+                  : '<a class="gf-form-label" ng-class="segment.cssClass" tabindex="1" give-focus="segment.focus" ng-bind-html="segment.html"></a>'
+              ),
+              u = null,
+              f = null,
+              d = !0,
+              p = r.debounce;
+            l.appendTo(o),
+              c.appendTo(o),
+              (r.updateVariableValue = function (e) {
+                "" !== e &&
+                  s.value !== e &&
+                  r.$apply(function () {
+                    var o = a.a.find(r.altSegments, { value: e });
+                    o
+                      ? ((s.value = o.value),
+                        (s.html =
+                          o.html ||
+                          t.trustAsHtml(n.highlightVariablesAsHtml(o.value))),
+                        (s.fake = !1),
+                        (s.expandable = o.expandable),
+                        o.type && (s.type = o.type))
+                      : "false" !== s.custom &&
+                        ((s.value = e),
+                        (s.html = t.trustAsHtml(n.highlightVariablesAsHtml(e))),
+                        (s.expandable = !0),
+                        (s.fake = !1)),
+                      r.onChange();
+                  });
+              }),
+              (r.switchToLink = function (e) {
+                (d && !e) ||
+                  (clearTimeout(f),
+                  (f = null),
+                  (d = !0),
+                  l.hide(),
+                  c.show(),
+                  r.updateVariableValue(l.val()));
+              }),
+              (r.inputBlur = function () {
+                f = setTimeout(r.switchToLink, 200);
+              }),
+              (r.source = function (e, t) {
+                r.$apply(function () {
+                  r.getOptions({ $query: e }).then(function (e) {
+                    (r.altSegments = e),
+                      (u = a.a.map(r.altSegments, function (e) {
+                        return a.a.escape(e.value);
+                      })),
+                      "false" !== s.custom &&
+                        (s.fake ||
+                          -1 !== a.a.indexOf(u, s.value) ||
+                          u.unshift(a.a.escape(s.value))),
+                      t(u);
+                  });
+                });
+              }),
+              (r.updater = function (e) {
+                return (e = a.a.unescape(e)) === s.value
+                  ? (clearTimeout(f), l.focus(), e)
+                  : (l.val(e), r.switchToLink(!0), e);
+              }),
+              (r.matcher = function (e) {
+                if (d) return !1;
+                var t = this.query;
+                "/" === t[0] && (t = t.substring(1)),
+                  "/" === t[t.length - 1] && (t = t.substring(0, t.length - 1));
+                try {
+                  return e.toLowerCase().match(t.toLowerCase());
+                } catch (e) {
+                  return !1;
+                }
+              }),
+              l.attr("data-provide", "typeahead"),
+              l.typeahead({
+                source: r.source,
+                minLength: 0,
+                items: 1e4,
+                updater: r.updater,
+                matcher: r.matcher,
+              });
+            var h = l.data("typeahead");
+            (h.lookup = function () {
+              this.query = this.$element.val() || "";
+              var e = this.source(this.query, i.a.proxy(this.process, this));
+              return e ? this.process(e) : e;
+            }),
+              p && (h.lookup = a.a.debounce(h.lookup, 500, { leading: !0 })),
+              c.keydown(function (e) {
+                (40 !== e.keyCode && 13 !== e.keyCode) || c.click();
+              }),
+              c.click(function () {
+                (u = null),
+                  l.css("width", Math.max(c.width(), 80) + 16 + "px"),
+                  c.hide(),
+                  l.show(),
+                  l.focus(),
+                  (d = !1);
+                var e = l.data("typeahead");
+                e && (l.val(""), e.lookup());
+              }),
+              l.blur(r.inputBlur),
+              e(o.contents())(r);
+          },
+        };
+      }
+      function d(e) {
+        return {
+          template:
+            '<metric-segment segment="segment" get-options="getOptionsInternal()" on-change="onSegmentChange()"></metric-segment>',
+          restrict: "E",
+          scope: {
+            property: "=",
+            options: "=",
+            getOptions: "&",
+            onChange: "&",
+          },
+          link: {
+            pre: function (t, n, r) {
+              var o;
+              (t.valueToSegment = function (n) {
+                var o = a.a.find(t.options, { value: n }),
+                  i = {
+                    cssClass: r.cssClass,
+                    custom: r.custom,
+                    value: o ? o.text : n,
+                    selectMode: r.selectMode,
+                  };
+                return e.newSegment(i);
+              }),
+                (t.getOptionsInternal = function () {
+                  return t.options
+                    ? ((o = t.options),
+                      Promise.resolve(
+                        a.a.map(t.options, function (e) {
+                          return { value: e.text };
+                        })
+                      ))
+                    : t.getOptions().then(function (e) {
+                        return (
+                          (o = e),
+                          a.a.map(e, function (e) {
+                            return e.html ? e : { value: e.text };
+                          })
+                        );
+                      });
+                }),
+                (t.onSegmentChange = function () {
+                  if (o) {
+                    var e = a.a.find(o, { text: t.segment.value });
+                    e && e.value !== t.property
+                      ? (t.property = e.value)
+                      : "false" !== r.custom && (t.property = t.segment.value);
+                  } else t.property = t.segment.value;
+                  t.$$postDigest(function () {
+                    t.$apply(function () {
+                      t.onChange();
+                    });
+                  });
+                }),
+                (t.segment = t.valueToSegment(t.property));
+            },
+          },
+        };
+      }
+      (c.$inject = ["$compile"]),
+        (s.$inject = ["$compile"]),
+        l.c.directive("dropdownTypeahead", s),
+        l.c.directive("dropdownTypeahead2", c),
+        (u.$inject = ["$compile"]),
+        l.c.directive("autofillEventFix", u),
+        (d.$inject = ["uiSegmentSrv"]),
+        (f.$inject = ["$compile", "$sce", "templateSrv"]),
+        l.c.directive("metricSegment", f),
+        l.c.directive("metricSegmentModel", d);
+      var p = n("KHwQ"),
+        h = n.n(p),
+        m = n("sxGJ"),
+        g = n.n(m),
+        b = n("PbtU"),
+        v = n("Obii");
+      function y(e) {
+        return {
+          restrict: "E",
+          link: function (t, n, r) {
+            var a =
+              '<i class="grafana-tip fa fa-' +
+              (r.icon || "question-circle") +
+              '" bs-tooltip="\'' +
+              b.a.addslashes(n.text()) +
+              "'\"></i>";
+            (a = a.replace(/{/g, "\\{").replace(/}/g, "\\}")),
+              n.replaceWith(e(h.a.element(a))(t));
+          },
+        };
+      }
+      function w(e) {
+        return {
+          restrict: "A",
+          link: function (t, n, r) {
+            t.$watch(
+              function (e) {
+                return e.$eval(r.compile);
+              },
+              function (r) {
+                n.html(r), e(n.contents())(t);
+              }
+            );
+          },
+        };
+      }
+      function O(e) {
+        return {
+          restrict: "E",
+          link: function (t, n, r) {
+            var a = r.change ? ' ng-change="' + r.change + '"' : "",
+              o = r.tip ? " <tip>" + r.tip + "</tip>" : "",
+              i =
+                '<div class="editor-option gf-form-checkbox text-center"' +
+                (r.showIf ? ' ng-show="' + r.showIf + '" ' : "") +
+                '> <label for="' +
+                r.model +
+                '" class="small">' +
+                r.text +
+                o +
+                '</label><input class="cr1" id="' +
+                r.model +
+                '" type="checkbox"        ng-model="' +
+                r.model +
+                '"' +
+                a +
+                '       ng-checked="' +
+                r.model +
+                '"></input> <label for="' +
+                r.model +
+                '" class="cr1"></label>';
+            n.replaceWith(e(h.a.element(i))(t));
+          },
+        };
+      }
+      function x(e, t) {
+        return {
+          restrict: "E",
+          link: function (n, r, a) {
+            var o = t(a.text)(n),
+              i = t(a.model)(n),
+              l = a.change ? ' ng-change="' + a.change + '"' : "",
+              s = a.tip ? " <tip>" + a.tip + "</tip>" : "",
+              c =
+                '<label for="' +
+                n.$id +
+                i +
+                '" class="checkbox-label">' +
+                o +
+                s +
+                "</label>",
+              u =
+                '<input class="cr1" id="' +
+                n.$id +
+                i +
+                '" type="checkbox"        ng-model="' +
+                i +
+                '"' +
+                l +
+                '       ng-checked="' +
+                i +
+                '"></input> <label for="' +
+                n.$id +
+                i +
+                '" class="cr1"></label>';
+            (u += c),
+              r.addClass("gf-form-checkbox"),
+              r.html(e(h.a.element(u))(n));
+          },
+        };
+      }
+      function k(e, t, n) {
+        return {
+          restrict: "EA",
+          scope: !0,
+          link: function (r, a, o) {
+            var i = e(o.gfDropdown)(r);
+            n(function () {
+              var e = a.data("placement");
+              h.a
+                .element(
+                  (function e(t, n) {
+                    for (
+                      var r = [
+                          '<ul class="dropdown-menu ' +
+                            ("top" === n ? "dropup" : "") +
+                            '" role="menu" aria-labelledby="drop1">',
+                          "</ul>",
+                        ],
+                        a = 0;
+                      a < t.length;
+                      a++
+                    ) {
+                      var o = t[a];
+                      if (o.divider)
+                        r.splice(a + 1, 0, '<li class="divider"></li>');
+                      else {
+                        var i =
+                          "<li" +
+                          (o.submenu && o.submenu.length
+                            ? ' class="dropdown-submenu"'
+                            : "") +
+                          '><a tabindex="-1" ng-href="' +
+                          (o.href || "") +
+                          '"' +
+                          (o.click ? ' ng-click="' + o.click + '"' : "") +
+                          (o.target ? ' target="' + o.target + '"' : "") +
+                          (o.method ? ' data-method="' + o.method + '"' : "") +
+                          ">" +
+                          (o.text || "") +
+                          "</a>";
+                        o.submenu &&
+                          o.submenu.length &&
+                          (i += e(o.submenu).join("\n")),
+                          (i += "</li>"),
+                          r.splice(a + 1, 0, i);
+                      }
+                    }
+                    return r;
+                  })(i, e).join("")
+                )
+                .insertAfter(a),
+                t(a.next("ul.dropdown-menu"))(r);
+            }),
+              a.addClass("dropdown-toggle").attr("data-toggle", "dropdown");
+          },
+        };
+      }
+      (k.$inject = ["$parse", "$compile", "$timeout"]),
+        (x.$inject = ["$compile", "$interpolate"]),
+        (O.$inject = ["$compile"]),
+        (w.$inject = ["$compile"]),
+        (y.$inject = ["$compile"]),
+        l.c.directive("tip", y),
+        l.c.directive("clipboardButton", function () {
+          return {
+            scope: { getText: "&clipboardButton" },
+            link: function (e, t) {
+              (e.clipboard = new g.a(t[0], {
+                text: function () {
+                  return e.getText();
+                },
+              })),
+                e.clipboard.on("success", function () {
+                  ke.b.emit(v.AppEvents.alertSuccess, [
+                    "Content copied to clipboard",
+                  ]);
+                }),
+                e.$on("$destroy", function () {
+                  e.clipboard && e.clipboard.destroy();
+                });
+            },
+          };
+        }),
+        l.c.directive("compile", w),
+        l.c.directive("watchChange", function () {
+          return {
+            scope: { onchange: "&watchChange" },
+            link: function (e, t) {
+              t.on("input", function () {
+                e.$apply(function () {
+                  e.onchange({ inputValue: t.val() });
+                });
+              });
+            },
+          };
+        }),
+        l.c.directive("editorOptBool", O),
+        l.c.directive("editorCheckbox", x),
+        l.c.directive("gfDropdown", k),
+        l.c.directive("ngModelOnblur", function () {
+          return {
+            restrict: "A",
+            priority: 1,
+            require: "ngModel",
+            link: function (e, t, n, r) {
+              "radio" !== n.type &&
+                "checkbox" !== n.type &&
+                (t.off("input keydown change"),
+                t.bind("blur", function () {
+                  e.$apply(function () {
+                    r.$setViewValue(t.val());
+                  });
+                }));
+            },
+          };
+        }),
+        l.c.directive("emptyToNull", function () {
+          return {
+            restrict: "A",
+            require: "ngModel",
+            link: function (e, t, n, r) {
+              r.$parsers.push(function (e) {
+                return "" === e ? null : e;
+              });
+            },
+          };
+        }),
+        l.c.directive("validTimeSpan", function () {
+          return {
+            require: "ngModel",
+            link: function (e, t, n, r) {
+              r.$validators.integer = function (e, t) {
+                return (
+                  !!r.$isEmpty(e) ||
+                  0 === t.indexOf("$") ||
+                  0 === t.indexOf("+$") ||
+                  !0 !== v.rangeUtil.describeTextRange(t).invalid
+                );
+              };
+            },
+          };
+        });
+      var j = n("kDLi");
+      n("eQJK");
+      function S(e, t) {
+        var n = Object(j.getTagColorsFromName)(e),
+          r = n.color,
+          a = n.borderColor;
+        t.css("background-color", r), t.css("border-color", a);
+      }
+      l.c.directive("tagColorFromName", function () {
+        return {
+          scope: { tagColorFromName: "=" },
+          link: function (e, t) {
+            S(e.tagColorFromName, t);
+          },
+        };
+      }),
+        l.c.directive("bootstrapTagsinput", function () {
+          function e(e, t) {
+            if (t)
+              return h.a.isFunction(e.$parent[t])
+                ? e.$parent[t]
+                : function (e) {
+                    return e[t];
+                  };
+          }
+          return {
+            restrict: "EA",
+            scope: { model: "=ngModel", onTagsUpdated: "&" },
+            template: "<select multiple></select>",
+            replace: !1,
+            link: function (t, n, r) {
+              var a = this;
+              h.a.isArray(t.model) || (t.model = []);
+              var o = i()("select", n);
+              r.placeholder && o.attr("placeholder", r.placeholder),
+                o.tagsinput({
+                  typeahead: {
+                    source: h.a.isFunction(t.$parent[r.typeaheadSource])
+                      ? t.$parent[r.typeaheadSource]
+                      : null,
+                  },
+                  widthClass: r.widthClass,
+                  itemValue: e(t, r.itemvalue),
+                  itemText: e(t, r.itemtext),
+                  tagClass: h.a.isFunction(t.$parent[r.tagclass])
+                    ? t.$parent[r.tagclass]
+                    : function () {
+                        return r.tagclass;
+                      },
+                }),
+                o.on("itemAdded", function (e) {
+                  -1 === t.model.indexOf(e.item) &&
+                    (t.model.push(e.item),
+                    t.onTagsUpdated && t.onTagsUpdated());
+                  var n = o
+                    .next()
+                    .children("span")
+                    .filter(function () {
+                      return i()(a).text() === e.item;
+                    });
+                  S(e.item, n);
+                }),
+                o.on("itemRemoved", function (e) {
+                  var n = t.model.indexOf(e.item);
+                  -1 !== n &&
+                    (t.model.splice(n, 1),
+                    t.onTagsUpdated && t.onTagsUpdated());
+                }),
+                t.$watch(
+                  "model",
+                  function () {
+                    h.a.isArray(t.model) || (t.model = []),
+                      o.tagsinput("removeAll");
+                    for (var e = 0; e < t.model.length; e++)
+                      o.tagsinput("add", t.model[e]);
+                  },
+                  !0
+                );
+            },
+          };
+        });
+      var E = n("sEfC"),
+        C = n.n(E),
+        P = n("xkGU"),
+        T = n.n(P),
+        D = n("k4Da"),
+        A = n.n(D),
+        _ = n("J2m7"),
+        N = n.n(_),
+        M = n("uoTU"),
+        I = n.n(M),
+        R = n("3WF5"),
+        F = n.n(R),
+        L = n("1gCF"),
+        V = n("4qJB");
+      function B(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function $(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              B(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              B(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function q(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      z.$inject = ["$compile", "$window", "$timeout", "$rootScope"];
+      var U = (function () {
+        function e(t) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$scope = t),
+            (this.queryHasSearchFilter =
+              !!this.variable && Object(V.e)(this.variable.query)),
+            (this.debouncedQueryChanged = C()(
+              this.queryChanged.bind(this),
+              200
+            )),
+            (this.selectors = L.a.pages.Dashboard.SubMenu.selectors);
+        }
+        var t, n, r, a, o, i;
+        return (
+          (e.$inject = ["$scope"]),
+          (t = e),
+          (n = [
+            {
+              key: "show",
+              value: function () {
+                var e = this;
+                (this.oldVariableText = this.variable.current.text),
+                  (this.highlightIndex = -1),
+                  (this.options = this.variable.options),
+                  (this.selectedValues = A()(this.options, { selected: !0 })),
+                  (this.tags = F()(this.variable.tags, function (t) {
+                    var n = { text: t, selected: !1 };
+                    return (
+                      T()(e.variable.current.tags, function (e) {
+                        e.text === t && (n = e);
+                      }),
+                      n
+                    );
+                  }));
+                var t =
+                  this.queryHasSearchFilter && this.search && this.search.query
+                    ? this.search.query
+                    : "";
+                (this.search = {
+                  query: t,
+                  options: this.options.slice(
+                    0,
+                    Math.min(this.options.length, 1e3)
+                  ),
+                }),
+                  (this.dropdownVisible = !0);
+              },
+            },
+            {
+              key: "updateLinkText",
+              value: function () {
+                var e = this.variable.current;
+                if (e.tags && e.tags.length) {
+                  var t = A()(this.variable.options, function (t) {
+                      if (!t.selected) return !1;
+                      for (var n = 0; n < e.tags.length; n++) {
+                        var r = e.tags[n];
+                        if (-1 !== I()(r.values, t.value)) return !1;
+                      }
+                      return !0;
+                    }),
+                    n = F()(t, "text");
+                  (this.linkText = n.join(" + ")),
+                    this.linkText.length > 0 && (this.linkText += " + ");
+                } else this.linkText = this.variable.current.text;
+              },
+            },
+            {
+              key: "clearSelections",
+              value: function () {
+                (this.selectedValues = A()(this.options, { selected: !0 })),
+                  this.selectedValues.length
+                    ? T()(this.options, function (e) {
+                        e.selected = !1;
+                      })
+                    : T()(this.search.options, function (e) {
+                        e.selected = !0;
+                      }),
+                  this.selectionsChanged(!1);
+              },
+            },
+            {
+              key: "selectTag",
+              value: function (e) {
+                var t = this;
+                return (
+                  (e.selected = !e.selected),
+                  (e.values
+                    ? Promise.resolve(e.values)
+                    : this.variable.getValuesForTag(e.text)
+                  ).then(function (n) {
+                    (e.values = n),
+                      (e.valuesText = n.join(" + ")),
+                      T()(t.options, function (t) {
+                        -1 !== I()(e.values, t.value) &&
+                          (t.selected = e.selected);
+                      }),
+                      t.selectionsChanged(!1);
+                  })
+                );
+              },
+            },
+            {
+              key: "keyDown",
+              value: function (e) {
+                27 === e.keyCode && this.hide(),
+                  40 === e.keyCode && this.moveHighlight(1),
+                  38 === e.keyCode && this.moveHighlight(-1),
+                  13 === e.keyCode &&
+                    (0 === this.search.options.length
+                      ? this.commitChanges()
+                      : this.selectValue(
+                          this.search.options[this.highlightIndex],
+                          {},
+                          !0
+                        )),
+                  32 === e.keyCode &&
+                    this.selectValue(
+                      this.search.options[this.highlightIndex],
+                      {},
+                      !1
+                    );
+              },
+            },
+            {
+              key: "moveHighlight",
+              value: function (e) {
+                this.highlightIndex =
+                  (this.highlightIndex + e) % this.search.options.length;
+              },
+            },
+            {
+              key: "selectValue",
+              value: function (e, t, n) {
+                var r = this;
+                if (e) {
+                  e.selected = !this.variable.multi || !e.selected;
+                  var a = function (t) {
+                    T()(r.options, function (n) {
+                      e !== n && (n.selected = t);
+                    });
+                  };
+                  (n = n || !1) && (e.selected = !0),
+                    "All" === e.text
+                      ? ((this.search.query = ""), a(!1), (n = !0))
+                      : this.variable.multi
+                      ? (t.ctrlKey || t.metaKey || t.shiftKey) &&
+                        ((n = !0), a(!1))
+                      : (a(!1), (n = !0)),
+                    this.selectionsChanged(n);
+                }
+              },
+            },
+            {
+              key: "selectionsChanged",
+              value: function (e) {
+                var t = this;
+                (this.selectedValues = A()(this.options, { selected: !0 })),
+                  this.selectedValues.length > 1 &&
+                    "All" === this.selectedValues[0].text &&
+                    ((this.selectedValues[0].selected = !1),
+                    (this.selectedValues = this.selectedValues.slice(
+                      1,
+                      this.selectedValues.length
+                    ))),
+                  T()(this.tags, function (e) {
+                    e.selected &&
+                      T()(e.values, function (n) {
+                        N()(t.selectedValues, { value: n }) ||
+                          (e.selected = !1);
+                      });
+                  }),
+                  (this.selectedTags = A()(this.tags, { selected: !0 })),
+                  (this.variable.current.value = F()(
+                    this.selectedValues,
+                    "value"
+                  )),
+                  (this.variable.current.text = F()(
+                    this.selectedValues,
+                    "text"
+                  ).join(" + ")),
+                  (this.variable.current.tags = this.selectedTags),
+                  this.variable.multi ||
+                    (this.variable.current.value = this.selectedValues[0].value),
+                  e && this.commitChanges();
+              },
+            },
+            {
+              key: "commitChanges",
+              value: function () {
+                0 === this.search.options.length && this.search.query.length > 0
+                  ? (this.variable.current = {
+                      text: this.search.query,
+                      value: this.search.query,
+                    })
+                  : 0 === this.selectedValues.length &&
+                    ((this.options[0].selected = !0),
+                    this.selectionsChanged(!1)),
+                  (this.dropdownVisible = !1),
+                  this.updateLinkText(),
+                  this.queryHasSearchFilter && this.updateLazyLoadedOptions(),
+                  this.variable.current.text !== this.oldVariableText &&
+                    this.onUpdated();
+              },
+            },
+            {
+              key: "queryChanged",
+              value:
+                ((i = $(
+                  regeneratorRuntime.mark(function e() {
+                    var t,
+                      n = this;
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              if (!this.queryHasSearchFilter) {
+                                e.next = 4;
+                                break;
+                              }
+                              return (
+                                (e.next = 3), this.updateLazyLoadedOptions()
+                              );
+                            case 3:
+                              return e.abrupt("return");
+                            case 4:
+                              (t = A()(this.options, function (e) {
+                                return (
+                                  -1 !==
+                                  e.text
+                                    .toLowerCase()
+                                    .indexOf(n.search.query.toLowerCase())
+                                );
+                              })),
+                                this.updateUIBoundOptions(this.$scope, t);
+                            case 6:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this
+                    );
+                  })
+                )),
+                function () {
+                  return i.apply(this, arguments);
+                }),
+            },
+            {
+              key: "init",
+              value: function () {
+                (this.selectedTags = this.variable.current.tags || []),
+                  this.updateLinkText();
+              },
+            },
+            {
+              key: "updateLazyLoadedOptions",
+              value:
+                ((o = $(
+                  regeneratorRuntime.mark(function e() {
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return (
+                                (e.next = 2),
+                                this.lazyLoadOptions(this.search.query)
+                              );
+                            case 2:
+                              (this.options = e.sent),
+                                this.updateUIBoundOptions(
+                                  this.$scope,
+                                  this.options
+                                );
+                            case 4:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this
+                    );
+                  })
+                )),
+                function () {
+                  return o.apply(this, arguments);
+                }),
+            },
+            {
+              key: "lazyLoadOptions",
+              value:
+                ((a = $(
+                  regeneratorRuntime.mark(function e(t) {
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return (
+                                (e.next = 2), this.variable.updateOptions(t)
+                              );
+                            case 2:
+                              return e.abrupt("return", this.variable.options);
+                            case 3:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this
+                    );
+                  })
+                )),
+                function (e) {
+                  return a.apply(this, arguments);
+                }),
+            },
+            {
+              key: "updateUIBoundOptions",
+              value: function (e, t) {
+                (this.highlightIndex = 0),
+                  (this.search.options = t.slice(0, Math.min(t.length, 1e3))),
+                  e.$apply();
+              },
+            },
+          ]) && q(t.prototype, n),
+          r && q(t, r),
+          e
+        );
+      })();
+      function z(e, t, n, r) {
+        return {
+          scope: { dashboard: "=", variable: "=", onUpdated: "&" },
+          templateUrl: "public/app/partials/valueSelectDropdown.html",
+          controller: "ValueSelectDropdownCtrl",
+          controllerAs: "vm",
+          bindToController: !0,
+          link: function (e, r) {
+            var a = h.a.element(t.document.body),
+              o = r.find(".variable-value-link"),
+              i = r.find("input");
+            function l(t) {
+              0 === r.has(t.target).length &&
+                e.$apply(function () {
+                  e.vm.commitChanges();
+                });
+            }
+            e.$watch("vm.dropdownVisible", function (e) {
+              e
+                ? (i.css("width", Math.max(o.width(), 80) + "px"),
+                  i.show(),
+                  o.hide(),
+                  i.focus(),
+                  n(
+                    function () {
+                      a.on("click", l);
+                    },
+                    0,
+                    !1
+                  ))
+                : (i.hide(), o.show(), a.off("click", l));
+            }),
+              e.vm.dashboard.on(
+                "template-variable-value-updated",
+                function () {
+                  e.vm.updateLinkText();
+                },
+                e
+              ),
+              e.vm.init();
+          },
+        };
+      }
+      function H(e) {
+        return {
+          multiElement: !0,
+          terminal: !0,
+          transclude: !0,
+          priority: 600,
+          restrict: "E",
+          link: function (t, n, r, a, o) {
+            var l, s, c;
+            function u() {
+              c && (c.remove(), (c = null)),
+                s && (s.$destroy(), (s = null)),
+                l &&
+                  ((c = (function (e) {
+                    var t,
+                      n = e[0],
+                      r = e[e.length - 1];
+                    n = n.nextSibling;
+                    for (var a = 1; n !== r && n; a++)
+                      (t || e[a] !== n) &&
+                        (t || (t = i()([].slice.call(e, 0, a))), t.push(n)),
+                        (n = n.nextSibling);
+                    return t || e;
+                  })(l.clone)),
+                  e.leave(c).then(function () {
+                    c = null;
+                  }),
+                  (l = null));
+            }
+            t.$watch(r.property, function (t, a) {
+              s && t !== a && u(),
+                s || (!t && !r.showNull)
+                  ? u()
+                  : o(function (t, r) {
+                      (s = r),
+                        (t[t.length++] = document.createComment(
+                          " end rebuild on change "
+                        )),
+                        (l = { clone: t }),
+                        e.enter(t, n.parent(), n);
+                    });
+            });
+          },
+        };
+      }
+      l.c.controller("ValueSelectDropdownCtrl", U),
+        l.c.directive("valueSelectDropdown", z),
+        (H.$inject = ["$animate"]),
+        l.c.directive("rebuildOnChange", H),
+        l.c.directive("giveFocus", function () {
+          return function (e, t, n) {
+            t.click(function (e) {
+              e.stopPropagation();
+            }),
+              e.$watch(
+                n.giveFocus,
+                function (e) {
+                  e &&
+                    setTimeout(function () {
+                      t.focus();
+                      var e = t[0];
+                      if (e.setSelectionRange) {
+                        var n = 2 * t.val().length;
+                        e.setSelectionRange(n, n);
+                      }
+                    }, 200);
+                },
+                !0
+              );
+          };
+        });
+      var G = n("GQ3c");
+      function W(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Q(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Y(e, t, n) {
+        return t && Q(e.prototype, t), n && Q(e, n), e;
+      }
+      var K = (function () {
+        function e(t) {
+          var n = this;
+          W(this, e), (this.$rootScope = t);
+          this.observer = new MutationObserver(function (e) {
+            1 === e.length && n.$rootScope.appEvent(G.CoreEvents.jsonDiffReady);
+          });
+          this.observer.observe(h.a.element(".delta-html")[0], {
+            attributes: !0,
+            attributeFilter: ["class"],
+            characterData: !1,
+            childList: !0,
+            subtree: !1,
+          });
+        }
+        return (
+          (e.$inject = ["$rootScope"]),
+          Y(e, [
+            {
+              key: "$onDestroy",
+              value: function () {
+                this.observer.disconnect();
+              },
+            },
+          ]),
+          e
+        );
+      })();
+      l.c.directive("diffDelta", function () {
+        return { controller: K, replace: !1, restrict: "A" };
+      });
+      var J = (function () {
+        function e(t, n, r) {
+          W(this, e),
+            (this.$scope = t),
+            (this.$rootScope = n),
+            (this.$anchorScroll = r);
+        }
+        return (
+          (e.$inject = ["$scope", "$rootScope", "$anchorScroll"]),
+          Y(e, [
+            {
+              key: "goToLine",
+              value: function (e) {
+                var t,
+                  n = this,
+                  r = function () {
+                    n.$anchorScroll("l".concat(e)), t();
+                  };
+                this.$scope.switchView().then(function () {
+                  t = n.$rootScope.$on("json-diff-ready", r.bind(n));
+                });
+              },
+            },
+          ]),
+          e
+        );
+      })();
+      l.c.directive("diffLinkJson", function () {
+        return {
+          controller: J,
+          controllerAs: "ctrl",
+          replace: !0,
+          restrict: "E",
+          scope: { line: "@lineDisplay", link: "@lineLink", switchView: "&" },
+          template:
+            '<a class="diff-linenum btn btn-inverse btn-small" ng-click="ctrl.goToLine(link)">Line {{ line }}</a>',
+        };
+      });
+      var Z,
+        X = i()(window);
+      i.a.fn.place_tt =
+        ((Z = { offset: 5 }),
+        function (e, t, n) {
+          var r = this;
+          return (
+            (n = i.a.extend(!0, {}, Z, n)),
+            this.each(function () {
+              var o,
+                l,
+                s = i()(r);
+              s.addClass("grafana-tooltip"),
+                i()("#tooltip").remove(),
+                s.appendTo(document.body),
+                n.compile &&
+                  h.a
+                    .element(document)
+                    .injector()
+                    .invoke([
+                      "$compile",
+                      "$rootScope",
+                      function (e, t) {
+                        var r = t.$new(!0);
+                        a.a.extend(r, n.scopeData),
+                          e(s)(r),
+                          r.$digest(),
+                          r.$destroy();
+                      },
+                    ]),
+                (o = s.outerWidth(!0)),
+                (l = s.outerHeight(!0));
+              var c =
+                  e + n.offset + o > X.width()
+                    ? e - n.offset - o
+                    : e + n.offset,
+                u =
+                  t + n.offset + l > X.height()
+                    ? t - n.offset - l
+                    : t + n.offset;
+              s.css("left", c > 0 ? c : 0), s.css("top", u > 0 ? u : 0);
+            })
+          );
+        });
+      n("Sr1g");
+      l.c.directive("jsonTree", [
+        function () {
+          return {
+            restrict: "E",
+            scope: { object: "=", startExpanded: "@", rootName: "@" },
+            link: function (e, t) {
+              var n = e.startExpanded;
+              "true" === e.startExpanded
+                ? (n = 2)
+                : "false" === e.startExpanded && (n = 1);
+              var r,
+                a,
+                o,
+                i =
+                  ((r = {}),
+                  (a = e.rootName),
+                  (o = e.object),
+                  a in r
+                    ? Object.defineProperty(r, a, {
+                        value: o,
+                        enumerable: !0,
+                        configurable: !0,
+                        writable: !0,
+                      })
+                    : (r[a] = o),
+                  r),
+                l = new j.JsonExplorer(i, n, { animateOpen: !0 }).render(!0);
+              t.append(l);
+            },
+          };
+        },
+      ]);
+      var ee = n("ZFWI");
+      function te(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function ne(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              te(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              te(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function re(e, t, n) {
+        return ae.apply(this, arguments);
+      }
+      function ae() {
+        return (ae = ne(
+          regeneratorRuntime.mark(function e(t, r, a) {
+            var o, i, l, s, c, u, f, d, p, h, m, g, b, v, y, w;
+            return regeneratorRuntime.wrap(function (e) {
+              for (;;)
+                switch ((e.prev = e.next)) {
+                  case 0:
+                    return (
+                      (w = function (e) {
+                        h.setValue(e), h.clearSelection();
+                      }),
+                      (y = function () {
+                        var e = "ace/theme/grafana-dark";
+                        ee.b.bootData.user.lightTheme &&
+                          (e = "ace/theme/textmate"),
+                          h.setTheme(e);
+                      }),
+                      (v = function (e) {
+                        if (
+                          (p.acequire("ace/ext/language_tools"),
+                          h.setOptions({
+                            enableBasicAutocompletion: !0,
+                            enableLiveAutocompletion: !0,
+                            enableSnippets: u,
+                          }),
+                          t.getCompleter())
+                        ) {
+                          var n = h;
+                          (n.completers = n.completers.slice()),
+                            n.completers.push(t.getCompleter());
+                        }
+                        var r = "ace/mode/".concat(e);
+                        m.setMode(r);
+                      }),
+                      (o = a.mode || "text"),
+                      (i = a.maxLines || 10),
+                      (l = void 0 !== a.showGutter),
+                      (s = a.tabSize || 2),
+                      (c =
+                        !a.behavioursEnabled || "true" === a.behavioursEnabled),
+                      (u = !a.snippetsEnabled || "true" === a.snippetsEnabled),
+                      (f = r.get(0)),
+                      (e.next = 12),
+                      n.e(30).then(n.t.bind(null, "Bhyg", 7))
+                    );
+                  case 12:
+                    return (
+                      (d = e.sent),
+                      (p = d.default),
+                      (e.next = 16),
+                      n.e(57).then(n.t.bind(null, "IJmI", 7))
+                    );
+                  case 16:
+                    return (
+                      (e.next = 18), n.e(66).then(n.t.bind(null, "g7+H", 7))
+                    );
+                  case 18:
+                    return (
+                      (e.next = 20), n.e(60).then(n.t.bind(null, "iioy", 7))
+                    );
+                  case 20:
+                    return (
+                      (e.next = 22), n.e(65).then(n.t.bind(null, "JLn5", 7))
+                    );
+                  case 22:
+                    return (
+                      (e.next = 24), n.e(58).then(n.t.bind(null, "hC/C", 7))
+                    );
+                  case 24:
+                    return (
+                      (e.next = 26), n.e(63).then(n.t.bind(null, "bmO+", 7))
+                    );
+                  case 26:
+                    return (
+                      (e.next = 28), n.e(59).then(n.t.bind(null, "HOUf", 7))
+                    );
+                  case 28:
+                    return (
+                      (e.next = 30), n.e(64).then(n.t.bind(null, "zIv8", 7))
+                    );
+                  case 30:
+                    return (
+                      (e.next = 32), n.e(52).then(n.t.bind(null, "wam1", 7))
+                    );
+                  case 32:
+                    return (
+                      (e.next = 34), n.e(62).then(n.t.bind(null, "CVAQ", 7))
+                    );
+                  case 34:
+                    return (
+                      (e.next = 36), n.e(55).then(n.t.bind(null, "gYtI", 7))
+                    );
+                  case 36:
+                    return (
+                      (e.next = 38), n.e(61).then(n.t.bind(null, "sDlW", 7))
+                    );
+                  case 38:
+                    return (
+                      (e.next = 40), n.e(67).then(n.t.bind(null, "7CEB", 7))
+                    );
+                  case 40:
+                    (h = p.edit(f)),
+                      (m = h.getSession()),
+                      (g = {
+                        maxLines: i,
+                        showGutter: l,
+                        tabSize: s,
+                        behavioursEnabled: c,
+                        highlightActiveLine: !1,
+                        showPrintMargin: !1,
+                        autoScrollEditorIntoView: !0,
+                      }),
+                      h.setOptions(g),
+                      (h.$blockScrolling = 1 / 0),
+                      h.renderer.setScrollMargin(10, 10),
+                      h.renderer.setPadding(10),
+                      y(),
+                      v(o),
+                      w(t.content),
+                      r.addClass("gf-code-editor"),
+                      (b = r.find("textarea")).addClass("gf-form-input"),
+                      t.codeEditorFocus &&
+                        setTimeout(function () {
+                          b.focus();
+                          var e = b[0];
+                          if (e.setSelectionRange) {
+                            var t = 2 * b.val().length;
+                            e.setSelectionRange(t, t);
+                          }
+                        }, 100),
+                      m.on("change", function (e) {
+                        t.$apply(function () {
+                          var e = h.getValue();
+                          t.content = e;
+                        });
+                      }),
+                      t.$watch("content", function (e, n) {
+                        var r = h.getValue();
+                        e !== r &&
+                          e !== n &&
+                          t.$$postDigest(function () {
+                            w(e);
+                          });
+                      }),
+                      h.on("blur", function () {
+                        t.onChange();
+                      }),
+                      t.$on("$destroy", function () {
+                        h.destroy();
+                      }),
+                      h.commands.addCommand({
+                        name: "executeQuery",
+                        bindKey: { win: "Ctrl-Enter", mac: "Command-Enter" },
+                        exec: function () {
+                          t.onChange();
+                        },
+                      });
+                  case 59:
+                  case "end":
+                    return e.stop();
+                }
+            }, e);
+          })
+        )).apply(this, arguments);
+      }
+      l.c.directive("codeEditor", function () {
+        return {
+          restrict: "E",
+          template: "<div></div>",
+          scope: {
+            content: "=",
+            datasource: "=",
+            codeEditorFocus: "<",
+            onChange: "&",
+            getCompleter: "&",
+          },
+          link: re,
+        };
+      });
+      n("2L8i");
+      l.c.directive("spectrumPicker", function () {
+        return {
+          restrict: "E",
+          require: "ngModel",
+          scope: !0,
+          replace: !0,
+          template:
+            '<color-picker color="ngModel.$viewValue" onChange="onColorChange"></color-picker>',
+          link: function (e, t, n, r) {
+            (e.ngModel = r),
+              (e.onColorChange = function (e) {
+                r.$setViewValue(e);
+              });
+          },
+        };
+      });
+      var oe = n("h3Ht"),
+        ie = n("SMGL"),
+        le = n("umNM"),
+        se = n("NXk7");
+      function ce(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var ue = (function () {
+        function e() {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.recentIsOpen = ie.a.getBool("search.sections.recent", !0)),
+            (this.starredIsOpen = ie.a.getBool("search.sections.starred", !0));
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "getRecentDashboards",
+              value: function (e) {
+                var t = this;
+                return this.queryForRecentDashboards().then(function (n) {
+                  n.length > 0 &&
+                    (e.recent = {
+                      title: "Recent",
+                      icon: "fa fa-clock-o",
+                      score: -1,
+                      removable: !0,
+                      expanded: t.recentIsOpen,
+                      toggle: t.toggleRecent.bind(t),
+                      items: n,
+                    });
+                });
+              },
+            },
+            {
+              key: "queryForRecentDashboards",
+              value: function () {
+                var e = a.a.take(oe.a.getDashboardOpened(), 30);
+                return 0 === e.length
+                  ? Promise.resolve([])
+                  : se.b.search({ dashboardIds: e }).then(function (t) {
+                      return e
+                        .map(function (e) {
+                          return a.a.find(t, { id: e });
+                        })
+                        .filter(function (e) {
+                          return e && !e.isStarred;
+                        });
+                    });
+              },
+            },
+            {
+              key: "toggleRecent",
+              value: function (e) {
+                return (
+                  (this.recentIsOpen = e.expanded = !e.expanded),
+                  ie.a.set("search.sections.recent", this.recentIsOpen),
+                  !e.expanded || e.items.length
+                    ? Promise.resolve(e)
+                    : this.queryForRecentDashboards().then(function (t) {
+                        return (e.items = t), Promise.resolve(e);
+                      })
+                );
+              },
+            },
+            {
+              key: "toggleStarred",
+              value: function (e) {
+                return (
+                  (this.starredIsOpen = e.expanded = !e.expanded),
+                  ie.a.set("search.sections.starred", this.starredIsOpen),
+                  Promise.resolve(e)
+                );
+              },
+            },
+            {
+              key: "getStarred",
+              value: function (e) {
+                var t = this;
+                return le.a.isSignedIn
+                  ? se.b.search({ starred: !0, limit: 30 }).then(function (n) {
+                      n.length > 0 &&
+                        (e.starred = {
+                          title: "Starred",
+                          icon: "fa fa-star-o",
+                          score: -2,
+                          expanded: t.starredIsOpen,
+                          toggle: t.toggleStarred.bind(t),
+                          items: n,
+                        });
+                    })
+                  : Promise.resolve();
+              },
+            },
+            {
+              key: "search",
+              value: function (e) {
+                var t = this,
+                  n = {},
+                  r = [],
+                  o = a.a.clone(e),
+                  i =
+                    e.query ||
+                    (e.tag && e.tag.length > 0) ||
+                    e.starred ||
+                    (e.folderIds && e.folderIds.length > 0);
+                return (
+                  e.skipRecent || i || r.push(this.getRecentDashboards(n)),
+                  e.skipStarred || i || r.push(this.getStarred(n)),
+                  (o.folderIds = o.folderIds || []),
+                  i || (o.folderIds = [0]),
+                  r.push(
+                    se.b.search(o).then(function (e) {
+                      return t.handleSearchResult(n, e);
+                    })
+                  ),
+                  Promise.all(r).then(function () {
+                    return a.a.sortBy(a.a.values(n), "score");
+                  })
+                );
+              },
+            },
+            {
+              key: "handleSearchResult",
+              value: function (e, t) {
+                if (0 === t.length) return e;
+                var n = !0,
+                  r = !1,
+                  o = void 0;
+                try {
+                  for (
+                    var i, l = t[Symbol.iterator]();
+                    !(n = (i = l.next()).done);
+                    n = !0
+                  ) {
+                    var s = i.value;
+                    "dash-folder" === s.type &&
+                      (e[s.id] = {
+                        id: s.id,
+                        uid: s.uid,
+                        title: s.title,
+                        expanded: !1,
+                        items: [],
+                        toggle: this.toggleFolder.bind(this),
+                        url: s.url,
+                        icon: "fa fa-folder",
+                        score: a.a.keys(e).length,
+                      });
+                  }
+                } catch (e) {
+                  (r = !0), (o = e);
+                } finally {
+                  try {
+                    n || null == l.return || l.return();
+                  } finally {
+                    if (r) throw o;
+                  }
+                }
+                var c = !0,
+                  u = !1,
+                  f = void 0;
+                try {
+                  for (
+                    var d, p = t[Symbol.iterator]();
+                    !(c = (d = p.next()).done);
+                    c = !0
+                  ) {
+                    var h = d.value;
+                    if ("dash-folder" !== h.type) {
+                      var m = e[h.folderId || 0];
+                      m ||
+                        ((m = h.folderId
+                          ? {
+                              id: h.folderId,
+                              uid: h.folderUid,
+                              title: h.folderTitle,
+                              url: h.folderUrl,
+                              items: [],
+                              icon: "fa fa-folder-open",
+                              toggle: this.toggleFolder.bind(this),
+                              score: a.a.keys(e).length,
+                            }
+                          : {
+                              id: 0,
+                              title: "General",
+                              items: [],
+                              icon: "fa fa-folder-open",
+                              toggle: this.toggleFolder.bind(this),
+                              score: a.a.keys(e).length,
+                            }),
+                        (e[h.folderId || 0] = m)),
+                        (m.expanded = !0),
+                        m.items.push(h);
+                    }
+                  }
+                } catch (e) {
+                  (u = !0), (f = e);
+                } finally {
+                  try {
+                    c || null == p.return || p.return();
+                  } finally {
+                    if (u) throw f;
+                  }
+                }
+              },
+            },
+            {
+              key: "toggleFolder",
+              value: function (e) {
+                if (
+                  ((e.expanded = !e.expanded),
+                  (e.icon = e.expanded ? "fa fa-folder-open" : "fa fa-folder"),
+                  e.items.length)
+                )
+                  return Promise.resolve(e);
+                var t = { folderIds: [e.id] };
+                return se.b.search(t).then(function (t) {
+                  return (e.items = t), Promise.resolve(e);
+                });
+              },
+            },
+            {
+              key: "getDashboardTags",
+              value: function () {
+                return se.b.get("/api/dashboards/tags");
+              },
+            },
+          ]) && ce(t.prototype, n),
+          r && ce(t, r),
+          e
+        );
+      })();
+      l.c.service("searchSrv", ue);
+      var fe = n("q1tI"),
+        de = n.n(fe),
+        pe = n("i8i4"),
+        he = n.n(pe);
+      function me(e, t) {
+        if (h.a.isFunction(e)) return e;
+        if (!e)
+          throw new Error("ReactComponent name attribute must be specified");
+        var n;
+        try {
+          n = t.get(e);
+        } catch (e) {}
+        if (!n)
+          try {
+            n = e.split(".").reduce(function (e, t) {
+              return e[t];
+            }, window);
+          } catch (e) {}
+        if (!n) throw Error("Cannot find react component " + e);
+        return n;
+      }
+      function ge(e, t, n) {
+        return Object.keys(e || {}).reduce(function (r, a) {
+          var o = e[a],
+            i = (n || {})[a] || {};
+          return (
+            (r[a] =
+              h.a.isFunction(o) && !1 !== i.wrapApply
+                ? (function (e, t) {
+                    if (e.wrappedInApply) return e;
+                    var n = function () {
+                      var n = arguments,
+                        r = t.$root.$$phase;
+                      return "$apply" === r || "$digest" === r
+                        ? e.apply(null, n)
+                        : t.$apply(function () {
+                            return e.apply(null, n);
+                          });
+                    };
+                    return (n.wrappedInApply = !0), n;
+                  })(o, t)
+                : o),
+            r
+          );
+        }, {});
+      }
+      function be(e, t, n, r) {
+        var a,
+          o = h.a.isFunction(t.$watchCollection),
+          i = h.a.isFunction(t.$watchGroup),
+          l = [],
+          s = !0,
+          c = !1,
+          u = void 0;
+        try {
+          for (
+            var f, d = n[Symbol.iterator]();
+            !(s = (f = d.next()).done);
+            s = !0
+          ) {
+            var p = f.value,
+              m = ((a = p), Array.isArray(a) ? a[0] : a),
+              g = Oe(e, p);
+            m &&
+              !m.match(/\(.*\)/) &&
+              "one-time" !== g &&
+              ("collection" === g && o
+                ? t.$watchCollection(m, r)
+                : "reference" === g && i
+                ? l.push(m)
+                : t.$watch(m, r, "reference" !== g));
+          }
+        } catch (e) {
+          (c = !0), (u = e);
+        } finally {
+          try {
+            s || null == d.return || d.return();
+          } finally {
+            if (c) throw u;
+          }
+        }
+        "one-time" === e && r(), l.length && t.$watchGroup(l, r);
+      }
+      function ve(e, t, n, r) {
+        n.$evalAsync(function () {
+          he.a.render(de.a.createElement(e, t), r[0]);
+        });
+      }
+      function ye(e) {
+        return Array.isArray(e) ? e[1] : {};
+      }
+      function we(e, t) {
+        return e[
+          Object.keys(e).find(function (e) {
+            return (
+              e.toLowerCase() === t.toLowerCase() ||
+              e.toLowerCase() === Object(r.kebabCase)(t)
+            );
+          })
+        ];
+      }
+      function Oe(e, t) {
+        return (Array.isArray(t) && h.a.isObject(t[1]) && t[1].watchDepth) || e;
+      }
+      var xe = h.a.module("react", []);
+      xe.directive("reactComponent", [
+        "$injector",
+        function (e) {
+          return {
+            restrict: "E",
+            replace: !0,
+            link: function (t, n, r) {
+              var a = this,
+                o = me(r.name, e),
+                i = function () {
+                  var e = ge(t.$eval(r.props), t);
+                  ve(o, e, t, n);
+                };
+              r.props ? be(r.watchDepth, t, [r.props], i) : i(),
+                t.$on("$destroy", function () {
+                  r.onScopeDestroy
+                    ? t.$eval(r.onScopeDestroy, {
+                        unmountComponent: he.a.unmountComponentAtNode.bind(
+                          a,
+                          n[0]
+                        ),
+                      })
+                    : he.a.unmountComponentAtNode(n[0]);
+                });
+            },
+          };
+        },
+      ]),
+        xe.factory("reactDirective", [
+          "$injector",
+          function (e) {
+            return function (t, n, r, a) {
+              var o = {
+                restrict: "E",
+                replace: !0,
+                link: function (r, o, i) {
+                  var l = this,
+                    s = me(t, e),
+                    c = function () {
+                      var e = {},
+                        t = {};
+                      n.forEach(function (n) {
+                        var a = (function (e) {
+                          return Array.isArray(e) ? e[0] : e;
+                        })(n);
+                        (e[a] = r.$eval(we(i, a))), (t[a] = ye(n));
+                      }),
+                        (e = ge(e, r, t)),
+                        (e = h.a.extend({}, e, a)),
+                        ve(s, e, r, o);
+                    },
+                    u = (n = n || Object.keys(s.propTypes || {})).map(function (
+                      e
+                    ) {
+                      return Array.isArray(e) ? [we(i, e[0]), ye(e)] : we(i, e);
+                    });
+                  n.length ? be(i.watchDepth, r, u, c) : c(),
+                    r.$on("$destroy", function () {
+                      i.onScopeDestroy
+                        ? r.$eval(i.onScopeDestroy, {
+                            unmountComponent: he.a.unmountComponentAtNode.bind(
+                              l,
+                              o[0]
+                            ),
+                          })
+                        : he.a.unmountComponentAtNode(o[0]);
+                    });
+                },
+              };
+              return h.a.extend(o, r);
+            };
+          },
+        ]);
+      var ke = n("Xmxp"),
+        je = n("i/BV"),
+        Se = n("p+Sq");
+      function Ee(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Ce(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? Ee(Object(n), !0).forEach(function (t) {
+                Pe(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : Ee(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Pe(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Te(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function De(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Ae(e, t, n) {
+        return t && De(e.prototype, t), n && De(e, n), e;
+      }
+      var _e = (function () {
+          function e(t) {
+            Te(this, e), (this.config = t);
+          }
+          return (
+            Ae(e, [
+              {
+                key: "parse",
+                value: function (e) {
+                  var t = Object(je.parse)(e, this.config);
+                  return "string" == typeof t ? { text: t } : t;
+                },
+              },
+            ]),
+            e
+          );
+        })(),
+        Ne = (function () {
+          function e(t, n, a, o) {
+            var i = this;
+            Te(this, e),
+              (this.$scope = t),
+              (this.$location = n),
+              (this.$timeout = a),
+              (this.searchSrv = o),
+              (this.getTags = function () {
+                return i.searchSrv.getDashboardTags();
+              }),
+              (this.onTagFiltersChanged = function (e) {
+                (i.query.tags = e), i.search();
+              }),
+              ke.b.on(
+                G.CoreEvents.showDashSearch,
+                this.openSearch.bind(this),
+                t
+              ),
+              ke.b.on(
+                G.CoreEvents.hideDashSearch,
+                this.closeSearch.bind(this),
+                t
+              ),
+              ke.b.on(
+                G.CoreEvents.searchQuery,
+                Object(r.debounce)(this.search.bind(this), 500),
+                t
+              ),
+              (this.initialFolderFilterTitle = "All"),
+              (this.isEditor = le.a.isEditor),
+              (this.hasEditPermissionInFolders =
+                le.a.hasEditPermissionInFolders),
+              (this.onQueryChange = this.onQueryChange.bind(this)),
+              (this.onKeyDown = this.onKeyDown.bind(this)),
+              (this.query = {
+                query: "",
+                parsedQuery: { text: "" },
+                tags: [],
+                starred: !1,
+              }),
+              (this.queryParser = new _e({ keywords: ["folder"] }));
+          }
+          return (
+            (e.$inject = ["$scope", "$location", "$timeout", "searchSrv"]),
+            Ae(e, [
+              {
+                key: "closeSearch",
+                value: function () {
+                  this.isOpen = this.ignoreClose;
+                },
+              },
+              {
+                key: "onQueryChange",
+                value: function (e) {
+                  (this.query =
+                    "string" == typeof e
+                      ? Ce({}, this.query, {
+                          parsedQuery: this.queryParser.parse(e),
+                          query: e,
+                        })
+                      : e),
+                    ke.b.emit(G.CoreEvents.searchQuery);
+                },
+              },
+              {
+                key: "openSearch",
+                value: function () {
+                  var e = this,
+                    t =
+                      arguments.length > 0 && void 0 !== arguments[0]
+                        ? arguments[0]
+                        : {};
+                  this.isOpen
+                    ? this.closeSearch()
+                    : ((this.isOpen = !0),
+                      (this.giveSearchFocus = !0),
+                      (this.selectedIndex = -1),
+                      (this.results = []),
+                      (this.query = {
+                        query: t.query ? "".concat(t.query, " ") : "",
+                        parsedQuery: this.queryParser.parse(t.query),
+                        tags: [],
+                        starred: !1,
+                      }),
+                      (this.currentSearchId = 0),
+                      (this.ignoreClose = !0),
+                      (this.isLoading = !0),
+                      this.$timeout(function () {
+                        (e.ignoreClose = !1),
+                          (e.giveSearchFocus = !0),
+                          e.search();
+                      }, 100));
+                },
+              },
+              {
+                key: "onKeyDown",
+                value: function (e) {
+                  if (
+                    (27 === e.keyCode && this.closeSearch(),
+                    40 === e.keyCode && this.moveSelection(1),
+                    38 === e.keyCode && this.moveSelection(-1),
+                    13 === e.keyCode)
+                  ) {
+                    var t = this.getFlattenedResultForNavigation()[
+                      this.selectedIndex
+                    ];
+                    if (t)
+                      if (void 0 !== t.dashboardIndex) {
+                        var n = this.results[t.folderIndex].items[
+                          t.dashboardIndex
+                        ];
+                        n &&
+                          (this.$location.search({}),
+                          this.$location.path(n.url),
+                          this.closeSearch());
+                      } else {
+                        var r = this.results[t.folderIndex];
+                        r && r.toggle(r);
+                      }
+                  }
+                },
+              },
+              {
+                key: "onFilterboxClick",
+                value: function () {
+                  (this.giveSearchFocus = !1), this.preventClose();
+                },
+              },
+              {
+                key: "preventClose",
+                value: function () {
+                  var e = this;
+                  (this.ignoreClose = !0),
+                    this.$timeout(function () {
+                      e.ignoreClose = !1;
+                    }, 100);
+                },
+              },
+              {
+                key: "moveSelection",
+                value: function (e) {
+                  if (0 !== this.results.length) {
+                    var t = this.getFlattenedResultForNavigation(),
+                      n = t[this.selectedIndex];
+                    if (
+                      (n &&
+                        (void 0 !== n.dashboardIndex
+                          ? (this.results[n.folderIndex].items[
+                              n.dashboardIndex
+                            ].selected = !1)
+                          : (this.results[n.folderIndex].selected = !1)),
+                      0 !== e)
+                    ) {
+                      var r = t.length,
+                        a = (this.selectedIndex + e) % r;
+                      this.selectedIndex = a < 0 ? a + r : a;
+                      var o = t[this.selectedIndex];
+                      if (
+                        void 0 !== o.dashboardIndex ||
+                        0 !== this.results[o.folderIndex].id
+                      )
+                        return void 0 !== o.dashboardIndex
+                          ? this.results[o.folderIndex].expanded
+                            ? void (this.results[o.folderIndex].items[
+                                o.dashboardIndex
+                              ].selected = !0)
+                            : void this.moveSelection(e)
+                          : void (this.results[o.folderIndex].hideHeader
+                              ? this.moveSelection(e)
+                              : (this.results[o.folderIndex].selected = !0));
+                      this.moveSelection(e);
+                    } else this.selectedIndex = -1;
+                  }
+                },
+              },
+              {
+                key: "searchDashboards",
+                value: function (e) {
+                  var t = this;
+                  this.currentSearchId = this.currentSearchId + 1;
+                  var n = this.currentSearchId,
+                    r = [],
+                    a = this.query.parsedQuery;
+                  "current" === e &&
+                    r.push(Object(Se.a)().getCurrent().meta.folderId);
+                  var o = Ce({}, this.query, {
+                    query: a.text,
+                    tag: this.query.tags,
+                    folderIds: r,
+                  });
+                  return this.searchSrv.search(Ce({}, o)).then(function (e) {
+                    n < t.currentSearchId ||
+                      ((t.results = e || []),
+                      (t.isLoading = !1),
+                      t.moveSelection(1),
+                      t.$scope.$digest());
+                  });
+                },
+              },
+              {
+                key: "queryHasNoFilters",
+                value: function () {
+                  var e = this.query;
+                  return (
+                    "" === e.query && !1 === e.starred && 0 === e.tags.length
+                  );
+                },
+              },
+              {
+                key: "filterByTag",
+                value: function (e) {
+                  -1 === a.a.indexOf(this.query.tags, e) &&
+                    (this.query.tags.push(e), this.search());
+                },
+              },
+              {
+                key: "removeTag",
+                value: function (e, t) {
+                  (this.query.tags = a.a.without(this.query.tags, e)),
+                    this.search(),
+                    (this.giveSearchFocus = !0),
+                    t.stopPropagation(),
+                    t.preventDefault();
+                },
+              },
+              {
+                key: "clearSearchFilter",
+                value: function () {
+                  (this.query.query = ""),
+                    (this.query.tags = []),
+                    this.search();
+                },
+              },
+              {
+                key: "showStarred",
+                value: function () {
+                  (this.query.starred = !this.query.starred),
+                    (this.giveSearchFocus = !0),
+                    this.search();
+                },
+              },
+              {
+                key: "search",
+                value: function () {
+                  (this.showImport = !1),
+                    (this.selectedIndex = -1),
+                    this.searchDashboards(this.query.parsedQuery.folder);
+                },
+              },
+              {
+                key: "folderExpanding",
+                value: function () {
+                  this.moveSelection(0);
+                },
+              },
+              {
+                key: "getFlattenedResultForNavigation",
+                value: function () {
+                  var e = 0;
+                  return a.a.flatMap(this.results, function (t) {
+                    var n = [];
+                    n.push({ folderIndex: e });
+                    var r = 0;
+                    return (
+                      (n = n.concat(
+                        a.a.map(t.items || [], function (t) {
+                          return { folderIndex: e, dashboardIndex: r++ };
+                        })
+                      )),
+                      e++,
+                      n
+                    );
+                  });
+                },
+              },
+            ]),
+            e
+          );
+        })();
+      l.c.directive("dashboardSearch", function () {
+        return {
+          restrict: "E",
+          templateUrl: "public/app/core/components/search/search.html",
+          controller: Ne,
+          bindToController: !0,
+          controllerAs: "ctrl",
+          scope: {},
+        };
+      });
+      var Me = n("XI+/"),
+        Ie = n.n(Me);
+      l.c.directive("infoPopover", function () {
+        return {
+          restrict: "E",
+          template: '<i class="fa fa-info-circle"></i>',
+          transclude: !0,
+          link: function (e, t, n, r, o) {
+            var i = n.offset || "0 -10px",
+              l = n.position || "right middle",
+              s = "drop-help drop-hide-out-of-bounds";
+            t.addClass("gf-form-help-icon"),
+              n.wide && (s += " drop-wide"),
+              n.mode && t.addClass("gf-form-help-icon--" + n.mode),
+              o(function (n, r) {
+                var o = document.createElement("div");
+                (o.className = "markdown-html"),
+                  a.a.each(n, function (e) {
+                    o.appendChild(e);
+                  });
+                var c = {
+                  target: t[0],
+                  content: o,
+                  position: l,
+                  classes: s,
+                  openOn: "hover",
+                  hoverOpenDelay: 400,
+                  tetherOptions: {
+                    offset: i,
+                    constraints: [
+                      { to: "window", attachment: "together", pin: !0 },
+                    ],
+                  },
+                };
+                e.$applyAsync(function () {
+                  var t = new Ie.a(c),
+                    n = e.$on("$destroy", function () {
+                      t.destroy(), n();
+                    });
+                });
+              });
+          },
+        };
+      }),
+        l.c.directive("arrayJoin", function () {
+          return {
+            restrict: "A",
+            require: "ngModel",
+            link: function (e, t, n, r) {
+              r.$parsers.push(function (e) {
+                return (e || "").split(",");
+              }),
+                r.$formatters.push(function (e) {
+                  return a.a.isArray(e) ? (e || "").join(",") : e;
+                });
+            },
+          };
+        });
+      var Re = n("6blF");
+      function Fe(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      new ((function () {
+        function e() {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.observers = {});
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "getWebSocketUrl",
+              value: function () {
+                var e = window.location;
+                return (
+                  ("https:" === e.protocol ? "wss://" : "ws://") +
+                  e.host +
+                  ee.b.appSubUrl +
+                  "/ws"
+                );
+              },
+            },
+            {
+              key: "getConnection",
+              value: function () {
+                var e = this;
+                return this.initPromise
+                  ? this.initPromise
+                  : this.conn && 1 === this.conn.readyState
+                  ? Promise.resolve(this.conn)
+                  : ((this.initPromise = new Promise(function (t, n) {
+                      console.log("Live: connecting..."),
+                        (e.conn = new WebSocket(e.getWebSocketUrl())),
+                        (e.conn.onclose = function (t) {
+                          console.log("Live: websocket onclose", t),
+                            n({ message: "Connection closed" }),
+                            (e.initPromise = null),
+                            setTimeout(e.reconnect.bind(e), 2e3);
+                        }),
+                        (e.conn.onmessage = function (t) {
+                          e.handleMessage(t.data);
+                        }),
+                        (e.conn.onerror = function (t) {
+                          (e.initPromise = null),
+                            n({ message: "Connection error" }),
+                            console.log("Live: websocket error", t);
+                        }),
+                        (e.conn.onopen = function (n) {
+                          console.log("opened"),
+                            (e.initPromise = null),
+                            t(e.conn);
+                        });
+                    })),
+                    this.initPromise);
+              },
+            },
+            {
+              key: "handleMessage",
+              value: function (e) {
+                if ((e = JSON.parse(e)).stream) {
+                  var t = this.observers[e.stream];
+                  t ? t.next(e) : this.removeObserver(e.stream, null);
+                } else console.log("Error: stream message without stream!", e);
+              },
+            },
+            {
+              key: "reconnect",
+              value: function () {
+                var e = this;
+                0 !== a.a.keys(this.observers).length &&
+                  (console.log("LiveSrv: Reconnecting"),
+                  this.getConnection().then(function (t) {
+                    a.a.each(e.observers, function (t, n) {
+                      e.send({ action: "subscribe", stream: n });
+                    });
+                  }));
+              },
+            },
+            {
+              key: "send",
+              value: function (e) {
+                this.conn.send(JSON.stringify(e));
+              },
+            },
+            {
+              key: "addObserver",
+              value: function (e, t) {
+                var n = this;
+                (this.observers[e] = t),
+                  this.getConnection().then(function (t) {
+                    n.send({ action: "subscribe", stream: e });
+                  });
+              },
+            },
+            {
+              key: "removeObserver",
+              value: function (e, t) {
+                var n = this;
+                console.log("unsubscribe", e),
+                  delete this.observers[e],
+                  this.getConnection().then(function (t) {
+                    n.send({ action: "unsubscribe", stream: e });
+                  });
+              },
+            },
+            {
+              key: "subscribe",
+              value: function (e) {
+                var t = this;
+                return (
+                  console.log("LiveSrv.subscribe: " + e),
+                  Re.a.create(function (n) {
+                    return (
+                      t.addObserver(e, n),
+                      function () {
+                        t.removeObserver(e, n);
+                      }
+                    );
+                  })
+                );
+              },
+            },
+          ]) && Fe(t.prototype, n),
+          r && Fe(t, r),
+          e
+        );
+      })())(),
+        n("1524");
+      function Le(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      Be.$inject = ["$rootScope"];
+      var Ve = (function () {
+        function e(t) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$rootScope = t),
+            (this.mode = ie.a.get("grafana.list.layout.mode") || "grid");
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$rootScope"]),
+          (t = e),
+          (n = [
+            {
+              key: "listView",
+              value: function () {
+                (this.mode = "list"),
+                  ie.a.set("grafana.list.layout.mode", "list"),
+                  this.$rootScope.appEvent(
+                    G.CoreEvents.layoutModeChanged,
+                    "list"
+                  );
+              },
+            },
+            {
+              key: "gridView",
+              value: function () {
+                (this.mode = "grid"),
+                  ie.a.set("grafana.list.layout.mode", "grid"),
+                  this.$rootScope.appEvent(
+                    G.CoreEvents.layoutModeChanged,
+                    "grid"
+                  );
+              },
+            },
+          ]) && Le(t.prototype, n),
+          r && Le(t, r),
+          e
+        );
+      })();
+      function Be(e) {
+        return {
+          restrict: "A",
+          scope: {},
+          link: function (t, n) {
+            var r =
+              "card-list-layout-" +
+              (ie.a.get("grafana.list.layout.mode") || "grid");
+            n.addClass(r),
+              e.onAppEvent(
+                G.CoreEvents.layoutModeChanged,
+                function (e, t) {
+                  n.removeClass(r),
+                    (r = "card-list-layout-" + t),
+                    n.addClass(r);
+                },
+                t
+              );
+          },
+        };
+      }
+      function $e(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      l.c.directive("layoutSelector", function () {
+        return {
+          restrict: "E",
+          controller: Ve,
+          bindToController: !0,
+          controllerAs: "ctrl",
+          scope: {},
+          template:
+            '\n<div class="layout-selector">\n  <button ng-click="ctrl.listView()" ng-class="{active: ctrl.mode === \'list\'}">\n    <i class="fa fa-list"></i>\n  </button>\n  <button ng-click="ctrl.gridView()" ng-class="{active: ctrl.mode === \'grid\'}">\n    <i class="fa fa-th"></i>\n  </button>\n</div>\n',
+        };
+      }),
+        l.c.directive("layoutMode", Be);
+      var qe = (function () {
+        function e(t, n) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$timeout = n),
+            (this.show = !0),
+            (this.id = t.$id);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$scope", "$timeout"]),
+          (t = e),
+          (n = [
+            {
+              key: "internalOnChange",
+              value: function () {
+                var e = this;
+                return this.$timeout(function () {
+                  return e.onChange();
+                });
+              },
+            },
+          ]) && $e(t.prototype, n),
+          r && $e(t, r),
+          e
+        );
+      })();
+      function Ue(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      l.c.directive("gfFormSwitch", function () {
+        return {
+          restrict: "E",
+          controller: qe,
+          controllerAs: "ctrl",
+          bindToController: !0,
+          scope: {
+            checked: "=",
+            label: "@",
+            labelClass: "@",
+            tooltip: "@",
+            switchClass: "@",
+            onChange: "&",
+          },
+          template:
+            '\n<label for="check-{{ctrl.id}}" class="gf-form-switch-container">\n  <div class="gf-form-label {{ctrl.labelClass}}" ng-show="ctrl.label">\n    {{ctrl.label}}\n    <info-popover mode="right-normal" ng-if="ctrl.tooltip" position="top center">\n      {{ctrl.tooltip}}\n    </info-popover>\n  </div>\n  <div class="gf-form-switch {{ctrl.switchClass}}" ng-if="ctrl.show">\n    <input id="check-{{ctrl.id}}" type="checkbox" ng-model="ctrl.checked" ng-change="ctrl.internalOnChange()">\n    <span class="gf-form-switch__slider"></span>\n  </div>\n</label>\n',
+        };
+      }),
+        l.c.directive("gfFormCheckbox", function () {
+          return {
+            restrict: "E",
+            controller: qe,
+            controllerAs: "ctrl",
+            bindToController: !0,
+            scope: {
+              checked: "=",
+              label: "@",
+              labelClass: "@",
+              tooltip: "@",
+              switchClass: "@",
+              onChange: "&",
+            },
+            template:
+              '\n<label for="check-{{ctrl.id}}" class="gf-form-switch-container">\n   <div class="gf-form-label {{ctrl.labelClass}}" ng-show="ctrl.label">\n    {{ctrl.label}}\n    <info-popover mode="right-normal" ng-if="ctrl.tooltip" position="top center">\n      {{ctrl.tooltip}}\n    </info-popover>\n  </div>\n  <div class="gf-form-checkbox {{ctrl.switchClass}}" ng-if="ctrl.show">\n    <input id="check-{{ctrl.id}}" type="checkbox" ng-model="ctrl.checked" ng-change="ctrl.internalOnChange()">\n    <span class="gf-form-switch__checkbox"></span>\n  </div>\n</label>\n',
+          };
+        });
+      var ze = (function () {
+        function e() {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e);
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "$onInit",
+              value: function () {
+                var e = this;
+                return (
+                  (this.options = [{ value: 0, text: "Default" }]),
+                  se.b.search({ starred: !0 }).then(function (t) {
+                    t.forEach(function (t) {
+                      e.options.push({ value: t.id, text: t.title });
+                    });
+                  })
+                );
+              },
+            },
+          ]) && Ue(t.prototype, n),
+          r && Ue(t, r),
+          e
+        );
+      })();
+      l.c.directive("dashboardSelector", function () {
+        return {
+          restrict: "E",
+          controller: ze,
+          bindToController: !0,
+          controllerAs: "ctrl",
+          template:
+            '\n<select class="gf-form-input" ng-model="ctrl.model" ng-options="f.value as f.text for f in ctrl.options"></select>\n',
+          scope: { model: "=" },
+        };
+      });
+      var He = n("2KQq");
+      Ge.$inject = ["templateSrv"];
+      function Ge(e) {
+        return {
+          restrict: "E",
+          template:
+            '\n<div class="dropdown cascade-open">\n<a ng-click="showActionsMenu()" class="query-part-name pointer dropdown-toggle" data-toggle="dropdown">{{part.def.type}}</a>\n<span>(</span><span class="query-part-parameters"></span><span>)</span>\n<ul class="dropdown-menu">\n  <li ng-repeat="action in partActions">\n    <a ng-click="triggerPartAction(action)">{{action.text}}</a>\n  </li>\n</ul>\n',
+          scope: { part: "=", handleEvent: "&", debounce: "@" },
+          link: function (t, n) {
+            var r = t.part,
+              o = r.def,
+              l = n.find(".query-part-parameters"),
+              s = t.debounce;
+            function c(e) {
+              var t = i()(this),
+                n = t.next();
+              n.val(r.params[e]),
+                n.css("width", t.width() + 16 + "px"),
+                t.hide(),
+                n.show(),
+                n.focus(),
+                n.select();
+              var a = n.data("typeahead");
+              a && (n.val(""), a.lookup());
+            }
+            function u(n) {
+              var a = i()(this),
+                o = a.prev(),
+                l = a.val();
+              ("" !== l || r.def.params[n].optional) &&
+                (o.html(e.highlightVariablesAsHtml(l)),
+                r.updateParam(a.val(), n),
+                t.$apply(function () {
+                  t.handleEvent({ $event: { name: "part-param-changed" } });
+                })),
+                a.hide(),
+                o.show();
+            }
+            function f(e, t) {
+              13 === t.which && u.call(this, e);
+            }
+            function d() {
+              this.style.width = 8 * (3 + this.value.length) + "px";
+            }
+            function p() {
+              a.a.each(o.params, function (n, o) {
+                if (!(n.optional && r.params.length <= o)) {
+                  o > 0 && i()("<span>, </span>").appendTo(l);
+                  var p = e.highlightVariablesAsHtml(r.params[o]),
+                    h = i()(
+                      '<a class="graphite-func-param-link pointer">' +
+                        p +
+                        "</a>"
+                    ),
+                    m = i()(
+                      '<input type="text" class="hide input-mini tight-form-func-param"></input>'
+                    );
+                  h.appendTo(l),
+                    m.appendTo(l),
+                    m.blur(a.a.partial(u, o)),
+                    m.keyup(d),
+                    m.keypress(a.a.partial(f, o)),
+                    h.click(a.a.partial(c, o)),
+                    (function (e, n, r) {
+                      if (n.options || n.dynamicLookup) {
+                        e.attr("data-provide", "typeahead"),
+                          e.typeahead({
+                            source: function (e, r) {
+                              if (n.options) {
+                                var o = n.options;
+                                return (
+                                  "int" === n.type &&
+                                    (o = a.a.map(o, function (e) {
+                                      return e.toString();
+                                    })),
+                                  o
+                                );
+                              }
+                              t.$apply(function () {
+                                t.handleEvent({
+                                  $event: { name: "get-param-options" },
+                                }).then(function (e) {
+                                  var t = a.a.map(e, function (e) {
+                                    return a.a.escape(e.value);
+                                  });
+                                  r(t);
+                                });
+                              });
+                            },
+                            minLength: 0,
+                            items: 1e3,
+                            updater: function (t) {
+                              return (
+                                (t = a.a.unescape(t)),
+                                setTimeout(function () {
+                                  u.call(e[0], r);
+                                }, 0),
+                                t
+                              );
+                            },
+                          });
+                        var o = e.data("typeahead");
+                        (o.lookup = function () {
+                          this.query = this.$element.val() || "";
+                          var e = this.source(
+                            this.query,
+                            i.a.proxy(this.process, this)
+                          );
+                          return e ? this.process(e) : e;
+                        }),
+                          s &&
+                            (o.lookup = a.a.debounce(o.lookup, 500, {
+                              leading: !0,
+                            }));
+                      }
+                    })(m, n, o);
+                }
+              });
+            }
+            (t.partActions = []),
+              (t.showActionsMenu = function () {
+                Object(He.a)(t)(
+                  t
+                    .handleEvent({ $event: { name: "get-part-actions" } })
+                    .then(function (e) {
+                      t.partActions = e;
+                    })
+                );
+              }),
+              (t.triggerPartAction = function (e) {
+                t.handleEvent({ $event: { name: "action", action: e } });
+              }),
+              l.empty(),
+              p();
+          },
+        };
+      }
+      l.c.directive("queryPartEditor", Ge), (We.$inject = ["templateSrv"]);
+      function We(e) {
+        return {
+          restrict: "E",
+          template:
+            '\n<div class="dropdown cascade-open">\n<a ng-click="showActionsMenu()" class="query-part-name pointer dropdown-toggle" data-toggle="dropdown">{{part.label}}</a>\n<span>{{part.def.wrapOpen}}</span><span class="query-part-parameters"></span><span>{{part.def.wrapClose}}</span>\n<ul class="dropdown-menu">\n  <li ng-repeat="action in partActions">\n    <a ng-click="triggerPartAction(action)">{{action.text}}</a>\n  </li>\n</ul>\n',
+          scope: { part: "=", handleEvent: "&", debounce: "@" },
+          link: function (t, n) {
+            var r = t.part,
+              o = r.def,
+              l = n.find(".query-part-parameters"),
+              s = t.debounce,
+              c = null;
+            function u(e) {
+              var t = i()(this),
+                n = t.next();
+              n.val(r.params[e]),
+                n.css("width", t.width() + 16 + "px"),
+                t.hide(),
+                n.show(),
+                n.focus(),
+                n.select();
+              var a = n.data("typeahead");
+              a && (n.val(""), a.lookup());
+            }
+            function f(e, t) {
+              c = setTimeout(function () {
+                d(e, t);
+              }, 200);
+            }
+            function d(n, a) {
+              var o = n.prev(),
+                i = n.val();
+              ("" !== i || r.def.params[a].optional) &&
+                (o.html(e.highlightVariablesAsHtml(i)),
+                r.updateParam(n.val(), a),
+                t.$apply(function () {
+                  t.handleEvent({ $event: { name: "part-param-changed" } });
+                })),
+                n.hide(),
+                o.show();
+            }
+            function p(e, t) {
+              13 === t.which && d(i()(this), e);
+            }
+            function h() {
+              this.style.width = 8 * (3 + this.value.length) + "px";
+            }
+            function m() {
+              a.a.each(o.params, function (n, d) {
+                if (!(n.optional && r.params.length <= d)) {
+                  d > 0 && i()("<span>" + o.separator + "</span>").appendTo(l);
+                  var m = e.highlightVariablesAsHtml(r.params[d]),
+                    g = i()('<a class="query-part__link">' + m + "</a>"),
+                    b = i()(
+                      '<input type="text" class="hide input-mini"></input>'
+                    );
+                  g.appendTo(l),
+                    b.appendTo(l),
+                    b.blur(a.a.partial(f, b, d)),
+                    b.keyup(h),
+                    b.keypress(a.a.partial(p, d)),
+                    g.click(a.a.partial(u, d)),
+                    (function (e, n, o) {
+                      if (n.options || n.dynamicLookup) {
+                        e.attr("data-provide", "typeahead"),
+                          e.typeahead({
+                            source: function (e, i) {
+                              if (n.options) {
+                                var l = n.options;
+                                return (
+                                  "int" === n.type &&
+                                    (l = a.a.map(l, function (e) {
+                                      return e.toString();
+                                    })),
+                                  l
+                                );
+                              }
+                              t.$apply(function () {
+                                t.handleEvent({
+                                  $event: {
+                                    name: "get-param-options",
+                                    param: n,
+                                  },
+                                }).then(function (e) {
+                                  var t = a.a.map(e, function (e) {
+                                    return a.a.escape(e.value);
+                                  });
+                                  -1 === a.a.indexOf(t, r.params[o]) &&
+                                    t.unshift(a.a.escape(r.params[o])),
+                                    i(t);
+                                });
+                              });
+                            },
+                            minLength: 0,
+                            items: 1e3,
+                            updater: function (t) {
+                              return (t = a.a.unescape(t)) === r.params[o]
+                                ? (clearTimeout(c), e.focus(), t)
+                                : t;
+                            },
+                          });
+                        var l = e.data("typeahead");
+                        (l.lookup = function () {
+                          this.query = this.$element.val() || "";
+                          var e = this.source(
+                            this.query,
+                            i.a.proxy(this.process, this)
+                          );
+                          return e ? this.process(e) : e;
+                        }),
+                          s &&
+                            (l.lookup = a.a.debounce(l.lookup, 500, {
+                              leading: !0,
+                            }));
+                      }
+                    })(b, n, d);
+                }
+              });
+            }
+            (t.partActions = []),
+              (t.showActionsMenu = function () {
+                t.handleEvent({ $event: { name: "get-part-actions" } }).then(
+                  function (e) {
+                    t.partActions = e;
+                  }
+                );
+              }),
+              (t.triggerPartAction = function (e) {
+                t.handleEvent({ $event: { name: "action", action: e } });
+              }),
+              l.empty(),
+              m();
+          },
+        };
+      }
+      function Qe(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Ye(e) {
+        var t = this.query;
+        return (
+          "" === t ||
+          ("/" === t[0] && (t = t.substring(1)),
+          "/" === t[t.length - 1] && (t = t.substring(0, t.length - 1)),
+          e.toLowerCase().match(t.toLowerCase()))
+        );
+      }
+      l.c.directive("sqlPartEditor", We);
+      var Ke = (function () {
+        function e(t, n, r, o) {
+          var i = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$scope = t),
+            (this.$sce = r),
+            (this.templateSrv = o),
+            (this.inputElement = n.find("input").first()),
+            (this.linkElement = n.find("a").first()),
+            (this.linkMode = !0),
+            (this.cancelBlur = null),
+            t.$watch("ctrl.model", this.modelChanged.bind(this)),
+            this.labelMode
+              ? (this.cssClasses = "gf-form-label " + this.cssClass)
+              : (this.cssClasses =
+                  "gf-form-input gf-form-input--dropdown " + this.cssClass),
+            this.placeholder &&
+              this.inputElement.attr("placeholder", this.placeholder),
+            this.inputElement.attr("data-provide", "typeahead"),
+            this.inputElement.typeahead({
+              source: this.typeaheadSource.bind(this),
+              minLength: 0,
+              items: 1e4,
+              updater: this.typeaheadUpdater.bind(this),
+              matcher: Ye,
+            });
+          var l = this.inputElement.data("typeahead");
+          (l.lookup = function () {
+            (this.query = this.$element.val() || ""),
+              this.source(this.query, this.process.bind(this));
+          }),
+            this.debounce &&
+              (l.lookup = a.a.debounce(l.lookup, 500, { leading: !0 })),
+            this.linkElement.keydown(function (e) {
+              (40 !== e.keyCode && 13 !== e.keyCode) || i.linkElement.click();
+            }),
+            this.inputElement.keydown(function (e) {
+              13 === e.keyCode &&
+                setTimeout(function () {
+                  i.inputElement.blur();
+                }, 300);
+            }),
+            this.inputElement.blur(this.inputBlur.bind(this)),
+            this.startOpen && setTimeout(this.open.bind(this), 0);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$scope", "$element", "$sce", "templateSrv"]),
+          (t = e),
+          (n = [
+            {
+              key: "getOptionsInternal",
+              value: function (e) {
+                return Object(He.a)(this.$scope)(
+                  Promise.resolve(this.getOptions({ $query: e }))
+                );
+              },
+            },
+            {
+              key: "isPromiseLike",
+              value: function (e) {
+                return e && "function" == typeof e.then;
+              },
+            },
+            {
+              key: "modelChanged",
+              value: function () {
+                var e = this;
+                a.a.isObject(this.model)
+                  ? this.updateDisplay(this.model.text)
+                  : this.lookupText
+                  ? this.getOptionsInternal("").then(function (t) {
+                      var n = a.a.find(t, { value: e.model });
+                      e.updateDisplay(n ? n.text : e.model);
+                    })
+                  : this.updateDisplay(this.model);
+              },
+            },
+            {
+              key: "typeaheadSource",
+              value: function (e, t) {
+                var n = this;
+                this.getOptionsInternal(e).then(function (e) {
+                  n.optionCache = e;
+                  var r = a.a.map(e, function (e) {
+                    return a.a.escape(e.text);
+                  });
+                  n.allowCustom &&
+                    "" !== n.text &&
+                    -1 === a.a.indexOf(r, n.text) &&
+                    r.unshift(n.text),
+                    t(r);
+                });
+              },
+            },
+            {
+              key: "typeaheadUpdater",
+              value: function (e) {
+                return e === this.text
+                  ? (clearTimeout(this.cancelBlur),
+                    this.inputElement.focus(),
+                    e)
+                  : (this.inputElement.val(e), this.switchToLink(!0), e);
+              },
+            },
+            {
+              key: "switchToLink",
+              value: function (e) {
+                (this.linkMode && !e) ||
+                  (clearTimeout(this.cancelBlur),
+                  (this.cancelBlur = null),
+                  (this.linkMode = !0),
+                  this.inputElement.hide(),
+                  this.linkElement.show(),
+                  this.updateValue(this.inputElement.val()));
+              },
+            },
+            {
+              key: "inputBlur",
+              value: function () {
+                this.cancelBlur = setTimeout(this.switchToLink.bind(this), 200);
+              },
+            },
+            {
+              key: "updateValue",
+              value: function (e) {
+                var t = this;
+                "" !== (e = a.a.unescape(e)) &&
+                  this.text !== e &&
+                  this.$scope.$apply(function () {
+                    var n = a.a.find(t.optionCache, { text: e });
+                    n
+                      ? (a.a.isObject(t.model)
+                          ? (t.model = n)
+                          : (t.model = n.value),
+                        (t.text = n.text))
+                      : t.allowCustom &&
+                        (a.a.isObject(t.model)
+                          ? (t.model.text = t.model.value = e)
+                          : (t.model = e),
+                        (t.text = e)),
+                      t.$scope.$$postDigest(function () {
+                        t.$scope.$apply(function () {
+                          t.onChange({ $option: n });
+                        });
+                      });
+                  });
+              },
+            },
+            {
+              key: "updateDisplay",
+              value: function (e) {
+                (this.text = e),
+                  (this.display = this.$sce.trustAsHtml(
+                    this.templateSrv.highlightVariablesAsHtml(e)
+                  ));
+              },
+            },
+            {
+              key: "open",
+              value: function () {
+                this.inputElement.css(
+                  "width",
+                  Math.max(this.linkElement.width(), 80) + 16 + "px"
+                ),
+                  this.inputElement.show(),
+                  this.inputElement.focus(),
+                  this.linkElement.hide(),
+                  (this.linkMode = !1);
+                var e = this.inputElement.data("typeahead");
+                e && (this.inputElement.val(""), e.lookup());
+              },
+            },
+          ]) && Qe(t.prototype, n),
+          r && Qe(t, r),
+          e
+        );
+      })();
+      l.c.directive("gfFormDropdown", function () {
+        return {
+          restrict: "E",
+          template:
+            '\n<input type="text"\n  data-provide="typeahead"\n  class="gf-form-input"\n  spellcheck="false"\n  style="display:none">\n</input>\n<a ng-class="ctrl.cssClasses"\n   tabindex="1"\n   ng-click="ctrl.open()"\n   give-focus="ctrl.focus"\n   ng-bind-html="ctrl.display || \'&nbsp;\'">\n</a>\n',
+          controller: Ke,
+          bindToController: !0,
+          controllerAs: "ctrl",
+          scope: {
+            model: "=",
+            getOptions: "&",
+            onChange: "&",
+            cssClass: "@",
+            allowCustom: "@",
+            labelMode: "@",
+            lookupText: "@",
+            placeholder: "@",
+            startOpen: "@",
+            debounce: "@",
+          },
+        };
+      });
+      var Je = function e(t) {
+        !(function (e, t) {
+          if (!(e instanceof t))
+            throw new TypeError("Cannot call a class as a function");
+        })(this, e),
+          (t.json = h.a.toJson(t.model.object, !0)),
+          (t.canUpdate = void 0 !== t.model.updateHandler && t.model.canUpdate),
+          (t.canCopy = t.model.enableCopy),
+          (t.update = function () {
+            var e = h.a.fromJson(t.json);
+            t.model.updateHandler(e, t.model.object);
+          }),
+          (t.getContentForClipboard = function () {
+            return t.json;
+          });
+      };
+      (Je.$inject = ["$scope"]),
+        (Je.$inject = ["$scope"]),
+        l.c.controller("JsonEditorCtrl", Je);
+      var Ze = n("t8hP");
+      var Xe = function e(t, n, r) {
+        !(function (e, t) {
+          if (!(e instanceof t))
+            throw new TypeError("Cannot call a class as a function");
+        })(this, e),
+          (r.sidemenu = !1),
+          (t.formModel = {}),
+          (t.navModel = {
+            main: {
+              icon: "gicon gicon-branding",
+              text: "Invite",
+              subTitle: "Register your Grafana account",
+              breadcrumbs: [{ title: "Login", url: "login" }],
+            },
+          }),
+          (t.init = function () {
+            Object(He.a)(t)(
+              Object(Ze.getBackendSrv)()
+                .get("/api/user/invite/" + n.code)
+                .then(function (e) {
+                  (t.formModel.name = e.name),
+                    (t.formModel.email = e.email),
+                    (t.formModel.username = e.email),
+                    (t.formModel.inviteCode = n.code),
+                    (t.greeting = e.name || e.email || e.username),
+                    (t.invitedBy = e.invitedBy);
+                })
+            );
+          }),
+          (t.submit = function () {
+            t.inviteForm.$valid &&
+              Object(Ze.getBackendSrv)()
+                .post("/api/user/invite/complete", t.formModel)
+                .then(function () {
+                  window.location.href = ee.b.appSubUrl + "/";
+                });
+          }),
+          t.init();
+      };
+      (Xe.$inject = ["$scope", "$routeParams", "contextSrv"]),
+        (Xe.$inject = ["$scope", "$routeParams", "contextSrv"]),
+        l.c.controller("InvitedCtrl", Xe);
+      var et = n("3x4x");
+      function tt(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var nt = (function () {
+        function e(t, n, r) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$scope = t),
+            (r.sidemenu = !1),
+            (t.ctrl = this),
+            (t.formModel = {});
+          var a = n.search();
+          !a.email || a.email.match(/^\S+@\S+$/)
+            ? ((t.formModel.orgName = a.email),
+              (t.formModel.email = a.email),
+              (t.formModel.username = a.email),
+              (t.formModel.code = a.code),
+              (t.verifyEmailEnabled = !1),
+              (t.autoAssignOrg = !1),
+              (t.navModel = {
+                main: {
+                  icon: "gicon gicon-branding",
+                  text: "Sign Up",
+                  subTitle: "Register your Grafana account",
+                  breadcrumbs: [{ title: "Login", url: "login" }],
+                },
+              }),
+              Object(He.a)(t)(
+                Object(et.c)()
+                  .get("/api/user/signup/options")
+                  .then(function (e) {
+                    (t.verifyEmailEnabled = e.verifyEmailEnabled),
+                      (t.autoAssignOrg = e.autoAssignOrg);
+                  })
+              ))
+            : console.log("invalid email");
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$scope", "$location", "contextSrv"]),
+          (t = e),
+          (n = [
+            {
+              key: "submit",
+              value: function () {
+                this.$scope.signUpForm.$valid &&
+                  Object(et.c)()
+                    .post("/api/user/signup/step2", this.$scope.formModel)
+                    .then(function (e) {
+                      "redirect-to-select-org" === e.code
+                        ? (window.location.href =
+                            ee.b.appSubUrl + "/profile/select-org?signup=1")
+                        : (window.location.href = ee.b.appSubUrl + "/");
+                    });
+              },
+            },
+          ]) && tt(t.prototype, n),
+          r && tt(t, r),
+          e
+        );
+      })();
+      l.c.controller("SignUpCtrl", nt);
+      var rt = function e(t, n) {
+        !(function (e, t) {
+          if (!(e instanceof t))
+            throw new TypeError("Cannot call a class as a function");
+        })(this, e),
+          (t.formModel = {}),
+          (t.mode = "send"),
+          (t.ldapEnabled = ee.b.ldapEnabled),
+          (t.authProxyEnabled = ee.b.authProxyEnabled),
+          (t.disableLoginForm = ee.b.disableLoginForm);
+        var r = n.search();
+        r.code && ((t.mode = "reset"), (t.formModel.code = r.code)),
+          (t.navModel = {
+            main: {
+              icon: "gicon gicon-branding",
+              text: "Reset Password",
+              subTitle: "Reset your Grafana password",
+              breadcrumbs: [{ title: "Login", url: "login" }],
+            },
+          }),
+          (t.sendResetEmail = function () {
+            t.sendResetForm.$valid &&
+              Object(He.a)(t)(
+                Object(Ze.getBackendSrv)()
+                  .post("/api/user/password/send-reset-email", t.formModel)
+                  .then(function () {
+                    t.mode = "email-sent";
+                  })
+              );
+          }),
+          (t.submitReset = function () {
+            t.resetForm.$valid &&
+              (t.formModel.newPassword === t.formModel.confirmPassword
+                ? Object(Ze.getBackendSrv)()
+                    .post("/api/user/password/reset", t.formModel)
+                    .then(function () {
+                      n.path("login");
+                    })
+                : t.appEvent(v.AppEvents.alertWarning, [
+                    "New passwords do not match",
+                  ]));
+          });
+      };
+      (rt.$inject = ["$scope", "$location"]),
+        (rt.$inject = ["$scope", "$location"]),
+        l.c.controller("ResetPasswordCtrl", rt);
+      var at = function e(t, n, r) {
+        !(function (e, t) {
+          if (!(e instanceof t))
+            throw new TypeError("Cannot call a class as a function");
+        })(this, e),
+          (t.navModel = r.getNotFoundNav()),
+          (t.appSubUrl = ee.b.appSubUrl),
+          n.isSignedIn || ke.b.emit(G.CoreEvents.toggleSidemenuHidden),
+          t.$on("destroy", function () {
+            n.isSignedIn || ke.b.emit(G.CoreEvents.toggleSidemenuHidden);
+          });
+      };
+      function ot(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      (at.$inject = ["$scope", "contextSrv", "navModelSrv"]),
+        (at.$inject = ["$scope", "contextSrv", "navModelSrv"]),
+        l.c.controller("ErrorCtrl", at);
+      var it = (function () {
+        function e() {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e);
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "set",
+              value: function () {
+                console.log("old depricated alert srv being used");
+              },
+            },
+          ]) && ot(t.prototype, n),
+          r && ot(t, r),
+          e
+        );
+      })();
+      l.c.service("alertSrv", it);
+      var lt = n("AI1G"),
+        st = Object(lt.a)(function (e) {
+          return de.a.createElement(
+            de.a.Fragment,
+            null,
+            de.a.createElement(
+              j.ModalsProvider,
+              e,
+              de.a.createElement(j.ModalRoot, null)
+            )
+          );
+        }),
+        ct = n("t/ct");
+      function ut(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function ft(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? ut(Object(n), !0).forEach(function (t) {
+                dt(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : ut(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function dt(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function pt(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var ht = (function () {
+        function e(t, n) {
+          var r = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$rootScope = t),
+            (this.$modal = n),
+            (this.reactModalRoot = document.body),
+            (this.reactModalNode = document.createElement("div")),
+            (this.onReactModalDismiss = function () {
+              he.a.unmountComponentAtNode(r.reactModalNode),
+                r.reactModalRoot.removeChild(r.reactModalNode);
+            }),
+            this.reactModalNode.setAttribute("id", "angular2ReactModalRoot");
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$rootScope", "$modal"]),
+          (t = e),
+          (n = [
+            {
+              key: "init",
+              value: function () {
+                ke.b.on(
+                  G.CoreEvents.showModal,
+                  this.showModal.bind(this),
+                  this.$rootScope
+                ),
+                  ke.b.on(
+                    G.CoreEvents.hideModal,
+                    this.hideModal.bind(this),
+                    this.$rootScope
+                  ),
+                  ke.b.on(
+                    G.CoreEvents.showConfirmModal,
+                    this.showConfirmModal.bind(this),
+                    this.$rootScope
+                  ),
+                  ke.b.on(
+                    G.CoreEvents.showModalReact,
+                    this.showModalReact.bind(this),
+                    this.$rootScope
+                  );
+              },
+            },
+            {
+              key: "showModalReact",
+              value: function (e) {
+                var t = {
+                    component: e.component,
+                    props: ft({}, e.props, {
+                      isOpen: !0,
+                      onDismiss: this.onReactModalDismiss,
+                    }),
+                  },
+                  n = de.a.createElement(Object(ct.b)(st), t);
+                return (
+                  this.reactModalRoot.appendChild(this.reactModalNode),
+                  he.a.render(n, this.reactModalNode)
+                );
+              },
+            },
+            {
+              key: "hideModal",
+              value: function () {
+                this.modalScope &&
+                  this.modalScope.dismiss &&
+                  this.modalScope.dismiss();
+              },
+            },
+            {
+              key: "showModal",
+              value: function (e) {
+                this.modalScope &&
+                  this.modalScope.dismiss &&
+                  this.modalScope.dismiss(),
+                  (this.modalScope = e.scope),
+                  e.model
+                    ? ((this.modalScope = this.$rootScope.$new()),
+                      (this.modalScope.model = e.model))
+                    : this.modalScope ||
+                      (this.modalScope = this.$rootScope.$new());
+                var t = this.$modal({
+                  modalClass: e.modalClass,
+                  template: e.src,
+                  templateHtml: e.templateHtml,
+                  persist: !1,
+                  show: !1,
+                  scope: this.modalScope,
+                  keyboard: !1,
+                  backdrop: e.backdrop,
+                });
+                Promise.resolve(t).then(function (e) {
+                  e.modal("show");
+                });
+              },
+            },
+            {
+              key: "showConfirmModal",
+              value: function (e) {
+                var t = this.$rootScope.$new();
+                (t.updateConfirmText = function (n) {
+                  t.confirmTextValid =
+                    e.confirmText.toLowerCase() === n.toLowerCase();
+                }),
+                  (t.title = e.title),
+                  (t.text = e.text),
+                  (t.text2 = e.text2),
+                  (t.text2htmlBind = e.text2htmlBind),
+                  (t.confirmText = e.confirmText),
+                  (t.onConfirm = e.onConfirm),
+                  (t.onAltAction = e.onAltAction),
+                  (t.altActionText = e.altActionText),
+                  (t.icon = e.icon || "fa-check"),
+                  (t.yesText = e.yesText || "Yes"),
+                  (t.noText = e.noText || "Cancel"),
+                  (t.confirmTextValid = !t.confirmText),
+                  (t.selectors = L.a.pages.ConfirmModal.selectors),
+                  ke.b.emit(G.CoreEvents.showModal, {
+                    src: "public/app/partials/confirm_modal.html",
+                    scope: t,
+                    modalClass: "confirm-modal",
+                  });
+              },
+            },
+          ]) && pt(t.prototype, n),
+          r && pt(t, r),
+          e
+        );
+      })();
+      function mt(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      l.c.service("utilSrv", ht);
+      var gt = (function () {
+        function e(t) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$timeout = t),
+            (this.timers = []);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$timeout"]),
+          (t = e),
+          (n = [
+            {
+              key: "register",
+              value: function (e) {
+                return this.timers.push(e), e;
+              },
+            },
+            {
+              key: "cancel",
+              value: function (e) {
+                (this.timers = a.a.without(this.timers, e)),
+                  this.$timeout.cancel(e);
+              },
+            },
+            {
+              key: "cancelAll",
+              value: function () {
+                var e = this;
+                a.a.each(this.timers, function (t) {
+                  e.$timeout.cancel(t);
+                }),
+                  (this.timers = []);
+              },
+            },
+          ]) && mt(t.prototype, n),
+          r && mt(t, r),
+          e
+        );
+      })();
+      function bt(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      l.c.service("timer", gt), (yt.$inject = ["googleAnalyticsSrv"]);
+      var vt = (function () {
+        function e(t, n) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$rootScope = t),
+            (this.$location = n);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$rootScope", "$location"]),
+          (t = e),
+          (n = [
+            {
+              key: "gaInit",
+              value: function () {
+                i.a.ajax({
+                  url: "https://www.google-analytics.com/analytics.js",
+                  dataType: "script",
+                  cache: !0,
+                });
+                var e = (window.ga =
+                  window.ga ||
+                  function () {
+                    (e.q = e.q || []).push(arguments);
+                  });
+                return (
+                  (e.l = +new Date()),
+                  e("create", ee.b.googleAnalyticsId, "auto"),
+                  e("set", "anonymizeIp", !0),
+                  e
+                );
+              },
+            },
+            {
+              key: "init",
+              value: function () {
+                var e = this;
+                this.$rootScope.$on("$viewContentLoaded", function () {
+                  var t = { page: e.$location.url() },
+                    n = window.ga || e.gaInit();
+                  n("set", t), n("send", "pageview");
+                });
+              },
+            },
+          ]) && bt(t.prototype, n),
+          r && bt(t, r),
+          e
+        );
+      })();
+      function yt(e) {
+        ee.b.googleAnalyticsId && e.init();
+      }
+      function wt(e, t, n) {
+        var r = null;
+        (this.close = function () {
+          r && r.close();
+        }),
+          (this.show = function (o) {
+            r && (r.close(), (r = null));
+            var i,
+              l = a.a.extend(t.$new(!0), o.model);
+            l.dismiss = function () {
+              i.close();
+            };
+            var s = document.createElement("div");
+            return (
+              (s.innerHTML = o.template),
+              e(s)(l),
+              n(function () {
+                (i = new Ie.a({
+                  target: o.element,
+                  content: s,
+                  position: o.position,
+                  classes: o.classNames || "drop-popover",
+                  openOn: o.openOn,
+                  hoverCloseDelay: 200,
+                  tetherOptions: {
+                    constraints: [
+                      { to: "scrollParent", attachment: "together" },
+                    ],
+                  },
+                })).on("close", function () {
+                  setTimeout(function () {
+                    l.$destroy(),
+                      i.tether && i.destroy(),
+                      o.onClose && o.onClose();
+                  }),
+                    (r = null);
+                }),
+                  (r = i).open();
+              }, 100),
+              function () {
+                i && i.close();
+              }
+            );
+          });
+      }
+      function Ot(e, t) {
+        var n = this,
+          r = function n(r) {
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, n),
+              "*" === r || "*" === r.value
+                ? ((this.value = "*"),
+                  (this.html = e.trustAsHtml('<i class="fa fa-asterisk"><i>')),
+                  (this.type = r.type),
+                  void (this.expandable = !0))
+                : a.a.isString(r)
+                ? ((this.value = r),
+                  void (this.html = e.trustAsHtml(
+                    t.highlightVariablesAsHtml(this.value)
+                  )))
+                : ((this.text = r.value),
+                  (this.cssClass = r.cssClass),
+                  (this.custom = r.custom),
+                  (this.type = r.type),
+                  (this.fake = r.fake),
+                  (this.value = r.value),
+                  (this.selectMode = r.selectMode),
+                  (this.type = r.type),
+                  (this.expandable = r.expandable),
+                  void (this.html =
+                    r.html ||
+                    e.trustAsHtml(t.highlightVariablesAsHtml(this.value))))
+            );
+          };
+        (this.getSegmentForValue = function (e, t) {
+          return e
+            ? this.newSegment(e)
+            : this.newSegment({ value: t, fake: !0 });
+        }),
+          (this.newSelectMeasurement = function () {
+            return new r({ value: "select measurement", fake: !0 });
+          }),
+          (this.newFake = function (e, t, n) {
+            return new r({ value: e, fake: !0, type: t, cssClass: n });
+          }),
+          (this.newSegment = function (e) {
+            return new r(e);
+          }),
+          (this.newKey = function (e) {
+            return new r({
+              value: e,
+              type: "key",
+              cssClass: "query-segment-key",
+            });
+          }),
+          (this.newKeyValue = function (e) {
+            return new r({
+              value: e,
+              type: "value",
+              cssClass: "query-segment-value",
+            });
+          }),
+          (this.newCondition = function (e) {
+            return new r({
+              value: e,
+              type: "condition",
+              cssClass: "query-keyword",
+            });
+          }),
+          (this.newOperator = function (e) {
+            return new r({
+              value: e,
+              type: "operator",
+              cssClass: "query-segment-operator",
+            });
+          }),
+          (this.newOperators = function (e) {
+            return a.a.map(e, function (e) {
+              return new r({
+                value: e,
+                type: "operator",
+                cssClass: "query-segment-operator",
+              });
+            });
+          }),
+          (this.transformToSegments = function (e, r) {
+            return function (o) {
+              var i = a.a.map(o, function (e) {
+                return n.newSegment({
+                  value: e.text,
+                  expandable: e.expandable,
+                });
+              });
+              return (
+                e &&
+                  a.a.each(t.variables, function (e) {
+                    (void 0 !== r && r !== e.type) ||
+                      i.unshift(
+                        n.newSegment({
+                          type: "value",
+                          value: "$" + e.name,
+                          expandable: !0,
+                        })
+                      );
+                  }),
+                i
+              );
+            };
+          }),
+          (this.newSelectMetric = function () {
+            return new r({ value: "select metric", fake: !0 });
+          }),
+          (this.newPlusButton = function () {
+            return new r({
+              fake: !0,
+              html: '<i class="fa fa-plus "></i>',
+              type: "plus-button",
+              cssClass: "query-part",
+            });
+          });
+      }
+      function xt(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      l.c.service("googleAnalyticsSrv", vt).run(yt),
+        (wt.$inject = ["$compile", "$rootScope", "$timeout"]),
+        l.c.service("popoverSrv", wt),
+        (Ot.$inject = ["$sce", "templateSrv"]),
+        l.c.service("uiSegmentSrv", Ot);
+      var kt = (function () {
+        function e(t) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$compile = t);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$compile"]),
+          (t = e),
+          (n = [
+            {
+              key: "addDirective",
+              value: function (e, t, n) {
+                var r = h.a.element(document.createElement(t));
+                this.$compile(r)(n), e.empty(), e.append(r);
+              },
+            },
+            {
+              key: "link",
+              value: function (e, t, n, r) {
+                var a = r.directive(e);
+                a && a.fn
+                  ? (a.fn.registered ||
+                      (l.c.directive(n.$normalize(a.name), a.fn),
+                      (a.fn.registered = !0)),
+                    this.addDirective(t, a.name, e))
+                  : t.empty();
+              },
+            },
+            {
+              key: "create",
+              value: function (e) {
+                var t = this;
+                return {
+                  restrict: "E",
+                  scope: e.scope,
+                  link: function (n, r, a) {
+                    if (e.watchPath) {
+                      var o = null;
+                      n.$watch(e.watchPath, function () {
+                        o && o.$destroy(), (o = n.$new()), t.link(o, r, a, e);
+                      });
+                    } else t.link(n, r, a, e);
+                  },
+                };
+              },
+            },
+          ]) && xt(t.prototype, n),
+          r && xt(t, r),
+          e
+        );
+      })();
+      l.c.service("dynamicDirectiveSrv", kt);
+      var jt = n("iODs"),
+        St = n("UIT+"),
+        Et = n("3SGO");
+      function Ct(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var Pt = (function () {
+        function e(t, n, r, a, o, i) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$location = t),
+            (this.$timeout = n),
+            (this.$window = r),
+            (this.$rootScope = a),
+            (this.$route = o),
+            (this.variableSrv = i),
+            (this.lastQuery = {}),
+            (this.lastPath = ""),
+            (this.fullPageReloadRoutes = ["/logout"]);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = [
+            "$location",
+            "$timeout",
+            "$window",
+            "$rootScope",
+            "$route",
+            "variableSrv",
+          ]),
+          (t = e),
+          (n = [
+            {
+              key: "init",
+              value: function () {
+                var e = this;
+                this.$rootScope.$on("$routeUpdate", function (t, n) {
+                  var r = e.$location.url();
+                  jt.d.getState().location.url !== r &&
+                    jt.d.dispatch(
+                      Object(Et.c)({
+                        path: e.$location.path(),
+                        query: e.$location.search(),
+                        routeParams: e.$route.current.params,
+                      })
+                    );
+                }),
+                  this.$rootScope.$on("$routeChangeSuccess", function (t, n) {
+                    jt.d.dispatch(
+                      Object(Et.c)({
+                        path: e.$location.path(),
+                        query: e.$location.search(),
+                        routeParams: e.$route.current.params,
+                      })
+                    );
+                  }),
+                  jt.d.subscribe(function () {
+                    var t = jt.d.getState(),
+                      n = e.$location.url(),
+                      r = t.location.url;
+                    if (
+                      (n !== r &&
+                        (e.$timeout(function () {
+                          e.$location.url(r),
+                            t.location.replace && e.$location.replace();
+                        }),
+                        console.log("store updating angular $location.url", r)),
+                      t.location.path === e.lastPath)
+                    ) {
+                      var a = (function (e, t) {
+                        var n = 0,
+                          r = {};
+                        for (var a in e)
+                          a.startsWith("var-") &&
+                            e[a] !== t[a] &&
+                            ((r[a] = e[a]), n++);
+                        for (var o in t)
+                          o.startsWith("var-") && (e[o] || ((r[o] = ""), n++));
+                        return n ? r : void 0;
+                      })(t.location.query, e.lastQuery);
+                      a &&
+                        Object(Se.a)().getCurrent() &&
+                        e.variableSrv.templateVarsChangedInUrl(a),
+                        (e.lastQuery = t.location.query);
+                    } else e.lastQuery = {};
+                    e.lastPath = t.location.path;
+                  }),
+                  ke.b.on(G.CoreEvents.locationChange, function (t) {
+                    var n = St.b.stripBaseFromUrl(t.href);
+                    e.fullPageReloadRoutes.indexOf(n) > -1
+                      ? (e.$window.location.href = t.href)
+                      : e.$timeout(function () {
+                          e.$location.url(n);
+                        });
+                  });
+              },
+            },
+          ]) && Ct(t.prototype, n),
+          r && Ct(t, r),
+          e
+        );
+      })();
+      function Tt(e) {
+        var t = function (t, n) {
+          var r;
+          return (
+            (r = n.ctrl
+              ? (n.ctrl.panel || n.ctrl.row).scopedVars
+              : n.row.scopedVars),
+            e.replaceWithText(t, r)
+          );
+        };
+        return (t.$stateful = !0), t;
+      }
+      l.c.service("bridgeSrv", Pt),
+        (Tt.$inject = ["templateSrv"]),
+        l.c.filter("stringSort", function () {
+          return function (e) {
+            return e.sort();
+          };
+        }),
+        l.c.filter("slice", function () {
+          return function (e, t, n) {
+            return a.a.isUndefined(e) ? e : e.slice(t, n);
+          };
+        }),
+        l.c.filter("stringify", function () {
+          return function (e) {
+            return a.a.isObject(e) && !a.a.isArray(e)
+              ? h.a.toJson(e)
+              : a.a.isNull(e)
+              ? null
+              : e.toString();
+          };
+        }),
+        l.c.filter("moment", function () {
+          return function (e, t) {
+            switch (t) {
+              case "ago":
+                return Object(v.dateTime)(e).fromNow();
+            }
+            return Object(v.dateTime)(e).fromNow();
+          };
+        }),
+        l.c.filter("interpolateTemplateVars", Tt);
+      n("PSiG"), n("WUic"), n("lJbD");
+      var Dt = n("CLuu"),
+        At = n.n(Dt);
+      l.c.directive("grafanaScrollbar", function () {
+        return {
+          restrict: "A",
+          link: function (e, t, n) {
+            var r = t.parent(),
+              a = t;
+            console.log("scroll"),
+              n.grafanaScrollbar &&
+                "scrollonroot" === n.grafanaScrollbar &&
+                (r = a),
+              r.addClass("baron baron__root"),
+              i()(
+                '\n<div class="baron__track">\n  <div class="baron__bar"></div>\n</div>\n'
+              ).appendTo(r),
+              t.addClass("baron__scroller");
+            var o = {
+                root: r[0],
+                scroller: a[0],
+                bar: ".baron__bar",
+                barOnCls: "_scrollbar",
+                scrollingCls: "_scrolling",
+                track: ".baron__track",
+                direction: "v",
+              },
+              l = At()(o);
+            e.$on("$destroy", function () {
+              l.dispose();
+            });
+          },
+        };
+      });
+      var _t = n("T9PE"),
+        Nt = n("Q8uG"),
+        Mt = n("Opuj"),
+        It = n("PQjG");
+      function Rt(e) {
+        return (Rt =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Ft(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Lt(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? Ft(Object(n), !0).forEach(function (t) {
+                Vt(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : Ft(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Vt(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Bt(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function $t(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              Bt(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              Bt(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function qt(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Ut(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function zt(e, t) {
+        return !t || ("object" !== Rt(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Ht(e) {
+        return (Ht = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Gt(e, t) {
+        return (Gt =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Wt = {
+          projectName: "",
+          metricType: "",
+          metricKind: "",
+          valueType: "",
+          refId: "",
+          service: "",
+          unit: "",
+          crossSeriesReducer: "REDUCE_MEAN",
+          alignmentPeriod: "stackdriver-auto",
+          perSeriesAligner: "ALIGN_MEAN",
+          groupBys: [],
+          filters: [],
+          filter: [],
+          aliasBy: "",
+          alignOptions: [],
+          lastQuery: "",
+          lastQueryError: "",
+          usedAlignmentPeriod: "",
+          labels: {},
+          variableOptionGroup: {},
+          variableOptions: [],
+        },
+        Qt = (function (e) {
+          function t() {
+            var e, n;
+            qt(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = zt(
+                this,
+                (e = Ht(t)).call.apply(e, [this].concat(a))
+              )).state = Wt),
+              (n.onMetricTypeChange = (function () {
+                var e = $t(
+                  regeneratorRuntime.mark(function e(t) {
+                    var r, a, o, i, l, s, c, u, f, d, p, h, m;
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            return (
+                              (r = t.valueType),
+                              (a = t.metricKind),
+                              (o = t.type),
+                              (i = t.unit),
+                              (l = n.props),
+                              (s = l.templateSrv),
+                              (c = l.onQueryChange),
+                              (u = l.onExecuteQuery),
+                              (f = l.target),
+                              (d = Object(It.d)(
+                                {
+                                  valueType: r,
+                                  metricKind: a,
+                                  perSeriesAligner: n.state.perSeriesAligner,
+                                },
+                                s
+                              )),
+                              (p = d.perSeriesAligner),
+                              (h = d.alignOptions),
+                              (e.next = 5),
+                              n.props.datasource.getLabels(
+                                o,
+                                f.refId,
+                                n.state.projectName,
+                                f.groupBys
+                              )
+                            );
+                          case 5:
+                            (m = e.sent),
+                              n.setState(
+                                {
+                                  alignOptions: h,
+                                  perSeriesAligner: p,
+                                  metricType: o,
+                                  unit: i,
+                                  valueType: r,
+                                  metricKind: a,
+                                  labels: m,
+                                },
+                                function () {
+                                  c(n.state),
+                                    null !== n.state.projectName && u();
+                                }
+                              );
+                          case 7:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                );
+                return function (t) {
+                  return e.apply(this, arguments);
+                };
+              })()),
+              n
+            );
+          }
+          var n, r, a, o;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Gt(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value:
+                  ((o = $t(
+                    regeneratorRuntime.mark(function e() {
+                      var t,
+                        n,
+                        r,
+                        a,
+                        o,
+                        i,
+                        l,
+                        s,
+                        c,
+                        u,
+                        f = this;
+                      return regeneratorRuntime.wrap(
+                        function (e) {
+                          for (;;)
+                            switch ((e.prev = e.next)) {
+                              case 0:
+                                return (
+                                  (t = this.props),
+                                  (n = t.events),
+                                  (r = t.target),
+                                  (a = t.templateSrv),
+                                  (o = t.datasource),
+                                  (e.next = 3),
+                                  o.ensureGCEDefaultProject()
+                                );
+                              case 3:
+                                r.projectName ||
+                                  (r.projectName = o.getDefaultProject()),
+                                  n.on(
+                                    v.PanelEvents.dataReceived,
+                                    this.onDataReceived.bind(this)
+                                  ),
+                                  n.on(
+                                    v.PanelEvents.dataError,
+                                    this.onDataError.bind(this)
+                                  ),
+                                  (i = Object(It.d)(r, a)),
+                                  (l = i.perSeriesAligner),
+                                  (s = i.alignOptions),
+                                  (c = {
+                                    label: "Template Variables",
+                                    expanded: !1,
+                                    options: o.variables.map(It.i),
+                                  }),
+                                  (u = Lt({}, this.props.target, {
+                                    projectName: r.projectName,
+                                    alignOptions: s,
+                                    perSeriesAligner: l,
+                                    variableOptionGroup: c,
+                                    variableOptions: c.options,
+                                  })),
+                                  this.setState(u),
+                                  o
+                                    .getLabels(
+                                      r.metricType,
+                                      r.refId,
+                                      r.projectName,
+                                      r.groupBys
+                                    )
+                                    .then(function (e) {
+                                      return f.setState({ labels: e });
+                                    });
+                              case 11:
+                              case "end":
+                                return e.stop();
+                            }
+                        },
+                        e,
+                        this
+                      );
+                    })
+                  )),
+                  function () {
+                    return o.apply(this, arguments);
+                  }),
+              },
+              {
+                key: "componentWillUnmount",
+                value: function () {
+                  this.props.events.off(
+                    v.PanelEvents.dataReceived,
+                    this.onDataReceived
+                  ),
+                    this.props.events.off(
+                      v.PanelEvents.dataError,
+                      this.onDataError
+                    );
+                },
+              },
+              {
+                key: "onDataReceived",
+                value: function (e) {
+                  var t = this,
+                    n = e.find(function (e) {
+                      return e.refId === t.props.target.refId;
+                    });
+                  n &&
+                    this.setState({
+                      lastQuery: decodeURIComponent(n.meta.rawQuery),
+                      lastQueryError: "",
+                      usedAlignmentPeriod: n.meta.alignmentPeriod,
+                    });
+                },
+              },
+              {
+                key: "onDataError",
+                value: function (e) {
+                  var t, n;
+                  if (e.data && e.data.error)
+                    n = this.props.datasource.formatStackdriverError(e);
+                  else if (e.data && e.data.results) {
+                    var r = e.data.results[this.props.target.refId];
+                    if (
+                      ((t = decodeURIComponent(r.meta.rawQuery)), r && r.error)
+                    )
+                      try {
+                        n = JSON.parse(r.error).error.message;
+                      } catch (e) {
+                        n = r.error;
+                      }
+                  }
+                  this.setState({ lastQuery: t, lastQueryError: n });
+                },
+              },
+              {
+                key: "onGroupBysChange",
+                value: function (e) {
+                  var t = this,
+                    n = this.props,
+                    r = n.target,
+                    a = n.datasource;
+                  this.setState({ groupBys: e }, function () {
+                    t.props.onQueryChange(t.state), t.props.onExecuteQuery();
+                  }),
+                    a
+                      .getLabels(
+                        r.metricType,
+                        r.refId,
+                        this.state.projectName,
+                        e
+                      )
+                      .then(function (e) {
+                        return t.setState({ labels: e });
+                      });
+                },
+              },
+              {
+                key: "onPropertyChange",
+                value: function (e, t) {
+                  var n = this;
+                  this.setState(Vt({}, e, t), function () {
+                    n.props.onQueryChange(n.state),
+                      null !== n.state.projectName && n.props.onExecuteQuery();
+                  });
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this,
+                    t = this.state,
+                    n = t.groupBys,
+                    r = void 0 === n ? [] : n,
+                    a = t.filters,
+                    o = void 0 === a ? [] : a,
+                    i = t.usedAlignmentPeriod,
+                    l = t.projectName,
+                    s = t.metricType,
+                    c = t.crossSeriesReducer,
+                    u = t.perSeriesAligner,
+                    f = t.alignOptions,
+                    d = t.alignmentPeriod,
+                    p = t.aliasBy,
+                    h = t.lastQuery,
+                    m = t.lastQueryError,
+                    g = t.labels,
+                    b = t.variableOptionGroup,
+                    v = t.variableOptions,
+                    y = t.refId,
+                    w = this.props,
+                    O = w.datasource,
+                    x = w.templateSrv;
+                  return de.a.createElement(
+                    de.a.Fragment,
+                    null,
+                    de.a.createElement(Mt.j, {
+                      templateVariableOptions: v,
+                      projectName: l,
+                      datasource: O,
+                      onChange: function (t) {
+                        e.onPropertyChange("projectName", t),
+                          O.getLabels(s, y, t, r).then(function (t) {
+                            return e.setState({ labels: t });
+                          });
+                      },
+                    }),
+                    de.a.createElement(
+                      Mt.i,
+                      {
+                        templateSrv: x,
+                        projectName: l,
+                        metricType: s,
+                        templateVariableOptions: v,
+                        datasource: O,
+                        onChange: this.onMetricTypeChange,
+                      },
+                      function (t) {
+                        return de.a.createElement(
+                          de.a.Fragment,
+                          null,
+                          de.a.createElement(Mt.f, {
+                            labels: g,
+                            filters: o,
+                            onChange: function (t) {
+                              return e.onPropertyChange("filters", t);
+                            },
+                            variableOptionGroup: b,
+                          }),
+                          de.a.createElement(Mt.g, {
+                            groupBys: Object.keys(g),
+                            values: r,
+                            onChange: e.onGroupBysChange.bind(e),
+                            variableOptionGroup: b,
+                          }),
+                          de.a.createElement(
+                            Mt.a,
+                            {
+                              metricDescriptor: t,
+                              templateVariableOptions: v,
+                              crossSeriesReducer: c,
+                              groupBys: r,
+                              onChange: function (t) {
+                                return e.onPropertyChange(
+                                  "crossSeriesReducer",
+                                  t
+                                );
+                              },
+                            },
+                            function (t) {
+                              return (
+                                t &&
+                                de.a.createElement(Mt.d, {
+                                  alignOptions: f,
+                                  templateVariableOptions: v,
+                                  perSeriesAligner: u,
+                                  onChange: function (t) {
+                                    return e.onPropertyChange(
+                                      "perSeriesAligner",
+                                      t
+                                    );
+                                  },
+                                })
+                              );
+                            }
+                          ),
+                          de.a.createElement(Mt.c, {
+                            templateSrv: x,
+                            templateVariableOptions: v,
+                            alignmentPeriod: d,
+                            perSeriesAligner: u,
+                            usedAlignmentPeriod: i,
+                            onChange: function (t) {
+                              return e.onPropertyChange("alignmentPeriod", t);
+                            },
+                          }),
+                          de.a.createElement(Mt.b, {
+                            value: p,
+                            onChange: function (t) {
+                              return e.onPropertyChange("aliasBy", t);
+                            },
+                          }),
+                          de.a.createElement(Mt.h, {
+                            rawQuery: h,
+                            lastQueryError: m,
+                          })
+                        );
+                      }
+                    )
+                  );
+                },
+              },
+            ]) && Ut(n.prototype, r),
+            a && Ut(n, a),
+            t
+          );
+        })(de.a.Component);
+      function Yt(e) {
+        return (Yt =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Kt(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Jt(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? Kt(Object(n), !0).forEach(function (t) {
+                Zt(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : Kt(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Zt(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Xt(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function en(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function tn(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function nn(e, t) {
+        return !t || ("object" !== Yt(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function rn(e) {
+        return (rn = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function an(e, t) {
+        return (an =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var on = {
+          projectName: "",
+          projects: [],
+          metricType: "",
+          filters: [],
+          metricKind: "",
+          valueType: "",
+          refId: "annotationQuery",
+          title: "",
+          text: "",
+          labels: {},
+          variableOptionGroup: {},
+          variableOptions: [],
+        },
+        ln = (function (e) {
+          function t() {
+            var e, n;
+            en(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = nn(
+                this,
+                (e = rn(t)).call.apply(e, [this].concat(a))
+              )).state = on),
+              (n.onMetricTypeChange = function (e) {
+                var t = e.valueType,
+                  r = e.metricKind,
+                  a = e.type,
+                  o = e.unit,
+                  i = n.props,
+                  l = i.onQueryChange,
+                  s = i.datasource;
+                n.setState(
+                  { metricType: a, unit: o, valueType: t, metricKind: r },
+                  function () {
+                    l(n.state);
+                  }
+                ),
+                  s
+                    .getLabels(a, n.state.refId, n.state.projectName)
+                    .then(function (e) {
+                      return n.setState({ labels: e });
+                    });
+              }),
+              n
+            );
+          }
+          var n, r, a, o, i;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && an(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value:
+                  ((o = regeneratorRuntime.mark(function e() {
+                    var t,
+                      n,
+                      r,
+                      a,
+                      o,
+                      i = this;
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return (
+                                (t = this.props),
+                                (n = t.target),
+                                (r = t.datasource),
+                                n.projectName ||
+                                  (n.projectName = r.getDefaultProject()),
+                                (a = {
+                                  label: "Template Variables",
+                                  options: r.variables.map(It.i),
+                                }),
+                                (e.next = 5),
+                                r.getProjects()
+                              );
+                            case 5:
+                              (o = e.sent),
+                                this.setState(
+                                  Jt(
+                                    {
+                                      variableOptionGroup: a,
+                                      variableOptions: a.options,
+                                    },
+                                    n,
+                                    { projects: o }
+                                  )
+                                ),
+                                r
+                                  .getLabels(
+                                    n.metricType,
+                                    n.projectName,
+                                    n.refId
+                                  )
+                                  .then(function (e) {
+                                    return i.setState({ labels: e });
+                                  });
+                            case 8:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this
+                    );
+                  })),
+                  (i = function () {
+                    var e = this,
+                      t = arguments;
+                    return new Promise(function (n, r) {
+                      var a = o.apply(e, t);
+                      function i(e) {
+                        Xt(a, n, r, i, l, "next", e);
+                      }
+                      function l(e) {
+                        Xt(a, n, r, i, l, "throw", e);
+                      }
+                      i(void 0);
+                    });
+                  }),
+                  function () {
+                    return i.apply(this, arguments);
+                  }),
+              },
+              {
+                key: "onChange",
+                value: function (e, t) {
+                  var n = this;
+                  this.setState(Zt({}, e, t), function () {
+                    n.props.onQueryChange(n.state);
+                  });
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this,
+                    t = this.state,
+                    n = t.projectName,
+                    r = t.metricType,
+                    a = t.filters,
+                    o = t.title,
+                    i = t.text,
+                    l = t.variableOptionGroup,
+                    s = t.labels,
+                    c = t.variableOptions,
+                    u = this.props.datasource;
+                  return de.a.createElement(
+                    de.a.Fragment,
+                    null,
+                    de.a.createElement(Mt.j, {
+                      templateVariableOptions: c,
+                      datasource: u,
+                      projectName: n || u.getDefaultProject(),
+                      onChange: function (t) {
+                        return e.onChange("projectName", t);
+                      },
+                    }),
+                    de.a.createElement(
+                      Mt.i,
+                      {
+                        projectName: n,
+                        metricType: r,
+                        templateSrv: u.templateSrv,
+                        datasource: u,
+                        templateVariableOptions: c,
+                        onChange: function (t) {
+                          return e.onMetricTypeChange(t);
+                        },
+                      },
+                      function (t) {
+                        return de.a.createElement(
+                          de.a.Fragment,
+                          null,
+                          de.a.createElement(Mt.f, {
+                            labels: s,
+                            filters: a,
+                            onChange: function (t) {
+                              return e.onChange("filters", t);
+                            },
+                            variableOptionGroup: l,
+                          })
+                        );
+                      }
+                    ),
+                    de.a.createElement(
+                      "div",
+                      { className: "gf-form gf-form-inline" },
+                      de.a.createElement(
+                        "div",
+                        { className: "gf-form" },
+                        de.a.createElement(
+                          "span",
+                          { className: "gf-form-label query-keyword width-9" },
+                          "Title"
+                        ),
+                        de.a.createElement(j.Input, {
+                          type: "text",
+                          className: "gf-form-input width-20",
+                          value: o,
+                          onChange: function (t) {
+                            return e.onChange("title", t.target.value);
+                          },
+                        })
+                      ),
+                      de.a.createElement(
+                        "div",
+                        { className: "gf-form" },
+                        de.a.createElement(
+                          "span",
+                          { className: "gf-form-label query-keyword width-9" },
+                          "Text"
+                        ),
+                        de.a.createElement(j.Input, {
+                          type: "text",
+                          className: "gf-form-input width-20",
+                          value: i,
+                          onChange: function (t) {
+                            return e.onChange("text", t.target.value);
+                          },
+                        })
+                      ),
+                      de.a.createElement(
+                        "div",
+                        { className: "gf-form gf-form--grow" },
+                        de.a.createElement("div", {
+                          className: "gf-form-label gf-form-label--grow",
+                        })
+                      )
+                    ),
+                    de.a.createElement(Mt.e, null)
+                  );
+                },
+              },
+            ]) && tn(n.prototype, r),
+            a && tn(n, a),
+            t
+          );
+        })(de.a.Component),
+        sn = n("bY+8");
+      function cn() {
+        return (cn =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function un(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function fn(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? un(Object(n), !0).forEach(function (t) {
+                dn(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : un(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function dn(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function pn(e) {
+        var t = e.query,
+          n = e.onChange;
+        return de.a.createElement(
+          de.a.Fragment,
+          null,
+          de.a.createElement(
+            sn.d,
+            cn({}, e, {
+              onChange: function (e) {
+                return n(fn({}, t, {}, e));
+              },
+              hideWilcard: !0,
+            })
+          ),
+          de.a.createElement(
+            "div",
+            { className: "gf-form-inline" },
+            de.a.createElement(j.Switch, {
+              label: "Enable Prefix Matching",
+              labelClass: "query-keyword",
+              checked: t.prefixMatching,
+              onChange: function () {
+                return n(fn({}, t, { prefixMatching: !t.prefixMatching }));
+              },
+            }),
+            de.a.createElement(
+              "div",
+              { className: "gf-form gf-form--grow" },
+              de.a.createElement(
+                sn.c,
+                { label: "Action" },
+                de.a.createElement("input", {
+                  disabled: !t.prefixMatching,
+                  className: "gf-form-input width-12",
+                  value: t.actionPrefix || "",
+                  onChange: function (e) {
+                    return n(fn({}, t, { actionPrefix: e.target.value }));
+                  },
+                })
+              ),
+              de.a.createElement(
+                sn.c,
+                { label: "Alarm Name" },
+                de.a.createElement("input", {
+                  disabled: !t.prefixMatching,
+                  className: "gf-form-input width-12",
+                  value: t.alarmNamePrefix || "",
+                  onChange: function (e) {
+                    return n(fn({}, t, { alarmNamePrefix: e.target.value }));
+                  },
+                })
+              ),
+              de.a.createElement(
+                "div",
+                { className: "gf-form gf-form--grow" },
+                de.a.createElement("div", {
+                  className: "gf-form-label gf-form-label--grow",
+                })
+              )
+            )
+          )
+        );
+      }
+      var hn = n("4DTL"),
+        mn = n("QQVG"),
+        gn = n("EwfM"),
+        bn = n("yS3H"),
+        vn = n("rCnR"),
+        yn = function (e) {
+          var t = e.data,
+            n = e.className,
+            r = e.label;
+          return de.a.createElement(
+            gn.z.Option,
+            e,
+            de.a.createElement(
+              "div",
+              { className: "tag-filter-option btn btn-link ".concat(n || "") },
+              de.a.createElement(vn.a, {
+                label: r,
+                removeIcon: !1,
+                count: t.count,
+              })
+            )
+          );
+        };
+      function wn(e) {
+        return (wn =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function On(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function xn(e, t) {
+        return !t || ("object" !== wn(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function kn(e) {
+        return (kn = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function jn(e, t) {
+        return (jn =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Sn = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = xn(this, kn(t).call(this, e))).onLoadOptions = function (
+                e
+              ) {
+                return n.props.tagOptions().then(function (e) {
+                  return e.map(function (e) {
+                    return { value: e.term, label: e.term, count: e.count };
+                  });
+                });
+              }),
+              (n.onChange = function (e) {
+                n.props.onChange(
+                  e.map(function (e) {
+                    return e.value;
+                  })
+                );
+              }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && jn(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props.tags.map(function (e) {
+                      return { value: e, label: e, count: 0 };
+                    }),
+                    t = {
+                      classNamePrefix: "gf-form-select-box",
+                      isMulti: !0,
+                      defaultOptions: !0,
+                      loadOptions: this.onLoadOptions,
+                      onChange: this.onChange,
+                      className: "gf-form-input gf-form-input--form-dropdown",
+                      placeholder: "Tags",
+                      loadingMessage: function () {
+                        return "Loading...";
+                      },
+                      noOptionsMessage: function () {
+                        return "No tags found";
+                      },
+                      getOptionValue: function (e) {
+                        return e.value;
+                      },
+                      getOptionLabel: function (e) {
+                        return e.label;
+                      },
+                      value: e,
+                      styles: Object(j.resetSelectStyles)(),
+                      filterOption: function (e, t) {
+                        return RegExp(
+                          Object(v.escapeStringForRegex)(t),
+                          "i"
+                        ).test(e.value);
+                      },
+                      components: {
+                        Option: yn,
+                        IndicatorsContainer: j.IndicatorsContainer,
+                        NoOptionsMessage: j.NoOptionsMessage,
+                        MultiValueLabel: function () {
+                          return null;
+                        },
+                        MultiValueRemove: function (e) {
+                          var t = e.data;
+                          return de.a.createElement(
+                            gn.z.MultiValueRemove,
+                            e,
+                            de.a.createElement(vn.a, {
+                              key: t.label,
+                              label: t.label,
+                              removeIcon: !0,
+                              count: t.count,
+                            })
+                          );
+                        },
+                      },
+                    };
+                  return de.a.createElement(
+                    "div",
+                    {
+                      className:
+                        "gf-form gf-form--has-input-icon gf-form--grow",
+                    },
+                    de.a.createElement(
+                      "div",
+                      { className: "tag-filter" },
+                      de.a.createElement(bn.a, t)
+                    ),
+                    de.a.createElement("i", {
+                      className: "gf-form-input-icon fa fa-tag",
+                    })
+                  );
+                },
+              },
+            ]) && On(n.prototype, r),
+            a && On(n, a),
+            t
+          );
+        })(de.a.Component),
+        En = function (e) {
+          var t = e.child,
+            n = t.divider ? "divider" : "";
+          return de.a.createElement(
+            "li",
+            { className: n },
+            de.a.createElement(
+              "a",
+              { href: t.url },
+              t.icon && de.a.createElement("i", { className: t.icon }),
+              t.text
+            )
+          );
+        },
+        Cn = function (e) {
+          var t = e.link,
+            n = [];
+          return (
+            t.children &&
+              (n = a.a.filter(t.children, function (e) {
+                return !e.hideFromMenu;
+              })),
+            de.a.createElement(
+              "ul",
+              {
+                className: "dropdown-menu dropdown-menu--sidemenu",
+                role: "menu",
+              },
+              de.a.createElement(
+                "li",
+                { className: "side-menu-header" },
+                de.a.createElement(
+                  "a",
+                  { className: "side-menu-header-link", href: t.url },
+                  de.a.createElement(
+                    "span",
+                    { className: "sidemenu-item-text" },
+                    t.text
+                  )
+                )
+              ),
+              n.map(function (e, t) {
+                return de.a.createElement(En, {
+                  child: e,
+                  key: "".concat(e.url, "-").concat(t),
+                });
+              })
+            )
+          );
+        },
+        Pn = function (e) {
+          var t = e.link;
+          return de.a.createElement(
+            "div",
+            { className: "sidemenu-item dropdown" },
+            de.a.createElement(
+              "a",
+              { className: "sidemenu-link", href: t.url, target: t.target },
+              de.a.createElement(
+                "span",
+                { className: "icon-circle sidemenu-icon" },
+                de.a.createElement("i", { className: t.icon }),
+                t.img && de.a.createElement("img", { src: t.img })
+              )
+            ),
+            de.a.createElement(Cn, { link: t })
+          );
+        },
+        Tn = function () {
+          var e = a.a.cloneDeep(ee.b.bootData.navTree),
+            t = a.a.filter(e, function (e) {
+              return !e.hideFromMenu;
+            });
+          return de.a.createElement(
+            "div",
+            { className: "sidemenu__top" },
+            t.map(function (e, t) {
+              return de.a.createElement(Pn, {
+                link: e,
+                key: "".concat(e.id, "-").concat(t),
+              });
+            })
+          );
+        },
+        Dn = Object(lt.b)(
+          function (e) {
+            var t = e.url,
+              n = "login?redirect=".concat(encodeURIComponent(t));
+            return de.a.createElement(
+              "div",
+              { className: "sidemenu-item" },
+              de.a.createElement(
+                "a",
+                { href: n, className: "sidemenu-link", target: "_self" },
+                de.a.createElement(
+                  "span",
+                  { className: "icon-circle sidemenu-icon" },
+                  de.a.createElement("i", { className: "fa fa-fw fa-sign-in" })
+                )
+              ),
+              de.a.createElement(
+                "a",
+                { href: n, target: "_self" },
+                de.a.createElement(
+                  "ul",
+                  {
+                    className: "dropdown-menu dropdown-menu--sidemenu",
+                    role: "menu",
+                  },
+                  de.a.createElement(
+                    "li",
+                    { className: "side-menu-header" },
+                    de.a.createElement(
+                      "span",
+                      { className: "sidemenu-item-text" },
+                      "Sign In"
+                    )
+                  )
+                )
+              )
+            );
+          },
+          function (e) {
+            return { url: e.location.url };
+          }
+        );
+      function An(e) {
+        return (An =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function _n(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function Nn(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              _n(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              _n(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function Mn(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function In(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Rn(e, t) {
+        return !t || ("object" !== An(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Fn(e) {
+        return (Fn = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Ln(e, t) {
+        return (Ln =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Vn = (function (e) {
+          function t() {
+            var e, n;
+            Mn(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = Rn(
+                this,
+                (e = Fn(t)).call.apply(e, [this].concat(a))
+              )).state = { orgs: [] }),
+              (n.getUserOrgs = Nn(
+                regeneratorRuntime.mark(function e() {
+                  var t;
+                  return regeneratorRuntime.wrap(function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (
+                            (e.next = 2),
+                            Object(Ze.getBackendSrv)().get("/api/user/orgs")
+                          );
+                        case 2:
+                          (t = e.sent),
+                            n.setState({
+                              orgs: t.sort(function (e, t) {
+                                return e.orgId - t.orgId;
+                              }),
+                            });
+                        case 4:
+                        case "end":
+                          return e.stop();
+                      }
+                  }, e);
+                })
+              )),
+              (n.setCurrentOrg = (function () {
+                var e = Nn(
+                  regeneratorRuntime.mark(function e(t) {
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            return (
+                              (e.next = 2),
+                              Object(Ze.getBackendSrv)().post(
+                                "/api/user/using/".concat(t.orgId)
+                              )
+                            );
+                          case 2:
+                            n.setWindowLocation(
+                              ""
+                                .concat(ee.b.appSubUrl)
+                                .concat(
+                                  ee.b.appSubUrl.endsWith("/") ? "" : "/",
+                                  "?orgId="
+                                )
+                                .concat(t.orgId)
+                            );
+                          case 3:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                );
+                return function (t) {
+                  return e.apply(this, arguments);
+                };
+              })()),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Ln(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value: function () {
+                  this.getUserOrgs();
+                },
+              },
+              {
+                key: "setWindowLocation",
+                value: function (e) {
+                  window.location.href = e;
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this,
+                    t = this.props.onDismiss,
+                    n = this.state.orgs,
+                    r = le.a.user.orgId;
+                  return de.a.createElement(
+                    j.Modal,
+                    {
+                      title: "Switch Organization",
+                      icon: "random",
+                      onDismiss: t,
+                      isOpen: !0,
+                    },
+                    de.a.createElement(
+                      "table",
+                      { className: "filter-table form-inline" },
+                      de.a.createElement(
+                        "thead",
+                        null,
+                        de.a.createElement(
+                          "tr",
+                          null,
+                          de.a.createElement("th", null, "Name"),
+                          de.a.createElement("th", null, "Role"),
+                          de.a.createElement("th", null)
+                        )
+                      ),
+                      de.a.createElement(
+                        "tbody",
+                        null,
+                        n.map(function (t) {
+                          return de.a.createElement(
+                            "tr",
+                            { key: t.orgId },
+                            de.a.createElement("td", null, t.name),
+                            de.a.createElement("td", null, t.role),
+                            de.a.createElement(
+                              "td",
+                              { className: "text-right" },
+                              t.orgId === r
+                                ? de.a.createElement(
+                                    j.Button,
+                                    { size: "sm" },
+                                    "Current"
+                                  )
+                                : de.a.createElement(
+                                    j.Button,
+                                    {
+                                      variant: "inverse",
+                                      size: "sm",
+                                      onClick: function () {
+                                        return e.setCurrentOrg(t);
+                                      },
+                                    },
+                                    "Switch to"
+                                  )
+                            )
+                          );
+                        })
+                      )
+                    )
+                  );
+                },
+              },
+            ]) && In(n.prototype, r),
+            a && In(n, a),
+            t
+          );
+        })(de.a.PureComponent),
+        Bn = n("5C3A");
+      function $n(e) {
+        return ($n =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function qn(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Un(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function zn(e, t) {
+        return !t || ("object" !== $n(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Hn(e) {
+        return (Hn = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Gn(e, t) {
+        return (Gn =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Wn = (function (e) {
+        function t() {
+          var e, n;
+          qn(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = zn(
+              this,
+              (e = Hn(t)).call.apply(e, [this].concat(a))
+            )).state = { showSwitcherModal: !1 }),
+            (n.onOpenShortcuts = function () {
+              ke.b.emit(G.CoreEvents.showModal, {
+                templateHtml: "<help-modal></help-modal>",
+              });
+            }),
+            (n.toggleSwitcherModal = function () {
+              n.setState(function (e) {
+                return { showSwitcherModal: !e.showSwitcherModal };
+              });
+            }),
+            n
+          );
+        }
+        var n, r, a;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && Gn(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e = this,
+                  t = this.props,
+                  n = t.link,
+                  r = t.user,
+                  a = this.state.showSwitcherModal,
+                  o = n.children || [];
+                return (
+                  "help" === n.id && (o = Object(Bn.b)()),
+                  de.a.createElement(
+                    "div",
+                    { className: "sidemenu-item dropdown dropup" },
+                    de.a.createElement(
+                      "a",
+                      {
+                        href: n.url,
+                        className: "sidemenu-link",
+                        target: n.target,
+                      },
+                      de.a.createElement(
+                        "span",
+                        { className: "icon-circle sidemenu-icon" },
+                        n.icon &&
+                          de.a.createElement("i", { className: n.icon }),
+                        n.img && de.a.createElement("img", { src: n.img })
+                      )
+                    ),
+                    de.a.createElement(
+                      "ul",
+                      {
+                        className: "dropdown-menu dropdown-menu--sidemenu",
+                        role: "menu",
+                      },
+                      n.subTitle &&
+                        de.a.createElement(
+                          "li",
+                          { className: "sidemenu-subtitle" },
+                          de.a.createElement(
+                            "span",
+                            { className: "sidemenu-item-text" },
+                            n.subTitle
+                          )
+                        ),
+                      n.showOrgSwitcher &&
+                        de.a.createElement(
+                          "li",
+                          { className: "sidemenu-org-switcher" },
+                          de.a.createElement(
+                            "a",
+                            { onClick: this.toggleSwitcherModal },
+                            de.a.createElement(
+                              "div",
+                              null,
+                              de.a.createElement(
+                                "div",
+                                {
+                                  className: "sidemenu-org-switcher__org-name",
+                                },
+                                r.orgName
+                              ),
+                              de.a.createElement(
+                                "div",
+                                {
+                                  className:
+                                    "sidemenu-org-switcher__org-current",
+                                },
+                                "Current Org:"
+                              )
+                            ),
+                            de.a.createElement(
+                              "div",
+                              { className: "sidemenu-org-switcher__switch" },
+                              de.a.createElement("i", {
+                                className: "fa fa-fw fa-random",
+                              }),
+                              "Switch"
+                            )
+                          )
+                        ),
+                      a &&
+                        de.a.createElement(Vn, {
+                          onDismiss: this.toggleSwitcherModal,
+                        }),
+                      o.map(function (e, t) {
+                        return de.a.createElement(
+                          "li",
+                          { key: "".concat(e.text, "-").concat(t) },
+                          de.a.createElement(
+                            "a",
+                            { href: e.url, target: e.target, rel: "noopener" },
+                            e.icon &&
+                              de.a.createElement("i", { className: e.icon }),
+                            e.text
+                          )
+                        );
+                      }),
+                      "help" === n.id &&
+                        de.a.createElement(
+                          "li",
+                          { key: "keyboard-shortcuts" },
+                          de.a.createElement(
+                            "a",
+                            {
+                              onClick: function () {
+                                return e.onOpenShortcuts();
+                              },
+                            },
+                            de.a.createElement("i", {
+                              className: "fa fa-keyboard-o",
+                            }),
+                            " Keyboard shortcuts"
+                          )
+                        ),
+                      de.a.createElement(
+                        "li",
+                        { className: "side-menu-header" },
+                        de.a.createElement(
+                          "span",
+                          { className: "sidemenu-item-text" },
+                          n.text
+                        )
+                      )
+                    )
+                  )
+                );
+              },
+            },
+          ]) && Un(n.prototype, r),
+          a && Un(n, a),
+          t
+        );
+      })(fe.PureComponent);
+      function Qn() {
+        var e = a.a.cloneDeep(ee.b.bootData.navTree),
+          t = a.a.filter(e, function (e) {
+            return e.hideFromMenu;
+          }),
+          n = le.a.isSignedIn,
+          r = le.a.user;
+        if (r && r.orgCount > 1) {
+          var o = a.a.find(t, { id: "profile" });
+          o && (o.showOrgSwitcher = !0);
+        }
+        return de.a.createElement(
+          "div",
+          { className: "sidemenu__bottom" },
+          !n && de.a.createElement(Dn, null),
+          t.map(function (e, t) {
+            return de.a.createElement(Wn, {
+              link: e,
+              user: r,
+              key: "".concat(e.url, "-").concat(t),
+            });
+          })
+        );
+      }
+      var Yn = n("ibPz");
+      function Kn(e) {
+        return (Kn =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Jn(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Zn(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Xn(e, t) {
+        return !t || ("object" !== Kn(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function er(e) {
+        return (er = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function tr(e, t) {
+        return (tr =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var nr = ee.b.appSubUrl || "/",
+        rr = (function (e) {
+          function t() {
+            var e, n;
+            Jn(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = Xn(
+                this,
+                (e = er(t)).call.apply(e, [this].concat(a))
+              )).toggleSideMenuSmallBreakpoint = function () {
+                ke.b.emit(G.CoreEvents.toggleSidemenuMobile);
+              }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && tr(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  return [
+                    de.a.createElement(
+                      "a",
+                      { href: nr, className: "sidemenu__logo", key: "logo" },
+                      de.a.createElement(Yn.a.MenuLogo, null)
+                    ),
+                    de.a.createElement(
+                      "div",
+                      {
+                        className: "sidemenu__logo_small_breakpoint",
+                        onClick: this.toggleSideMenuSmallBreakpoint,
+                        key: "hamburger",
+                      },
+                      de.a.createElement("i", { className: "fa fa-bars" }),
+                      de.a.createElement(
+                        "span",
+                        { className: "sidemenu__close" },
+                        de.a.createElement("i", { className: "fa fa-times" }),
+                        " Close"
+                      )
+                    ),
+                    de.a.createElement(Tn, { key: "topsection" }),
+                    de.a.createElement(Qn, { key: "bottomsection" }),
+                  ];
+                },
+              },
+            ]) && Zn(n.prototype, r),
+            a && Zn(n, a),
+            t
+          );
+        })(fe.PureComponent);
+      function ar(e) {
+        return (ar =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function or(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function ir(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function lr(e, t) {
+        return !t || ("object" !== ar(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function sr(e) {
+        return (sr = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function cr(e, t) {
+        return (cr =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var ur = (function (e) {
+        function t(e) {
+          var n;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            ((n = lr(this, sr(t).call(this, e))).state = { options: [] }),
+            n
+          );
+        }
+        var n, r, o;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && cr(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "componentDidMount",
+              value: function () {
+                this.setState({ options: this.buildOptions(this.props) });
+              },
+            },
+            {
+              key: "UNSAFE_componentWillReceiveProps",
+              value: function (e) {
+                (e.options.length > 0 || e.variables.length) &&
+                  this.setState({ options: this.buildOptions(e) });
+              },
+            },
+            {
+              key: "shouldComponentUpdate",
+              value: function (e) {
+                var t = this.buildOptions(e);
+                return (
+                  e.value !== this.props.value ||
+                  !a.a.isEqual(t, this.state.options)
+                );
+              },
+            },
+            {
+              key: "buildOptions",
+              value: function (e) {
+                var t = e.variables,
+                  n = void 0 === t ? [] : t,
+                  r = e.options;
+                return n.length > 0
+                  ? [this.getVariablesGroup()].concat(or(r))
+                  : r;
+              },
+            },
+            {
+              key: "getVariablesGroup",
+              value: function () {
+                return {
+                  label: "Template Variables",
+                  options: this.props.variables.map(function (e) {
+                    return {
+                      label: "$".concat(e.name),
+                      value: "$".concat(e.name),
+                    };
+                  }),
+                };
+              },
+            },
+            {
+              key: "getSelectedOption",
+              value: function () {
+                var e = this,
+                  t = this.state.options;
+                return (t.every(function (e) {
+                  return e.options;
+                })
+                  ? a.a.flatten(
+                      t.map(function (e) {
+                        return e.options;
+                      })
+                    )
+                  : t
+                ).find(function (t) {
+                  return t.value === e.props.value;
+                });
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.placeholder,
+                  n = e.className,
+                  r = e.isSearchable,
+                  a = e.onChange,
+                  o = this.state.options,
+                  i = this.getSelectedOption();
+                return de.a.createElement(j.Select, {
+                  className: n,
+                  isMulti: !1,
+                  isClearable: !1,
+                  backspaceRemovesValue: !1,
+                  onChange: function (e) {
+                    return a(e.value);
+                  },
+                  options: o,
+                  isSearchable: r,
+                  maxMenuHeight: 500,
+                  placeholder: t,
+                  noOptionsMessage: function () {
+                    return "No options found";
+                  },
+                  value: i,
+                });
+              },
+            },
+          ]) && ir(n.prototype, r),
+          o && ir(n, o),
+          t
+        );
+      })(de.a.Component);
+      function fr(e) {
+        return (fr =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function dr(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function pr(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function hr(e, t) {
+        return !t || ("object" !== fr(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function mr(e) {
+        return (mr = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function gr(e, t) {
+        return (gr =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      ur.defaultProps = { variables: [], options: [], isSearchable: !0 };
+      var br = (function (e) {
+          function t() {
+            return dr(this, t), hr(this, mr(t).apply(this, arguments));
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && gr(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "shouldComponentUpdate",
+                value: function (e) {
+                  return this.props.appNotification.id !== e.appNotification.id;
+                },
+              },
+              {
+                key: "componentDidMount",
+                value: function () {
+                  var e = this.props,
+                    t = e.appNotification,
+                    n = e.onClearNotification;
+                  setTimeout(function () {
+                    n(t.id);
+                  }, t.timeout);
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.appNotification,
+                    n = e.onClearNotification;
+                  return de.a.createElement(j.Alert, {
+                    severity: t.severity,
+                    title: t.title,
+                    children: t.component || t.text,
+                    onRemove: function () {
+                      return n(t.id);
+                    },
+                  });
+                },
+              },
+            ]) && pr(n.prototype, r),
+            a && pr(n, a),
+            t
+          );
+        })(fe.Component),
+        vr = n("UvM7");
+      function yr(e) {
+        return (yr =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function wr(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function Or(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function xr(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function kr(e, t) {
+        return !t || ("object" !== yr(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function jr(e) {
+        return (jr = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Sr(e, t) {
+        return (Sr =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Er = (function (e) {
+          function t() {
+            var e, n;
+            Or(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = kr(
+                this,
+                (e = jr(t)).call.apply(e, [this].concat(a))
+              )).onClearAppNotification = function (e) {
+                n.props.clearAppNotification(e);
+              }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Sr(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value: function () {
+                  var e = this.props.notifyApp;
+                  ke.b.on(v.AppEvents.alertWarning, function (t) {
+                    return e(vr.c.apply(void 0, wr(t)));
+                  }),
+                    ke.b.on(v.AppEvents.alertSuccess, function (t) {
+                      return e(vr.b.apply(void 0, wr(t)));
+                    }),
+                    ke.b.on(v.AppEvents.alertError, function (t) {
+                      return e(vr.a.apply(void 0, wr(t)));
+                    });
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this,
+                    t = this.props.appNotifications;
+                  return de.a.createElement(
+                    "div",
+                    null,
+                    t.map(function (t, n) {
+                      return de.a.createElement(br, {
+                        key: "".concat(t.id, "-").concat(n),
+                        appNotification: t,
+                        onClearNotification: function (t) {
+                          return e.onClearAppNotification(t);
+                        },
+                      });
+                    })
+                  );
+                },
+              },
+            ]) && xr(n.prototype, r),
+            a && xr(n, a),
+            t
+          );
+        })(fe.PureComponent),
+        Cr = { notifyApp: Et.b, clearAppNotification: Et.a },
+        Pr = Object(lt.b)(
+          Er,
+          function (e) {
+            return { appNotifications: e.appNotifications.appNotifications };
+          },
+          Cr
+        ),
+        Tr = function (e) {
+          return e.description
+            ? de.a.createElement("span", {
+                className: "pointer fa fa-question-circle",
+                onClick: e.onDescriptionShow,
+              })
+            : de.a.createElement("span", {
+                className: "pointer fa fa-question-circle",
+                onClick: function () {
+                  window.open(
+                    "http://graphite.readthedocs.org/en/latest/functions.html#graphite.render.functions." +
+                      e.name,
+                    "_blank"
+                  );
+                },
+              });
+        },
+        Dr = function (e) {
+          var t = e.func,
+            n = e.onMoveLeft,
+            r = e.onMoveRight,
+            a = e.onRemove,
+            o = e.onDescriptionShow;
+          return de.a.createElement(
+            "div",
+            {
+              style: {
+                display: "flex",
+                width: "60px",
+                justifyContent: "space-between",
+              },
+            },
+            de.a.createElement("span", {
+              className: "pointer fa fa-arrow-left",
+              onClick: function () {
+                return n(t);
+              },
+            }),
+            de.a.createElement(Tr, {
+              name: t.def.name,
+              description: t.def.description,
+              onDescriptionShow: o,
+            }),
+            de.a.createElement("span", {
+              className: "pointer fa fa-remove",
+              onClick: function () {
+                return a(t);
+              },
+            }),
+            de.a.createElement("span", {
+              className: "pointer fa fa-arrow-right",
+              onClick: function () {
+                return r(t);
+              },
+            })
+          );
+        };
+      function Ar(e) {
+        return (Ar =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function _r() {
+        return (_r =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function Nr(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Mr(e, t) {
+        return !t || ("object" !== Ar(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Ir(e) {
+        return (Ir = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Rr(e, t) {
+        return (Rr =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      function Fr(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function Lr(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              Fr(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              Fr(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      var Vr = de.a.lazy(
+          Lr(
+            regeneratorRuntime.mark(function e() {
+              var t, r;
+              return regeneratorRuntime.wrap(function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      return (
+                        (e.next = 2), n.e(48).then(n.t.bind(null, "fQim", 7))
+                      );
+                    case 2:
+                      return (
+                        (t = e.sent),
+                        (r = t.default),
+                        e.abrupt("return", {
+                          default: function (e) {
+                            return de.a.createElement("div", {
+                              dangerouslySetInnerHTML: {
+                                __html: r(e.description),
+                              },
+                            });
+                          },
+                        })
+                      );
+                    case 5:
+                    case "end":
+                      return e.stop();
+                  }
+              }, e);
+            })
+          )
+        ),
+        Br = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = Mr(
+                this,
+                Ir(t).call(this, e)
+              )).triggerRef = de.a.createRef()),
+              (n.renderContent = function (e) {
+                var t = e.updatePopperPosition,
+                  r = n.props,
+                  a = r.onMoveLeft,
+                  o = r.onMoveRight,
+                  i = r.func.def,
+                  l = i.name,
+                  s = i.description;
+                return n.state.showingDescription
+                  ? de.a.createElement(
+                      "div",
+                      {
+                        style: {
+                          overflow: "auto",
+                          maxHeight: "30rem",
+                          textAlign: "left",
+                          fontWeight: "normal",
+                        },
+                      },
+                      de.a.createElement(
+                        "h4",
+                        { style: { color: "white" } },
+                        " ",
+                        l,
+                        " "
+                      ),
+                      de.a.createElement(
+                        fe.Suspense,
+                        {
+                          fallback: de.a.createElement(
+                            "span",
+                            null,
+                            "Loading description..."
+                          ),
+                        },
+                        de.a.createElement(Vr, { description: s })
+                      )
+                    )
+                  : de.a.createElement(
+                      Dr,
+                      _r({}, n.props, {
+                        onMoveLeft: function () {
+                          a(n.props.func), t();
+                        },
+                        onMoveRight: function () {
+                          o(n.props.func), t();
+                        },
+                        onDescriptionShow: function () {
+                          n.setState({ showingDescription: !0 }, function () {
+                            t();
+                          });
+                        },
+                      })
+                    );
+              }),
+              (n.state = { showingDescription: !1 }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Rr(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this;
+                  return de.a.createElement(
+                    j.PopoverController,
+                    {
+                      content: this.renderContent,
+                      placement: "top",
+                      hideAfter: 300,
+                    },
+                    function (t, n, r) {
+                      return de.a.createElement(
+                        de.a.Fragment,
+                        null,
+                        e.triggerRef &&
+                          de.a.createElement(
+                            j.Popover,
+                            _r({}, r, {
+                              referenceElement: e.triggerRef.current,
+                              wrapperClassName: "popper",
+                              className: "popper__background",
+                              onMouseLeave: function () {
+                                e.setState({ showingDescription: !1 }), n();
+                              },
+                              onMouseEnter: t,
+                              renderArrow: function (e) {
+                                var t = e.arrowProps,
+                                  n = e.placement;
+                                return de.a.createElement(
+                                  "div",
+                                  _r(
+                                    {
+                                      className: "popper__arrow",
+                                      "data-placement": n,
+                                    },
+                                    t
+                                  )
+                                );
+                              },
+                            })
+                          ),
+                        de.a.createElement(
+                          "span",
+                          {
+                            ref: e.triggerRef,
+                            onClick: r.show ? n : t,
+                            onMouseLeave: function () {
+                              n(), e.setState({ showingDescription: !1 });
+                            },
+                            style: { cursor: "pointer" },
+                          },
+                          e.props.func.def.name
+                        )
+                      );
+                    }
+                  );
+                },
+              },
+            ]) && Nr(n.prototype, r),
+            a && Nr(n, a),
+            t
+          );
+        })(de.a.PureComponent),
+        $r = n("Zss7"),
+        qr = n.n($r),
+        Ur = n("kDDq");
+      function zr() {
+        return (zr =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function Hr(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function Gr() {
+        var e = Kr([
+          "\n      font-size: ",
+          ";\n      padding: ",
+          " ",
+          " ",
+          " ",
+          ";\n    ",
+        ]);
+        return (
+          (Gr = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Wr() {
+        var e = Kr(["\n    flex-grow: 1;\n  "]);
+        return (
+          (Wr = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Qr() {
+        var e = Kr([
+          "\n    max-width: 653px;\n    padding: ",
+          " ",
+          " ",
+          " ",
+          ";\n    height: 51px;\n    box-sizing: border-box;\n    outline: none;\n    background: ",
+          ";\n    background-color: ",
+          ";\n    flex-grow: 10;\n  ",
+        ]);
+        return (
+          (Qr = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Yr() {
+        var e = Kr([
+          "\n    width: 100%;\n    height: 55px; /* this variable is not part of GrafanaTheme yet*/\n    display: flex;\n    background-color: ",
+          ";\n    position: relative;\n  ",
+        ]);
+        return (
+          (Yr = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Kr(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var Jr = function (e) {
+          var t = e.query,
+            n = e.onChange,
+            r = Hr(e, ["query", "onChange"]),
+            a = (function (e) {
+              return {
+                wrapper: Object(Ur.css)(
+                  Yr(),
+                  Object(j.selectThemeVariant)(
+                    { light: e.colors.white, dark: e.colors.dark4 },
+                    e.type
+                  )
+                ),
+                input: Object(Ur.css)(
+                  Qr(),
+                  e.spacing.md,
+                  e.spacing.md,
+                  e.spacing.sm,
+                  e.spacing.md,
+                  Object(j.selectThemeVariant)(
+                    { light: e.colors.dark1, dark: e.colors.black },
+                    e.type
+                  ),
+                  Object(j.selectThemeVariant)(
+                    {
+                      light: qr()(e.colors.white).lighten(4).toString(),
+                      dark: e.colors.dark4,
+                    },
+                    e.type
+                  )
+                ),
+                spacer: Object(Ur.css)(Wr()),
+                icon: Object(Ur.cx)(
+                  Object(Ur.css)(
+                    Gr(),
+                    e.typography.size.lg,
+                    e.spacing.md,
+                    e.spacing.md,
+                    e.spacing.sm,
+                    e.spacing.md
+                  ),
+                  "pointer"
+                ),
+              };
+            })(Object(fe.useContext)(j.ThemeContext));
+          return de.a.createElement(
+            de.a.Fragment,
+            null,
+            de.a.createElement(
+              "div",
+              { className: "".concat(a.wrapper, " search-field-wrapper") },
+              de.a.createElement(
+                "div",
+                { className: a.icon },
+                de.a.createElement("i", { className: "fa fa-search" })
+              ),
+              de.a.createElement(
+                "input",
+                zr(
+                  {
+                    type: "text",
+                    placeholder: "Find dashboards by name",
+                    value: t.query,
+                    onChange: function (e) {
+                      n(e.currentTarget.value);
+                    },
+                    tabIndex: 1,
+                    spellCheck: !1,
+                  },
+                  r,
+                  { className: a.input }
+                )
+              ),
+              de.a.createElement("div", { className: a.spacer })
+            )
+          );
+        },
+        Zr = n("V9sw");
+      function Xr(e) {
+        return (Xr =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function ea(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function ta(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function na(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function ra(e, t) {
+        return !t || ("object" !== Xr(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function aa(e) {
+        return (aa = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function oa(e, t) {
+        return (oa =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var ia = (function (e) {
+          function t(e) {
+            var n;
+            !(function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+              ((n = ra(this, aa(t).call(this, e))).onNameChange = function (e) {
+                n.setState({ name: e.target.value });
+              }),
+              (n.onEmailChange = function (e) {
+                n.setState({ email: e.target.value });
+              }),
+              (n.onLoginChange = function (e) {
+                n.setState({ login: e.target.value });
+              }),
+              (n.onSubmitProfileUpdate = function (e) {
+                e.preventDefault(),
+                  n.props.updateProfile(
+                    (function (e) {
+                      for (var t = 1; t < arguments.length; t++) {
+                        var n = null != arguments[t] ? arguments[t] : {};
+                        t % 2
+                          ? ea(Object(n), !0).forEach(function (t) {
+                              ta(e, t, n[t]);
+                            })
+                          : Object.getOwnPropertyDescriptors
+                          ? Object.defineProperties(
+                              e,
+                              Object.getOwnPropertyDescriptors(n)
+                            )
+                          : ea(Object(n)).forEach(function (t) {
+                              Object.defineProperty(
+                                e,
+                                t,
+                                Object.getOwnPropertyDescriptor(n, t)
+                              );
+                            });
+                      }
+                      return e;
+                    })({}, n.state)
+                  );
+              });
+            var r = n.props.user,
+              a = r.name,
+              o = r.email,
+              i = r.login;
+            return (n.state = { name: a, email: o, login: i }), n;
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && oa(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.state,
+                    t = e.name,
+                    n = e.email,
+                    r = e.login,
+                    a = this.props.isSavingUser,
+                    o = ee.b.disableLoginForm;
+                  return de.a.createElement(
+                    de.a.Fragment,
+                    null,
+                    de.a.createElement(
+                      "h3",
+                      { className: "page-sub-heading" },
+                      "Edit Profile"
+                    ),
+                    de.a.createElement(
+                      "form",
+                      { name: "userForm", className: "gf-form-group" },
+                      de.a.createElement(
+                        "div",
+                        { className: "gf-form max-width-30" },
+                        de.a.createElement(
+                          j.FormLabel,
+                          { className: "width-8" },
+                          "Name"
+                        ),
+                        de.a.createElement(j.Input, {
+                          className: "gf-form-input max-width-22",
+                          type: "text",
+                          onChange: this.onNameChange,
+                          value: t,
+                        })
+                      ),
+                      de.a.createElement(
+                        "div",
+                        { className: "gf-form max-width-30" },
+                        de.a.createElement(
+                          j.FormLabel,
+                          { className: "width-8" },
+                          "Email"
+                        ),
+                        de.a.createElement(j.Input, {
+                          className: "gf-form-input max-width-22",
+                          type: "text",
+                          onChange: this.onEmailChange,
+                          value: n,
+                          disabled: o,
+                        }),
+                        o &&
+                          de.a.createElement(
+                            j.Tooltip,
+                            {
+                              content:
+                                "Login Details Locked - managed in another system.",
+                            },
+                            de.a.createElement("i", {
+                              className:
+                                "fa fa-lock gf-form-icon--right-absolute",
+                            })
+                          )
+                      ),
+                      de.a.createElement(
+                        "div",
+                        { className: "gf-form max-width-30" },
+                        de.a.createElement(
+                          j.FormLabel,
+                          { className: "width-8" },
+                          "Username"
+                        ),
+                        de.a.createElement(j.Input, {
+                          className: "gf-form-input max-width-22",
+                          type: "text",
+                          onChange: this.onLoginChange,
+                          value: r,
+                          disabled: o,
+                        }),
+                        o &&
+                          de.a.createElement(
+                            j.Tooltip,
+                            {
+                              content:
+                                "Login Details Locked - managed in another system.",
+                            },
+                            de.a.createElement("i", {
+                              className:
+                                "fa fa-lock gf-form-icon--right-absolute",
+                            })
+                          )
+                      ),
+                      de.a.createElement(
+                        "div",
+                        { className: "gf-form-button-row" },
+                        de.a.createElement(
+                          j.Button,
+                          {
+                            variant: "primary",
+                            onClick: this.onSubmitProfileUpdate,
+                            disabled: a,
+                          },
+                          "Save"
+                        )
+                      )
+                    )
+                  );
+                },
+              },
+            ]) && na(n.prototype, r),
+            a && na(n, a),
+            t
+          );
+        })(fe.PureComponent),
+        la = n("mHLn");
+      function sa(e) {
+        return (sa =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function ca(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function ua(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function fa(e, t) {
+        return !t || ("object" !== sa(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function da(e) {
+        return (da = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function pa(e, t) {
+        return (pa =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var ha = (function (e) {
+        function t() {
+          return ca(this, t), fa(this, da(t).apply(this, arguments));
+        }
+        var n, r, a;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && pa(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "componentDidMount",
+              value: function () {
+                this.props.loadTeams();
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.isLoading,
+                  n = e.teams;
+                return t
+                  ? de.a.createElement(j.LoadingPlaceholder, {
+                      text: "Loading teams...",
+                    })
+                  : de.a.createElement(
+                      de.a.Fragment,
+                      null,
+                      n.length > 0 &&
+                        de.a.createElement(
+                          de.a.Fragment,
+                          null,
+                          de.a.createElement(
+                            "h3",
+                            { className: "page-sub-heading" },
+                            "Teams"
+                          ),
+                          de.a.createElement(
+                            "div",
+                            { className: "gf-form-group" },
+                            de.a.createElement(
+                              "table",
+                              { className: "filter-table form-inline" },
+                              de.a.createElement(
+                                "thead",
+                                null,
+                                de.a.createElement(
+                                  "tr",
+                                  null,
+                                  de.a.createElement("th", null),
+                                  de.a.createElement("th", null, "Name"),
+                                  de.a.createElement("th", null, "Email"),
+                                  de.a.createElement("th", null, "Members")
+                                )
+                              ),
+                              de.a.createElement(
+                                "tbody",
+                                null,
+                                n.map(function (e, t) {
+                                  return de.a.createElement(
+                                    "tr",
+                                    { key: t },
+                                    de.a.createElement(
+                                      "td",
+                                      { className: "width-4 text-center" },
+                                      de.a.createElement("img", {
+                                        className: "filter-table__avatar",
+                                        src: e.avatarUrl,
+                                      })
+                                    ),
+                                    de.a.createElement("td", null, e.name),
+                                    de.a.createElement("td", null, e.email),
+                                    de.a.createElement(
+                                      "td",
+                                      null,
+                                      e.memberCount
+                                    )
+                                  );
+                                })
+                              )
+                            )
+                          )
+                        )
+                    );
+              },
+            },
+          ]) && ua(n.prototype, r),
+          a && ua(n, a),
+          t
+        );
+      })(fe.PureComponent);
+      function ma(e) {
+        return (ma =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function ga(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function ba(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function va(e, t) {
+        return !t || ("object" !== ma(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function ya(e) {
+        return (ya = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function wa(e, t) {
+        return (wa =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Oa = (function (e) {
+          function t() {
+            return ga(this, t), va(this, ya(t).apply(this, arguments));
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && wa(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value: function () {
+                  this.props.loadOrgs();
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this,
+                    t = this.props,
+                    n = t.isLoading,
+                    r = t.orgs,
+                    a = t.user;
+                  return n
+                    ? de.a.createElement(j.LoadingPlaceholder, {
+                        text: "Loading organizations...",
+                      })
+                    : de.a.createElement(
+                        de.a.Fragment,
+                        null,
+                        r.length > 0 &&
+                          de.a.createElement(
+                            de.a.Fragment,
+                            null,
+                            de.a.createElement(
+                              "h3",
+                              { className: "page-sub-heading" },
+                              "Organizations"
+                            ),
+                            de.a.createElement(
+                              "div",
+                              { className: "gf-form-group" },
+                              de.a.createElement(
+                                "table",
+                                { className: "filter-table form-inline" },
+                                de.a.createElement(
+                                  "thead",
+                                  null,
+                                  de.a.createElement(
+                                    "tr",
+                                    null,
+                                    de.a.createElement("th", null, "Name"),
+                                    de.a.createElement("th", null, "Role"),
+                                    de.a.createElement("th", null)
+                                  )
+                                ),
+                                de.a.createElement(
+                                  "tbody",
+                                  null,
+                                  r.map(function (t, n) {
+                                    return de.a.createElement(
+                                      "tr",
+                                      { key: n },
+                                      de.a.createElement("td", null, t.name),
+                                      de.a.createElement("td", null, t.role),
+                                      de.a.createElement(
+                                        "td",
+                                        { className: "text-right" },
+                                        t.orgId === a.orgId
+                                          ? de.a.createElement(
+                                              "span",
+                                              {
+                                                className:
+                                                  "btn btn-primary btn-small",
+                                              },
+                                              "Current"
+                                            )
+                                          : de.a.createElement(
+                                              j.Button,
+                                              {
+                                                variant: "inverse",
+                                                size: "sm",
+                                                onClick: function () {
+                                                  e.props.setUserOrg(t);
+                                                },
+                                              },
+                                              "Select"
+                                            )
+                                      )
+                                    );
+                                  })
+                                )
+                              )
+                            )
+                          )
+                      );
+                },
+              },
+            ]) && ba(n.prototype, r),
+            a && ba(n, a),
+            t
+          );
+        })(fe.PureComponent),
+        xa = function () {
+          return de.a.createElement(
+            Zr.a,
+            { userId: Ze.config.bootData.user.id },
+            function (e, t, n, r, a) {
+              return de.a.createElement(
+                de.a.Fragment,
+                null,
+                t.loadUser
+                  ? de.a.createElement(j.LoadingPlaceholder, {
+                      text: "Loading user profile...",
+                    })
+                  : de.a.createElement(ia, {
+                      updateProfile: e.updateUserProfile,
+                      isSavingUser: t.updateUserProfile,
+                      user: a,
+                    }),
+                de.a.createElement(la.a, { resourceUri: "user" }),
+                de.a.createElement(ha, {
+                  isLoading: t.loadTeams,
+                  loadTeams: e.loadTeams,
+                  teams: n,
+                }),
+                !t.loadUser &&
+                  de.a.createElement(Oa, {
+                    isLoading: t.loadOrgs,
+                    setUserOrg: e.setUserOrg,
+                    loadOrgs: e.loadOrgs,
+                    orgs: r,
+                    user: a,
+                  })
+              );
+            }
+          );
+        },
+        ka = n("Yj82"),
+        ja = n("KwPh"),
+        Sa = Object(fe.memo)(function (e) {
+          var t = e.expr,
+            n = e.datasource,
+            r = e.onChange,
+            a = { from: Date.now() - 1e4, to: Date.now() },
+            o = Object(ka.a)(n.languageProvider, a),
+            i = o.isSyntaxReady,
+            l = o.setActiveOption,
+            s = o.refreshLabels,
+            c = o.syntax,
+            u = o.logLabelOptions,
+            f = { refId: "", expr: t };
+          return de.a.createElement(
+            "div",
+            { className: "gf-form-group" },
+            de.a.createElement(ja.a, {
+              datasource: n,
+              query: f,
+              onChange: function (e) {
+                return r(e.expr);
+              },
+              onRunQuery: function () {},
+              history: [],
+              data: null,
+              onLoadOptions: l,
+              onLabelsRefresh: s,
+              absoluteRange: a,
+              syntax: c,
+              syntaxLoaded: i,
+              logLabelOptions: u,
+            })
+          );
+        });
+      function Ea(e) {
+        return (Ea =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Ca(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function Pa(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Ta(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Da(e, t) {
+        return !t || ("object" !== Ea(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Aa(e) {
+        return (Aa = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function _a(e, t) {
+        return (_a =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Na = (function (e) {
+        function t() {
+          return Pa(this, t), Da(this, Aa(t).apply(this, arguments));
+        }
+        var n, r, a;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && _a(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "dismiss",
+              value: function () {
+                ke.b.emit("hide-modal");
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                return de.a.createElement(
+                  "div",
+                  { className: "modal-body" },
+                  de.a.createElement(
+                    "div",
+                    { className: "modal-header" },
+                    de.a.createElement(
+                      "h2",
+                      { className: "modal-header-title" },
+                      de.a.createElement("i", {
+                        className: "fa fa-keyboard-o",
+                      }),
+                      de.a.createElement(
+                        "span",
+                        { className: "p-l-1" },
+                        "Shortcuts"
+                      )
+                    ),
+                    de.a.createElement(
+                      "a",
+                      {
+                        className: "modal-header-close",
+                        onClick: this.dismiss,
+                      },
+                      de.a.createElement("i", { className: "fa fa-remove" })
+                    )
+                  ),
+                  de.a.createElement(
+                    "div",
+                    { className: "modal-content help-modal" },
+                    de.a.createElement(
+                      "p",
+                      {
+                        className: "small",
+                        style: {
+                          position: "absolute",
+                          top: "13px",
+                          right: "44px",
+                        },
+                      },
+                      de.a.createElement(
+                        "span",
+                        { className: "shortcut-table-key" },
+                        "mod"
+                      ),
+                      " =",
+                      de.a.createElement(
+                        "span",
+                        { className: "muted" },
+                        " CTRL on windows or linux and CMD key on Mac"
+                      )
+                    ),
+                    Object.entries(t.shortcuts).map(function (e, t) {
+                      var n = Ca(e, 2),
+                        r = n[0],
+                        a = n[1];
+                      return de.a.createElement(
+                        "div",
+                        { className: "shortcut-category", key: t },
+                        de.a.createElement(
+                          "table",
+                          { className: "shortcut-table" },
+                          de.a.createElement(
+                            "tbody",
+                            null,
+                            de.a.createElement(
+                              "tr",
+                              null,
+                              de.a.createElement(
+                                "th",
+                                {
+                                  className: "shortcut-table-category-header",
+                                  colSpan: 2,
+                                },
+                                r
+                              )
+                            ),
+                            a.map(function (e, n) {
+                              return de.a.createElement(
+                                "tr",
+                                { key: "".concat(t, "-").concat(n) },
+                                de.a.createElement(
+                                  "td",
+                                  { className: "shortcut-table-keys" },
+                                  e.keys.map(function (e, r) {
+                                    return de.a.createElement(
+                                      "span",
+                                      {
+                                        className: "shortcut-table-key",
+                                        key: ""
+                                          .concat(t, "-")
+                                          .concat(n, "-")
+                                          .concat(r),
+                                      },
+                                      e
+                                    );
+                                  })
+                                ),
+                                de.a.createElement(
+                                  "td",
+                                  { className: "shortcut-table-description" },
+                                  e.description
+                                )
+                              );
+                            })
+                          )
+                        )
+                      );
+                    }),
+                    de.a.createElement("div", { className: "clearfix" })
+                  )
+                );
+              },
+            },
+          ]) && Ta(n.prototype, r),
+          a && Ta(n, a),
+          t
+        );
+      })(de.a.PureComponent);
+      (Na.tabIndex = 0),
+        (Na.shortcuts = {
+          Global: [
+            { keys: ["g", "h"], description: "Go to Home Dashboard" },
+            { keys: ["g", "p"], description: "Go to Profile" },
+            { keys: ["s", "o"], description: "Open search" },
+            { keys: ["esc"], description: "Exit edit/setting views" },
+          ],
+          Dashboard: [
+            { keys: ["mod+s"], description: "Save dashboard" },
+            { keys: ["d", "r"], description: "Refresh all panels" },
+            { keys: ["d", "s"], description: "Dashboard settings" },
+            { keys: ["d", "v"], description: "Toggle in-active / view mode" },
+            {
+              keys: ["d", "k"],
+              description: "Toggle kiosk mode (hides top nav)",
+            },
+            { keys: ["d", "E"], description: "Expand all rows" },
+            { keys: ["d", "C"], description: "Collapse all rows" },
+            {
+              keys: ["d", "a"],
+              description: "Toggle auto fit panels (experimental feature)",
+            },
+            { keys: ["mod+o"], description: "Toggle shared graph crosshair" },
+            { keys: ["d", "l"], description: "Toggle all panel legends" },
+          ],
+          "Focused Panel": [
+            { keys: ["e"], description: "Toggle panel edit view" },
+            { keys: ["v"], description: "Toggle panel fullscreen view" },
+            { keys: ["p", "s"], description: "Open Panel Share Modal" },
+            { keys: ["p", "d"], description: "Duplicate Panel" },
+            { keys: ["p", "r"], description: "Remove Panel" },
+            { keys: ["p", "l"], description: "Toggle panel legend" },
+          ],
+          "Time Range": [
+            { keys: ["t", "z"], description: "Zoom out time range" },
+            {
+              keys: [
+                "t",
+                de.a.createElement("i", { className: "fa fa-long-arrow-left" }),
+              ],
+              description: "Move time range back",
+            },
+            {
+              keys: [
+                "t",
+                de.a.createElement("i", {
+                  className: "fa fa-long-arrow-right",
+                }),
+              ],
+              description: "Move time range forward",
+            },
+          ],
+        });
+      var Ma,
+        Ia = n("fL47"),
+        Ra = n("N9j+"),
+        Fa = n("buVq");
+      function La(e) {
+        return (La =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Va(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Ba(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function $a(e, t) {
+        return !t || ("object" !== La(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function qa(e) {
+        return (qa = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Ua(e, t) {
+        return (Ua =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      !(function (e) {
+        (e[(e.down = 1)] = "down"), (e[(e.up = -1)] = "up");
+      })(Ma || (Ma = {}));
+      var za = (function (e) {
+          function t() {
+            var e, n;
+            Va(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = $a(
+                this,
+                (e = qa(t)).call.apply(e, [this].concat(a))
+              )).onEditClick = function (e, t) {
+                e.preventDefault(), n.props.onEditClick(t);
+              }),
+              (n.onChangeVariableOrder = function (e, t, r) {
+                e.preventDefault(),
+                  n.props.onChangeVariableOrder(
+                    Object(Fa.g)(t),
+                    t.index,
+                    t.index + r
+                  );
+              }),
+              (n.onDuplicateVariable = function (e, t) {
+                e.preventDefault(), n.props.onDuplicateVariable(t);
+              }),
+              (n.onRemoveVariable = function (e, t) {
+                e.preventDefault(), n.props.onRemoveVariable(t);
+              }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Ua(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this;
+                  return de.a.createElement(
+                    "div",
+                    null,
+                    de.a.createElement(
+                      "div",
+                      null,
+                      0 === this.props.variables.length &&
+                        de.a.createElement(
+                          "div",
+                          null,
+                          de.a.createElement(mn.a, {
+                            title: "There are no variables yet",
+                            buttonIcon: "gicon gicon-variable",
+                            buttonTitle: "Add variable",
+                            infoBox: {
+                              __html:
+                                ' <p>\n                    Variables enable more interactive and dynamic dashboards. Instead of hard-coding things like server\n                    or sensor names in your metric queries you can use variables in their place. Variables are shown as\n                    dropdown select boxes at the top of the dashboard. These dropdowns make it easy to change the data\n                    being displayed in your dashboard. Check out the\n                    <a class="external-link" href="http://docs.grafana.org/reference/templating/" target="_blank">\n                      Templating documentation\n                    </a>\n                    for more information.\n                  </p>',
+                            },
+                            infoBoxTitle: "What do variables do?",
+                            onClick: this.props.onAddClick,
+                          })
+                        ),
+                      this.props.variables.length > 0 &&
+                        de.a.createElement(
+                          "div",
+                          null,
+                          de.a.createElement(
+                            "table",
+                            {
+                              className: "filter-table filter-table--hover",
+                              "aria-label":
+                                L.a.pages.Dashboard.Settings.Variables.List
+                                  .selectors.table,
+                            },
+                            de.a.createElement(
+                              "thead",
+                              null,
+                              de.a.createElement(
+                                "tr",
+                                null,
+                                de.a.createElement("th", null, "Variable"),
+                                de.a.createElement("th", null, "Definition"),
+                                de.a.createElement("th", { colSpan: 5 })
+                              )
+                            ),
+                            de.a.createElement(
+                              "tbody",
+                              null,
+                              this.props.variables.map(function (t, n) {
+                                var r = t;
+                                return de.a.createElement(
+                                  "tr",
+                                  { key: "".concat(r.name, "-").concat(n) },
+                                  de.a.createElement(
+                                    "td",
+                                    { style: { width: "1%" } },
+                                    de.a.createElement(
+                                      "span",
+                                      {
+                                        onClick: function (t) {
+                                          return e.onEditClick(
+                                            t,
+                                            Object(Fa.g)(r)
+                                          );
+                                        },
+                                        className: "pointer template-variable",
+                                        "aria-label": L.a.pages.Dashboard.Settings.Variables.List.selectors.tableRowNameFields(
+                                          r.name
+                                        ),
+                                      },
+                                      r.name
+                                    )
+                                  ),
+                                  de.a.createElement(
+                                    "td",
+                                    {
+                                      style: { maxWidth: "200px" },
+                                      onClick: function (t) {
+                                        return e.onEditClick(
+                                          t,
+                                          Object(Fa.g)(r)
+                                        );
+                                      },
+                                      className: "pointer max-width",
+                                      "aria-label": L.a.pages.Dashboard.Settings.Variables.List.selectors.tableRowDefinitionFields(
+                                        r.name
+                                      ),
+                                    },
+                                    r.definition ? r.definition : r.query
+                                  ),
+                                  de.a.createElement(
+                                    "td",
+                                    { style: { width: "1%" } },
+                                    n > 0 &&
+                                      de.a.createElement("i", {
+                                        onClick: function (t) {
+                                          return e.onChangeVariableOrder(
+                                            t,
+                                            r,
+                                            Ma.up
+                                          );
+                                        },
+                                        className: "pointer fa fa-arrow-up",
+                                        "aria-label": L.a.pages.Dashboard.Settings.Variables.List.selectors.tableRowArrowUpButtons(
+                                          r.name
+                                        ),
+                                      })
+                                  ),
+                                  de.a.createElement(
+                                    "td",
+                                    { style: { width: "1%" } },
+                                    n < e.props.variables.length - 1 &&
+                                      de.a.createElement("i", {
+                                        onClick: function (t) {
+                                          return e.onChangeVariableOrder(
+                                            t,
+                                            r,
+                                            Ma.down
+                                          );
+                                        },
+                                        className: "pointer fa fa-arrow-down",
+                                        "aria-label": L.a.pages.Dashboard.Settings.Variables.List.selectors.tableRowArrowDownButtons(
+                                          r.name
+                                        ),
+                                      })
+                                  ),
+                                  de.a.createElement(
+                                    "td",
+                                    { style: { width: "1%" } },
+                                    de.a.createElement(
+                                      "a",
+                                      {
+                                        onClick: function (t) {
+                                          return e.onDuplicateVariable(
+                                            t,
+                                            Object(Fa.g)(r)
+                                          );
+                                        },
+                                        className: "btn btn-inverse btn-small",
+                                        "aria-label": L.a.pages.Dashboard.Settings.Variables.List.selectors.tableRowDuplicateButtons(
+                                          r.name
+                                        ),
+                                      },
+                                      "Duplicate"
+                                    )
+                                  ),
+                                  de.a.createElement(
+                                    "td",
+                                    { style: { width: "1%" } },
+                                    de.a.createElement(
+                                      "a",
+                                      {
+                                        onClick: function (t) {
+                                          return e.onRemoveVariable(
+                                            t,
+                                            Object(Fa.g)(r)
+                                          );
+                                        },
+                                        className: "btn btn-danger btn-small",
+                                        "aria-label": L.a.pages.Dashboard.Settings.Variables.List.selectors.tableRowRemoveButtons(
+                                          r.name
+                                        ),
+                                      },
+                                      de.a.createElement("i", {
+                                        className: "fa fa-remove",
+                                      })
+                                    )
+                                  )
+                                );
+                              })
+                            )
+                          )
+                        )
+                    )
+                  );
+                },
+              },
+            ]) && Ba(n.prototype, r),
+            a && Ba(n, a),
+            t
+          );
+        })(fe.PureComponent),
+        Ha = n("Y+p1"),
+        Ga = n.n(Ha),
+        Wa = n("+CPp");
+      function Qa(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      var Ya = function (e) {
+        var t = e.variable,
+          n = Qa(Object(fe.useState)(20), 2),
+          r = n[0],
+          a = n[1],
+          o = Qa(Object(fe.useState)([]), 2),
+          i = o[0],
+          l = o[1],
+          s = Object(fe.useCallback)(
+            function () {
+              return a(r + 20);
+            },
+            [r, a]
+          );
+        return (
+          Object(fe.useEffect)(
+            function () {
+              t && t.hasOwnProperty("options") && l(t.options.slice(0, r));
+            },
+            [r, t]
+          ),
+          i.length
+            ? de.a.createElement(
+                "div",
+                { className: "gf-form-group" },
+                de.a.createElement("h5", null, "Preview of values"),
+                de.a.createElement(
+                  "div",
+                  { className: "gf-form-inline" },
+                  i.map(function (e, t) {
+                    return de.a.createElement(
+                      "div",
+                      {
+                        className: "gf-form",
+                        key: "".concat(e.value, "-").concat(t),
+                      },
+                      de.a.createElement(
+                        "span",
+                        {
+                          className: "gf-form-label",
+                          "aria-label":
+                            L.a.pages.Dashboard.Settings.Variables.Edit.General
+                              .selectors.previewOfValuesOption,
+                        },
+                        e.text
+                      )
+                    );
+                  }),
+                  i.length > r &&
+                    de.a.createElement(
+                      "div",
+                      {
+                        className: "gf-form",
+                        "ng-if": "current.options.length > optionsLimit",
+                      },
+                      de.a.createElement(
+                        "a",
+                        {
+                          className: "gf-form-label btn-secondary",
+                          onClick: s,
+                          "aria-label":
+                            "Variable editor Preview of Values Show More link",
+                        },
+                        "Show more"
+                      )
+                    )
+                )
+              )
+            : null
+        );
+      };
+      Ya.displayName = "VariableValuesPreview";
+      var Ka = n("Yyu/"),
+        Ja = n("dcGt"),
+        Za = n("EcEN"),
+        Xa = n("BkRI"),
+        eo = n.n(Xa),
+        to = n("mpro");
+      function no(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function ro(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              no(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              no(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      var ao = function () {
+        return function (e) {
+          e(Object(Ja.e)());
+        };
+      };
+      function oo(e) {
+        return (oo =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function io(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function lo(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              io(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              io(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function so(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function co(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function uo(e, t) {
+        return !t || ("object" !== oo(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function fo(e) {
+        return (fo = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function po(e, t) {
+        return (po =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var ho = (function (e) {
+          function t() {
+            var e, n;
+            so(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = uo(
+                this,
+                (e = fo(t)).call.apply(e, [this].concat(a))
+              )).onNameChange = function (e) {
+                e.preventDefault(),
+                  n.props.changeVariableName(
+                    n.props.identifier,
+                    e.target.value
+                  );
+              }),
+              (n.onTypeChange = function (e) {
+                e.preventDefault(),
+                  n.props.changeVariableType(
+                    Object(Fa.h)(n.props.identifier, {
+                      newType: e.target.value,
+                    })
+                  );
+              }),
+              (n.onLabelChange = function (e) {
+                e.preventDefault(),
+                  n.props.changeVariableProp(
+                    Object(Fa.h)(n.props.identifier, {
+                      propName: "label",
+                      propValue: e.target.value,
+                    })
+                  );
+              }),
+              (n.onHideChange = function (e) {
+                e.preventDefault(),
+                  n.props.changeVariableProp(
+                    Object(Fa.h)(n.props.identifier, {
+                      propName: "hide",
+                      propValue: parseInt(e.target.value, 10),
+                    })
+                  );
+              }),
+              (n.onPropChanged = (function () {
+                var e = lo(
+                  regeneratorRuntime.mark(function e(t) {
+                    var r, a, o, i;
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            if (
+                              ((r = t.propName),
+                              (a = t.propValue),
+                              (o = t.updateOptions),
+                              (i = void 0 !== o && o),
+                              n.props.changeVariableProp(
+                                Object(Fa.h)(n.props.identifier, {
+                                  propName: r,
+                                  propValue: a,
+                                })
+                              ),
+                              !i)
+                            ) {
+                              e.next = 5;
+                              break;
+                            }
+                            return (
+                              (e.next = 5),
+                              Wa.a
+                                .get(n.props.variable.type)
+                                .updateOptions(n.props.variable)
+                            );
+                          case 5:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                );
+                return function (t) {
+                  return e.apply(this, arguments);
+                };
+              })()),
+              (n.onHandleSubmit = (function () {
+                var e = lo(
+                  regeneratorRuntime.mark(function e(t) {
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            if ((t.preventDefault(), n.props.editor.isValid)) {
+                              e.next = 3;
+                              break;
+                            }
+                            return e.abrupt("return");
+                          case 3:
+                            if (n.props.variable.uuid === Fa.c) {
+                              e.next = 6;
+                              break;
+                            }
+                            return (
+                              (e.next = 6),
+                              n.props.onEditorUpdate(n.props.identifier)
+                            );
+                          case 6:
+                            if (n.props.variable.uuid !== Fa.c) {
+                              e.next = 9;
+                              break;
+                            }
+                            return (
+                              (e.next = 9),
+                              n.props.onEditorAdd(n.props.identifier)
+                            );
+                          case 9:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                );
+                return function (t) {
+                  return e.apply(this, arguments);
+                };
+              })()),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && po(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value: function () {
+                  this.props.variableEditorMount(this.props.identifier);
+                },
+              },
+              {
+                key: "componentDidUpdate",
+                value: function (e, t, n) {
+                  Ga()(e.editor.errors, this.props.editor.errors) ||
+                    Object.values(this.props.editor.errors).forEach(function (
+                      e
+                    ) {
+                      ke.b.emit(v.AppEvents.alertWarning, ["Validation", e]);
+                    });
+                },
+              },
+              {
+                key: "componentWillUnmount",
+                value: function () {
+                  this.props.variableEditorUnMount(this.props.identifier);
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e,
+                    t = Wa.a.get(this.props.variable.type).editor;
+                  if (!t) return null;
+                  var n =
+                    this.props.variable.uuid &&
+                    this.props.variable.uuid === Fa.c;
+                  return de.a.createElement(
+                    "div",
+                    null,
+                    de.a.createElement(
+                      "form",
+                      {
+                        "aria-label": "Variable editor Form",
+                        onSubmit: this.onHandleSubmit,
+                      },
+                      de.a.createElement(
+                        "h5",
+                        { className: "section-heading" },
+                        "General"
+                      ),
+                      de.a.createElement(
+                        "div",
+                        { className: "gf-form-group" },
+                        de.a.createElement(
+                          "div",
+                          { className: "gf-form-inline" },
+                          de.a.createElement(
+                            "div",
+                            { className: "gf-form max-width-19" },
+                            de.a.createElement(
+                              "span",
+                              { className: "gf-form-label width-6" },
+                              "Name"
+                            ),
+                            de.a.createElement("input", {
+                              type: "text",
+                              className: "gf-form-input",
+                              name: "name",
+                              placeholder: "name",
+                              required: !0,
+                              value: this.props.editor.name,
+                              onChange: this.onNameChange,
+                              "aria-label":
+                                L.a.pages.Dashboard.Settings.Variables.Edit
+                                  .General.selectors.generalNameInput,
+                            })
+                          ),
+                          de.a.createElement(
+                            "div",
+                            { className: "gf-form max-width-19" },
+                            de.a.createElement(
+                              j.FormLabel,
+                              {
+                                width: 6,
+                                tooltip: Wa.a.get(this.props.variable.type)
+                                  .description,
+                              },
+                              "Type"
+                            ),
+                            de.a.createElement(
+                              "div",
+                              {
+                                className:
+                                  "gf-form-select-wrapper max-width-17",
+                              },
+                              de.a.createElement(
+                                "select",
+                                {
+                                  className: "gf-form-input",
+                                  value: this.props.variable.type,
+                                  onChange: this.onTypeChange,
+                                  "aria-label":
+                                    L.a.pages.Dashboard.Settings.Variables.Edit
+                                      .General.selectors.generalTypeSelect,
+                                },
+                                Wa.a.registeredTypes().map(function (e) {
+                                  return de.a.createElement(
+                                    "option",
+                                    {
+                                      key: e.type,
+                                      label: e.label,
+                                      value: e.type,
+                                    },
+                                    e.label
+                                  );
+                                })
+                              )
+                            )
+                          )
+                        ),
+                        this.props.editor.errors.name &&
+                          de.a.createElement(
+                            "div",
+                            { className: "gf-form" },
+                            de.a.createElement(
+                              "span",
+                              {
+                                className: "gf-form-label gf-form-label--error",
+                              },
+                              this.props.editor.errors.name
+                            )
+                          ),
+                        de.a.createElement(
+                          "div",
+                          { className: "gf-form-inline" },
+                          de.a.createElement(
+                            "div",
+                            { className: "gf-form max-width-19" },
+                            de.a.createElement(
+                              "span",
+                              { className: "gf-form-label width-6" },
+                              "Label"
+                            ),
+                            de.a.createElement("input", {
+                              type: "text",
+                              className: "gf-form-input",
+                              value:
+                                null !== (e = this.props.variable.label) &&
+                                void 0 !== e
+                                  ? e
+                                  : "",
+                              onChange: this.onLabelChange,
+                              placeholder: "optional display name",
+                              "aria-label":
+                                L.a.pages.Dashboard.Settings.Variables.Edit
+                                  .General.selectors.generalLabelInput,
+                            })
+                          ),
+                          de.a.createElement(
+                            "div",
+                            { className: "gf-form max-width-19" },
+                            de.a.createElement(
+                              "span",
+                              { className: "gf-form-label width-6" },
+                              "Hide"
+                            ),
+                            de.a.createElement(
+                              "div",
+                              {
+                                className:
+                                  "gf-form-select-wrapper max-width-15",
+                              },
+                              de.a.createElement(
+                                "select",
+                                {
+                                  className: "gf-form-input",
+                                  value: this.props.variable.hide,
+                                  onChange: this.onHideChange,
+                                  "aria-label":
+                                    L.a.pages.Dashboard.Settings.Variables.Edit
+                                      .General.selectors.generalHideSelect,
+                                },
+                                de.a.createElement(
+                                  "option",
+                                  { label: "", value: V.a.dontHide },
+                                  ""
+                                ),
+                                de.a.createElement(
+                                  "option",
+                                  { label: "", value: V.a.hideLabel },
+                                  "Label"
+                                ),
+                                de.a.createElement(
+                                  "option",
+                                  { label: "", value: V.a.hideVariable },
+                                  "Variable"
+                                )
+                              )
+                            )
+                          )
+                        )
+                      ),
+                      t &&
+                        de.a.createElement(t, {
+                          variable: this.props.variable,
+                          onPropChange: this.onPropChanged,
+                        }),
+                      de.a.createElement(Ya, { variable: this.props.variable }),
+                      de.a.createElement(
+                        "div",
+                        { className: "gf-form-button-row p-y-0" },
+                        !n &&
+                          de.a.createElement(
+                            "button",
+                            {
+                              type: "submit",
+                              className: "btn btn-primary",
+                              "aria-label":
+                                L.a.pages.Dashboard.Settings.Variables.Edit
+                                  .General.selectors.updateButton,
+                            },
+                            "Update"
+                          ),
+                        n &&
+                          de.a.createElement(
+                            "button",
+                            {
+                              type: "submit",
+                              className: "btn btn-primary",
+                              "aria-label":
+                                L.a.pages.Dashboard.Settings.Variables.Edit
+                                  .General.selectors.addButton,
+                            },
+                            "Add"
+                          )
+                      )
+                    )
+                  );
+                },
+              },
+            ]) && co(n.prototype, r),
+            a && co(n, a),
+            t
+          );
+        })(fe.PureComponent),
+        mo = {
+          variableEditorMount: function (e) {
+            return (function () {
+              var t = ro(
+                regeneratorRuntime.mark(function t(n) {
+                  return regeneratorRuntime.wrap(function (t) {
+                    for (;;)
+                      switch ((t.prev = t.next)) {
+                        case 0:
+                          n(Object(Ja.h)({ name: Object(Ka.a)(e.uuid).name }));
+                        case 1:
+                        case "end":
+                          return t.stop();
+                      }
+                  }, t);
+                })
+              );
+              return function (e) {
+                return t.apply(this, arguments);
+              };
+            })();
+          },
+          variableEditorUnMount: function (e) {
+            return (function () {
+              var t = ro(
+                regeneratorRuntime.mark(function t(n, r) {
+                  return regeneratorRuntime.wrap(function (t) {
+                    for (;;)
+                      switch ((t.prev = t.next)) {
+                        case 0:
+                          n(Object(Ja.j)(Object(Fa.h)(e))),
+                            r().templating.variables[Fa.c] &&
+                              n(
+                                Object(to.h)(
+                                  Object(Fa.h)(
+                                    { type: e.type, uuid: Fa.c },
+                                    { reIndex: !1 }
+                                  )
+                                )
+                              );
+                        case 2:
+                        case "end":
+                          return t.stop();
+                      }
+                  }, t);
+                })
+              );
+              return function (e, n) {
+                return t.apply(this, arguments);
+              };
+            })();
+          },
+          changeVariableName: function (e, t) {
+            return function (n, r) {
+              var a = null;
+              t.match(/^(?!__).*$/) ||
+                (a =
+                  "Template names cannot begin with '__', that's reserved for Grafana's global variables"),
+                t.match(/^\w+$/) ||
+                  (a =
+                    "Only word and digit characters are allowed in variable names"),
+                Object(Ka.d)(r()).filter(function (n) {
+                  return n.name === t && n.uuid !== e.uuid;
+                }).length && (a = "Variable with the same name already exists"),
+                a && n(Object(Ja.c)({ newName: t, errorText: a })),
+                a || n(Object(Ja.d)(Object(Fa.h)(e, t)));
+            };
+          },
+          changeVariableProp: to.d,
+          onEditorUpdate: function (e) {
+            return (function () {
+              var t = ro(
+                regeneratorRuntime.mark(function t(n, r) {
+                  var a;
+                  return regeneratorRuntime.wrap(function (t) {
+                    for (;;)
+                      switch ((t.prev = t.next)) {
+                        case 0:
+                          return (
+                            (a = Object(Ka.a)(e.uuid, r())),
+                            (t.next = 3),
+                            Wa.a.get(a.type).updateOptions(a)
+                          );
+                        case 3:
+                          n(ao());
+                        case 4:
+                        case "end":
+                          return t.stop();
+                      }
+                  }, t);
+                })
+              );
+              return function (e, n) {
+                return t.apply(this, arguments);
+              };
+            })();
+          },
+          onEditorAdd: function (e) {
+            return (function () {
+              var t = ro(
+                regeneratorRuntime.mark(function t(n, r) {
+                  var a, o;
+                  return regeneratorRuntime.wrap(function (t) {
+                    for (;;)
+                      switch ((t.prev = t.next)) {
+                        case 0:
+                          return (
+                            (a = Object(Za.v4)()),
+                            n(
+                              Object(to.l)(
+                                Object(Fa.h)({ type: e.type, uuid: a })
+                              )
+                            ),
+                            (o = Object(Ka.a)(a, r())),
+                            (t.next = 5),
+                            Wa.a.get(o.type).updateOptions(o)
+                          );
+                        case 5:
+                          n(ao()),
+                            n(
+                              Object(to.h)(
+                                Object(Fa.h)(
+                                  { type: e.type, uuid: Fa.c },
+                                  { reIndex: !1 }
+                                )
+                              )
+                            );
+                        case 7:
+                        case "end":
+                          return t.stop();
+                      }
+                  }, t);
+                })
+              );
+              return function (e, n) {
+                return t.apply(this, arguments);
+              };
+            })();
+          },
+          changeVariableType: to.e,
+        },
+        go = Object(lt.b)(
+          ho,
+          function (e, t) {
+            return {
+              editor: e.templating.editor,
+              variable: Object(Ka.a)(t.identifier.uuid, e),
+            };
+          },
+          mo
+        );
+      function bo(e) {
+        return (bo =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function vo(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function yo(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function wo(e, t) {
+        return !t || ("object" !== bo(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Oo(e) {
+        return (Oo = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function xo(e, t) {
+        return (xo =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var ko = (function (e) {
+          function t() {
+            var e, n;
+            vo(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = wo(
+                this,
+                (e = Oo(t)).call.apply(e, [this].concat(a))
+              )).onChangeToListMode = function (e) {
+                e.preventDefault(), n.props.switchToListMode();
+              }),
+              (n.onEditVariable = function (e) {
+                n.props.switchToEditMode(e);
+              }),
+              (n.onNewVariable = function (e) {
+                e.preventDefault(), n.props.switchToNewMode();
+              }),
+              (n.onChangeVariableOrder = function (e, t, r) {
+                n.props.changeVariableOrder(
+                  Object(Fa.h)(e, { fromIndex: t, toIndex: r })
+                );
+              }),
+              (n.onDuplicateVariable = function (e) {
+                n.props.duplicateVariable(Object(Fa.h)(e));
+              }),
+              (n.onRemoveVariable = function (e) {
+                n.props.removeVariable(Object(Fa.h)(e, { reIndex: !0 }));
+              }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && xo(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value: function () {
+                  this.props.switchToListMode();
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e,
+                    t = this,
+                    n =
+                      null !==
+                        (e = this.props.variables.find(function (e) {
+                          return e.uuid === t.props.idInEditor;
+                        })) && void 0 !== e
+                        ? e
+                        : null;
+                  return de.a.createElement(
+                    "div",
+                    null,
+                    de.a.createElement(
+                      "div",
+                      { className: "page-action-bar" },
+                      de.a.createElement(
+                        "h3",
+                        { className: "dashboard-settings__header" },
+                        de.a.createElement(
+                          "a",
+                          {
+                            onClick: this.onChangeToListMode,
+                            "aria-label":
+                              L.a.pages.Dashboard.Settings.Variables.Edit
+                                .General.selectors.headerLink,
+                          },
+                          "Variables"
+                        ),
+                        this.props.idInEditor === Fa.c &&
+                          de.a.createElement(
+                            "span",
+                            null,
+                            de.a.createElement("i", {
+                              className: "fa fa-fw fa-chevron-right",
+                              "aria-label":
+                                L.a.pages.Dashboard.Settings.Variables.Edit
+                                  .General.selectors.modeLabelNew,
+                            }),
+                            "New"
+                          ),
+                        this.props.idInEditor &&
+                          this.props.idInEditor !== Fa.c &&
+                          de.a.createElement(
+                            "span",
+                            null,
+                            de.a.createElement("i", {
+                              className: "fa fa-fw fa-chevron-right",
+                              "aria-label":
+                                L.a.pages.Dashboard.Settings.Variables.Edit
+                                  .General.selectors.modeLabelEdit,
+                            }),
+                            "Edit"
+                          )
+                      ),
+                      de.a.createElement("div", {
+                        className: "page-action-bar__spacer",
+                      }),
+                      this.props.variables.length > 0 &&
+                        null === n &&
+                        de.a.createElement(
+                          "a",
+                          {
+                            type: "button",
+                            className: "btn btn-primary",
+                            onClick: this.onNewVariable,
+                            "aria-label":
+                              L.a.pages.Dashboard.Settings.Variables.List
+                                .selectors.newButton,
+                          },
+                          "New"
+                        )
+                    ),
+                    !n &&
+                      de.a.createElement(za, {
+                        variables: this.props.variables,
+                        onAddClick: this.onNewVariable,
+                        onEditClick: this.onEditVariable,
+                        onChangeVariableOrder: this.onChangeVariableOrder,
+                        onDuplicateVariable: this.onDuplicateVariable,
+                        onRemoveVariable: this.onRemoveVariable,
+                      }),
+                    n && de.a.createElement(go, { identifier: Object(Fa.g)(n) })
+                  );
+                },
+              },
+            ]) && yo(n.prototype, r),
+            a && yo(n, a),
+            t
+          );
+        })(fe.PureComponent),
+        jo = {
+          changeVariableOrder: to.c,
+          duplicateVariable: to.f,
+          removeVariable: to.h,
+          switchToNewMode: function () {
+            return function (e, t) {
+              var n = Fa.c,
+                r = eo()(Wa.a.get("query").initialState),
+                a = Object.values(t().templating.variables).length,
+                o = { type: "query", uuid: n };
+              e(
+                Object(to.b)(
+                  Object(Fa.h)(o, { global: !1, model: r, index: a })
+                )
+              ),
+                e(Object(Ja.g)({ id: o.uuid }));
+            };
+          },
+          switchToEditMode: function (e) {
+            return function (t) {
+              t(Object(Ja.g)({ id: e.uuid }));
+            };
+          },
+          switchToListMode: ao,
+        },
+        So = Object(lt.b)(
+          ko,
+          function (e) {
+            return {
+              variables: Object(Ka.b)(e, !0),
+              idInEditor: e.templating.editor.id,
+            };
+          },
+          jo
+        );
+      function Eo() {
+        Object(Nt.a)("footer", Bn.a, []),
+          Object(Nt.a)("helpModal", Na, []),
+          Object(Nt.a)("sidemenu", rr, []),
+          Object(Nt.a)("functionEditor", Br, [
+            "func",
+            "onRemove",
+            "onMoveLeft",
+            "onMoveRight",
+          ]),
+          Object(Nt.a)("appNotificationsList", Pr, []),
+          Object(Nt.a)("pageHeader", hn.a, ["model", "noTabs"]),
+          Object(Nt.a)("emptyListCta", mn.a, [
+            "title",
+            "buttonIcon",
+            "buttonLink",
+            "buttonTitle",
+            ["onClick", { watchDepth: "reference", wrapApply: !0 }],
+            "proTip",
+            "proTipLink",
+            "proTipLinkTitle",
+            "proTipTarget",
+            "infoBox",
+            "infoBoxTitle",
+          ]),
+          Object(Nt.a)("searchField", Jr, [
+            "query",
+            "autoFocus",
+            ["onChange", { watchDepth: "reference" }],
+            ["onKeyDown", { watchDepth: "reference" }],
+          ]),
+          Object(Nt.a)("tagFilter", Sn, [
+            "tags",
+            ["onChange", { watchDepth: "reference" }],
+            ["tagOptions", { watchDepth: "reference" }],
+          ]),
+          Object(Nt.a)("colorPicker", j.ColorPicker, [
+            "color",
+            ["onChange", { watchDepth: "reference", wrapApply: !0 }],
+          ]),
+          Object(Nt.a)(
+            "seriesColorPickerPopover",
+            j.SeriesColorPickerPopoverWithTheme,
+            ["color", "series", "onColorChange", "onToggleAxis"]
+          ),
+          Object(Nt.a)("unitPicker", j.UnitPicker, [
+            "value",
+            "width",
+            ["onChange", { watchDepth: "reference", wrapApply: !0 }],
+          ]),
+          Object(Nt.a)("metricSelect", ur, [
+            "options",
+            "onChange",
+            "value",
+            "isSearchable",
+            "className",
+            "placeholder",
+            ["variables", { watchDepth: "reference" }],
+          ]),
+          Object(Nt.a)("stackdriverQueryEditor", Qt, [
+            "target",
+            "onQueryChange",
+            "onExecuteQuery",
+            ["events", { watchDepth: "reference" }],
+            ["datasource", { watchDepth: "reference" }],
+            ["templateSrv", { watchDepth: "reference" }],
+          ]),
+          Object(Nt.a)("stackdriverAnnotationQueryEditor", ln, [
+            "target",
+            "onQueryChange",
+            ["datasource", { watchDepth: "reference" }],
+            ["templateSrv", { watchDepth: "reference" }],
+          ]),
+          Object(Nt.a)("cloudwatchAnnotationQueryEditor", pn, [
+            "query",
+            "onChange",
+            ["datasource", { watchDepth: "reference" }],
+          ]),
+          Object(Nt.a)("secretFormField", j.SecretFormField, [
+            "value",
+            "isConfigured",
+            "inputWidth",
+            "labelWidth",
+            ["onReset", { watchDepth: "reference", wrapApply: !0 }],
+            ["onChange", { watchDepth: "reference", wrapApply: !0 }],
+          ]),
+          Object(Nt.a)("graphContextMenu", j.GraphContextMenu, [
+            "x",
+            "y",
+            "items",
+            ["onClose", { watchDepth: "reference", wrapApply: !0 }],
+            [
+              "getContextMenuSource",
+              { watchDepth: "reference", wrapApply: !0 },
+            ],
+            ["formatSourceDate", { watchDepth: "reference", wrapApply: !0 }],
+          ]),
+          Object(Nt.a)("drilldownLinksEditor", j.DataLinksEditor, [
+            "value",
+            "suggestions",
+            ["onChange", { watchDepth: "reference", wrapApply: !0 }],
+          ]),
+          Object(Nt.a)("reactProfileWrapper", xa, []),
+          Object(Nt.a)("lokiAnnotationsQueryEditor", Sa, [
+            "expr",
+            "onChange",
+            ["datasource", { watchDepth: "reference" }],
+          ]),
+          Object(Nt.a)("datasourceHttpSettingsNext", j.DataSourceHttpSettings, [
+            "defaultUrl",
+            "showAccessOptions",
+            "dataSourceConfig",
+            ["onChange", { watchDepth: "reference", wrapApply: !0 }],
+          ]),
+          Object(Nt.a)("folderPicker", Ia.a, [
+            "labelClass",
+            "rootName",
+            "enableCreateNew",
+            "enableReset",
+            "initialTitle",
+            "initialFolderId",
+            "dashboardId",
+            "onCreateFolder",
+            ["enterFolderCreation", { watchDepth: "reference", wrapApply: !0 }],
+            ["exitFolderCreation", { watchDepth: "reference", wrapApply: !0 }],
+            ["onLoad", { watchDepth: "reference", wrapApply: !0 }],
+            ["onChange", { watchDepth: "reference", wrapApply: !0 }],
+          ]),
+          Object(Nt.a)("saveDashboardButton", Ra.c, [
+            ["getDashboard", { watchDepth: "reference", wrapApply: !0 }],
+            ["onSaveSuccess", { watchDepth: "reference", wrapApply: !0 }],
+            ["dashboard", { watchDepth: "reference", wrapApply: !0 }],
+          ]),
+          Object(Nt.a)("saveDashboardAsButton", Ra.b, [
+            "variant",
+            "useNewForms",
+            ["getDashboard", { watchDepth: "reference", wrapApply: !0 }],
+            ["onSaveSuccess", { watchDepth: "reference", wrapApply: !0 }],
+          ]),
+          Object(Nt.a)("variableEditorContainer", So, []);
+      }
+      var Co = n("1Zgx");
+      function Po(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var To = (function () {
+        function e(t, n) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$location = t),
+            (this.$scope = n),
+            (this.selectors = L.a.pages.Dashboards.selectors);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$location", "$scope"]),
+          (t = e),
+          (n = [
+            {
+              key: "toggleFolderExpand",
+              value: function (e) {
+                var t = this;
+                e.toggle &&
+                  (!e.expanded &&
+                    this.onFolderExpanding &&
+                    this.onFolderExpanding(),
+                  Object(He.a)(this.$scope)(
+                    e.toggle(e).then(function (e) {
+                      t.editable &&
+                        e.expanded &&
+                        e.items &&
+                        (a.a.each(e.items, function (t) {
+                          t.checked = e.checked;
+                        }),
+                        t.onSelectionChanged && t.onSelectionChanged());
+                    })
+                  ));
+              },
+            },
+            {
+              key: "navigateToFolder",
+              value: function (e, t) {
+                this.$location.path(e.url),
+                  t && (t.stopPropagation(), t.preventDefault());
+              },
+            },
+            {
+              key: "toggleSelection",
+              value: function (e, t) {
+                (e.checked = !e.checked),
+                  e.items &&
+                    a.a.each(e.items, function (t) {
+                      t.checked = e.checked;
+                    }),
+                  this.onSelectionChanged && this.onSelectionChanged(),
+                  t && (t.stopPropagation(), t.preventDefault());
+              },
+            },
+            {
+              key: "onItemClick",
+              value: function (e) {
+                (this.$location.path().indexOf(e.url) > -1 ||
+                  e.url.indexOf(this.$location.path()) > -1) &&
+                  ke.b.emit(G.CoreEvents.hideDashSearch);
+              },
+            },
+            {
+              key: "selectTag",
+              value: function (e, t) {
+                this.onTagSelected && this.onTagSelected({ $tag: e }),
+                  t && (t.stopPropagation(), t.preventDefault());
+              },
+            },
+          ]) && Po(t.prototype, n),
+          r && Po(t, r),
+          e
+        );
+      })();
+      function Do(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function Ao(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function _o(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      l.c.directive("dashboardSearchResults", function () {
+        return {
+          restrict: "E",
+          templateUrl: "public/app/core/components/search/search_results.html",
+          controller: To,
+          bindToController: !0,
+          controllerAs: "ctrl",
+          scope: {
+            editable: "@",
+            results: "=",
+            onSelectionChanged: "&",
+            onTagSelected: "&",
+            onFolderExpanding: "&",
+          },
+        };
+      });
+      var No = (function () {
+        function e(t, n, r) {
+          var a = this;
+          _o(this, e),
+            (this.$scope = t),
+            (this.searchSrv = n),
+            (this.contextSrv = r),
+            (this.selectAllChecked = !1),
+            (this.canDelete = !1),
+            (this.canMove = !1),
+            (this.hasFilters = !1),
+            (this.starredFilterOptions = [
+              { text: "Filter by Starred", disabled: !0 },
+              { text: "Yes" },
+              { text: "No" },
+            ]),
+            (this.canSave = !1),
+            (this.isEditor = this.contextSrv.isEditor),
+            (this.hasEditPermissionInFolders = this.contextSrv.hasEditPermissionInFolders),
+            (this.query = {
+              query: "",
+              mode: "tree",
+              tag: [],
+              starred: !1,
+              skipRecent: !0,
+              skipStarred: !0,
+              folderIds: [],
+            }),
+            this.folderId && (this.query.folderIds = [this.folderId]),
+            (this.selectedStarredFilter = this.starredFilterOptions[0]),
+            this.refreshList().then(function () {
+              a.initTagFilter();
+            });
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$scope", "searchSrv", "contextSrv"]),
+          (t = e),
+          (n = [
+            {
+              key: "refreshList",
+              value: function () {
+                var e = this;
+                return this.searchSrv
+                  .search(this.query)
+                  .then(function (t) {
+                    return e.initDashboardList(t);
+                  })
+                  .then(function () {
+                    if (e.folderUid)
+                      return se.b
+                        .getFolderByUid(e.folderUid)
+                        .then(function (t) {
+                          (e.canSave = t.canSave),
+                            e.canSave || (e.hasEditPermissionInFolders = !1),
+                            e.$scope.$digest();
+                        });
+                    e.$scope.$digest();
+                  });
+              },
+            },
+            {
+              key: "initDashboardList",
+              value: function (e) {
+                if (
+                  ((this.canMove = !1),
+                  (this.canDelete = !1),
+                  (this.selectAllChecked = !1),
+                  (this.hasFilters =
+                    this.query.query.length > 0 ||
+                    this.query.tag.length > 0 ||
+                    this.query.starred),
+                  e)
+                ) {
+                  this.sections = e;
+                  var t = !0,
+                    n = !1,
+                    r = void 0;
+                  try {
+                    for (
+                      var a, o = this.sections[Symbol.iterator]();
+                      !(t = (a = o.next()).done);
+                      t = !0
+                    ) {
+                      var i = a.value;
+                      i.checked = !1;
+                      var l = !0,
+                        s = !1,
+                        c = void 0;
+                      try {
+                        for (
+                          var u, f = i.items[Symbol.iterator]();
+                          !(l = (u = f.next()).done);
+                          l = !0
+                        )
+                          u.value.checked = !1;
+                      } catch (e) {
+                        (s = !0), (c = e);
+                      } finally {
+                        try {
+                          l || null == f.return || f.return();
+                        } finally {
+                          if (s) throw c;
+                        }
+                      }
+                    }
+                  } catch (e) {
+                    (n = !0), (r = e);
+                  } finally {
+                    try {
+                      t || null == o.return || o.return();
+                    } finally {
+                      if (n) throw r;
+                    }
+                  }
+                  this.folderId &&
+                    this.sections.length > 0 &&
+                    (this.sections[0].hideHeader = !0);
+                } else this.sections = [];
+              },
+            },
+            {
+              key: "selectionChanged",
+              value: function () {
+                var e = 0,
+                  t = !0,
+                  n = !1,
+                  r = void 0;
+                try {
+                  for (
+                    var o, i = this.sections[Symbol.iterator]();
+                    !(t = (o = i.next()).done);
+                    t = !0
+                  ) {
+                    var l = o.value;
+                    e += a.a.filter(l.items, { checked: !0 }).length;
+                  }
+                } catch (e) {
+                  (n = !0), (r = e);
+                } finally {
+                  try {
+                    t || null == i.return || i.return();
+                  } finally {
+                    if (n) throw r;
+                  }
+                }
+                var s = a.a.filter(this.sections, { checked: !0 }).length;
+                (this.canMove = e > 0), (this.canDelete = e > 0 || s > 0);
+              },
+            },
+            {
+              key: "getFoldersAndDashboardsToDelete",
+              value: function () {
+                var e = { folderUids: [], dashboardUids: [] },
+                  t = !0,
+                  n = !1,
+                  r = void 0;
+                try {
+                  for (
+                    var o, i = this.sections[Symbol.iterator]();
+                    !(t = (o = i.next()).done);
+                    t = !0
+                  ) {
+                    var l = o.value;
+                    if (l.checked && 0 !== l.id) e.folderUids.push(l.uid);
+                    else {
+                      var s,
+                        c = a.a.filter(l.items, { checked: !0 });
+                      (s = e.dashboardUids).push.apply(
+                        s,
+                        Do(a.a.map(c, "uid"))
+                      );
+                    }
+                  }
+                } catch (e) {
+                  (n = !0), (r = e);
+                } finally {
+                  try {
+                    t || null == i.return || i.return();
+                  } finally {
+                    if (n) throw r;
+                  }
+                }
+                return e;
+              },
+            },
+            {
+              key: "getFolderIds",
+              value: function (e) {
+                var t = [],
+                  n = !0,
+                  r = !1,
+                  a = void 0;
+                try {
+                  for (
+                    var o, i = e[Symbol.iterator]();
+                    !(n = (o = i.next()).done);
+                    n = !0
+                  ) {
+                    var l = o.value;
+                    l.checked && t.push(l.id);
+                  }
+                } catch (e) {
+                  (r = !0), (a = e);
+                } finally {
+                  try {
+                    n || null == i.return || i.return();
+                  } finally {
+                    if (r) throw a;
+                  }
+                }
+                return t;
+              },
+            },
+            {
+              key: "delete",
+              value: function () {
+                var e,
+                  t = this,
+                  n = this.getFoldersAndDashboardsToDelete(),
+                  r = n.folderUids.length,
+                  a = n.dashboardUids.length,
+                  o = "Do you want to delete the ";
+                r > 0 && a > 0
+                  ? ((o += "selected folder"
+                      .concat(1 === r ? "" : "s", " and dashboard")
+                      .concat(1 === a ? "" : "s", "?")),
+                    (e = "All dashboards of the selected folder".concat(
+                      1 === r ? "" : "s",
+                      " will also be deleted"
+                    )))
+                  : (o +=
+                      r > 0
+                        ? "selected folder".concat(
+                            1 === r ? "" : "s",
+                            " and all its dashboards?"
+                          )
+                        : "selected dashboard".concat(1 === a ? "" : "s", "?")),
+                  ke.b.emit(G.CoreEvents.showConfirmModal, {
+                    title: "Delete",
+                    text: o,
+                    text2: e,
+                    icon: "fa-trash",
+                    yesText: "Delete",
+                    onConfirm: function () {
+                      t.deleteFoldersAndDashboards(
+                        n.folderUids,
+                        n.dashboardUids
+                      );
+                    },
+                  });
+              },
+            },
+            {
+              key: "deleteFoldersAndDashboards",
+              value: function (e, t) {
+                var n = this;
+                Object(He.a)(this.$scope)(
+                  se.b.deleteFoldersAndDashboards(e, t).then(function () {
+                    n.refreshList();
+                  })
+                );
+              },
+            },
+            {
+              key: "getDashboardsToMove",
+              value: function () {
+                var e = [],
+                  t = !0,
+                  n = !1,
+                  r = void 0;
+                try {
+                  for (
+                    var o, i = this.sections[Symbol.iterator]();
+                    !(t = (o = i.next()).done);
+                    t = !0
+                  ) {
+                    var l = o.value,
+                      s = a.a.filter(l.items, { checked: !0 });
+                    e.push.apply(e, Do(a.a.map(s, "uid")));
+                  }
+                } catch (e) {
+                  (n = !0), (r = e);
+                } finally {
+                  try {
+                    t || null == i.return || i.return();
+                  } finally {
+                    if (n) throw r;
+                  }
+                }
+                return e;
+              },
+            },
+            {
+              key: "moveTo",
+              value: function () {
+                var e = this.getDashboardsToMove();
+                ke.b.emit(G.CoreEvents.showModal, {
+                  templateHtml:
+                    '<move-to-folder-modal dismiss="dismiss()" dashboards="model.dashboards" after-save="model.afterSave()"></move-to-folder-modal>',
+                  modalClass: "modal--narrow",
+                  model: {
+                    dashboards: e,
+                    afterSave: this.refreshList.bind(this),
+                  },
+                });
+              },
+            },
+            {
+              key: "initTagFilter",
+              value: function () {
+                var e = this;
+                return this.searchSrv.getDashboardTags().then(function (t) {
+                  (e.tagFilterOptions = [
+                    { term: "Filter By Tag", disabled: !0 },
+                  ].concat(t)),
+                    (e.selectedTagFilter = e.tagFilterOptions[0]);
+                });
+              },
+            },
+            {
+              key: "filterByTag",
+              value: function (e) {
+                return (
+                  -1 === a.a.indexOf(this.query.tag, e) &&
+                    this.query.tag.push(e),
+                  this.refreshList()
+                );
+              },
+            },
+            {
+              key: "onQueryChange",
+              value: function () {
+                return this.refreshList();
+              },
+            },
+            {
+              key: "onTagFilterChange",
+              value: function () {
+                var e = this.filterByTag(this.selectedTagFilter.term);
+                return (this.selectedTagFilter = this.tagFilterOptions[0]), e;
+              },
+            },
+            {
+              key: "removeTag",
+              value: function (e, t) {
+                (this.query.tag = a.a.without(this.query.tag, e)),
+                  this.refreshList(),
+                  t && (t.stopPropagation(), t.preventDefault());
+              },
+            },
+            {
+              key: "removeStarred",
+              value: function () {
+                return (this.query.starred = !1), this.refreshList();
+              },
+            },
+            {
+              key: "onStarredFilterChange",
+              value: function () {
+                return (
+                  (this.query.starred =
+                    "Yes" === this.selectedStarredFilter.text),
+                  (this.selectedStarredFilter = this.starredFilterOptions[0]),
+                  this.refreshList()
+                );
+              },
+            },
+            {
+              key: "onSelectAllChanged",
+              value: function () {
+                var e = this,
+                  t = !0,
+                  n = !1,
+                  r = void 0;
+                try {
+                  for (
+                    var o, i = this.sections[Symbol.iterator]();
+                    !(t = (o = i.next()).done);
+                    t = !0
+                  ) {
+                    var l = o.value;
+                    l.hideHeader || (l.checked = this.selectAllChecked),
+                      (l.items = a.a.map(l.items, function (t) {
+                        return (t.checked = e.selectAllChecked), t;
+                      }));
+                  }
+                } catch (e) {
+                  (n = !0), (r = e);
+                } finally {
+                  try {
+                    t || null == i.return || i.return();
+                  } finally {
+                    if (n) throw r;
+                  }
+                }
+                this.selectionChanged();
+              },
+            },
+            {
+              key: "clearFilters",
+              value: function () {
+                (this.query.query = ""),
+                  (this.query.tag = []),
+                  (this.query.starred = !1),
+                  this.refreshList();
+              },
+            },
+            {
+              key: "createDashboardUrl",
+              value: function () {
+                var e = "dashboard/new";
+                return (
+                  this.folderId && (e += "?folderId=".concat(this.folderId)), e
+                );
+              },
+            },
+            {
+              key: "importDashboardUrl",
+              value: function () {
+                var e = "dashboard/import";
+                return (
+                  this.folderId && (e += "?folderId=".concat(this.folderId)), e
+                );
+              },
+            },
+          ]) && Ao(t.prototype, n),
+          r && Ao(t, r),
+          e
+        );
+      })();
+      l.c.directive("manageDashboards", function () {
+        return {
+          restrict: "E",
+          templateUrl:
+            "public/app/core/components/manage_dashboards/manage_dashboards.html",
+          controller: No,
+          bindToController: !0,
+          controllerAs: "ctrl",
+          scope: { folderId: "=", folderUid: "=" },
+        };
+      }),
+        n.d(t, "d", function () {
+          return _t.a;
+        }),
+        n.d(t, "e", function () {
+          return Eo;
+        }),
+        n.d(t, "c", function () {
+          return l.c;
+        }),
+        n.d(t, "a", function () {
+          return ke.b;
+        }),
+        n.d(t, "b", function () {
+          return le.a;
+        }),
+        n.d(t, "f", function () {
+          return Co.b;
+        });
+    },
+    HJqT: function (e, t, n) {
+      "use strict";
+      var r;
+      n.d(t, "a", function () {
+        return r;
+      }),
+        (function (e) {
+          (e.time = "time"),
+            (e.number = "number"),
+            (e.string = "string"),
+            (e.boolean = "boolean"),
+            (e.other = "other");
+        })(r || (r = {}));
+    },
+    HPUJ: function (e, t) {
+      var n = "public/app/features/dashboard/components/DashLinks/editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=page-action-bar>\n  <h3 class=dashboard-settings__header>\n    <a ng-click=ctrl.backToList()>Dashboard Links</a>\n    <span ng-show="ctrl.mode === \'new\'"><i class="fa fa-fw fa-chevron-right"></i> New</span>\n    <span ng-show="ctrl.mode === \'edit\'"><i class="fa fa-fw fa-chevron-right"></i> Edit</span>\n  </h3>\n\n  <div class=page-action-bar__spacer></div>\n  <a type=button class="btn btn-primary" ng-click=ctrl.setupNew() ng-if="ctrl.dashboard.links.length > 0" ng-hide="ctrl.mode === \'edit\' || ctrl.mode === \'new\'">\n    New\n  </a>\n</div>\n\n<div ng-if="ctrl.mode == \'list\'">\n  <div ng-if="ctrl.dashboard.links.length === 0">\n    <empty-list-cta on-click=ctrl.setupNew title=ctrl.emptyListCta.title buttonicon=ctrl.emptyListCta.buttonIcon buttontitle=ctrl.emptyListCta.buttonTitle infobox=ctrl.emptyListCta.infoBox infoboxtitle=ctrl.emptyListCta.infoBoxTitle />\n  </div>\n\n  <div ng-if="ctrl.dashboard.links.length > 0">\n    <table class="filter-table filter-table--hover">\n      <thead>\n        <tr>\n          <th>Type</th>\n          <th>Info</th>\n          <th colspan=3></th>\n        </tr>\n      </thead>\n      <tbody>\n        <tr ng-repeat="link in ctrl.dashboard.links">\n          <td class=pointer ng-click=ctrl.editLink(link)>\n            <i class="fa fa-fw fa-external-link"></i>\n            {{ link.type }}\n          </td>\n          <td>\n            <div ng-if=link.title>\n              {{ link.title }}\n            </div>\n            <div ng-if="!link.title && link.url">\n              {{ link.url }}\n            </div>\n            <span ng-if="!link.title && link.tags" ng-repeat="tag in link.tags" tag-color-from-name=tag class="label label-tag" style=margin-right:6px>\n              {{ tag }}\n            </span>\n          </td>\n          <td style=width:1%>\n            <i ng-click="ctrl.moveLink($index, -1)" ng-hide=$first class="pointer fa fa-arrow-up"></i>\n          </td>\n          <td style=width:1%>\n            <i ng-click="ctrl.moveLink($index, 1)" ng-hide=$last class="pointer fa fa-arrow-down"></i>\n          </td>\n          <td style=width:1%>\n            <a ng-click=ctrl.deleteLink($index) class="btn btn-danger btn-small" ng-hide=annotation.builtIn>\n              <i class="fa fa-remove"></i>\n            </a>\n          </td>\n        </tr>\n      </tbody>\n    </table>\n  </div>\n</div>\n\n<div ng-if="ctrl.mode == \'edit\' || ctrl.mode == \'new\'">\n  <div class=gf-form-group>\n    <div class=gf-form-group>\n      <div class=gf-form>\n        <span class="gf-form-label width-8">Type</span>\n        <div class="gf-form-select-wrapper width-10">\n          <select class=gf-form-input ng-model=ctrl.link.type ng-options="f for f in [\'dashboards\',\'link\']"></select>\n        </div>\n      </div>\n\n      <div class=gf-form ng-show="ctrl.link.type === \'dashboards\'">\n        <span class="gf-form-label width-8">With tags</span>\n        <bootstrap-tagsinput ng-model=ctrl.link.tags tagclass="label label-tag" placeholder="add tags" style=margin-right:.25rem></bootstrap-tagsinput>\n      </div>\n\n      <gf-form-switch ng-show="ctrl.link.type === \'dashboards\'" class=gf-form label="As dropdown" checked=ctrl.link.asDropdown switch-class=max-width-4 label-class=width-8></gf-form-switch>\n      <div class=gf-form ng-show="ctrl.link.type === \'dashboards\' && ctrl.link.asDropdown">\n        <span class="gf-form-label width-8">Title</span>\n        <input type=text ng-model=ctrl.link.title class="gf-form-input max-width-10" ng-model-onblur/>\n      </div>\n      <div ng-show="ctrl.link.type === \'link\'">\n        <div class=gf-form>\n          <li class="gf-form-label width-8">Url</li>\n          <input type=text ng-model=ctrl.link.url class="gf-form-input width-20" ng-model-onblur/>\n        </div>\n\n        <div class=gf-form>\n          <span class="gf-form-label width-8">Title</span>\n          <input type=text ng-model=ctrl.link.title class="gf-form-input width-20" ng-model-onblur/>\n        </div>\n\n        <div class=gf-form>\n          <span class="gf-form-label width-8">Tooltip</span>\n          <input type=text ng-model=ctrl.link.tooltip class="gf-form-input width-20" placeholder="Open dashboard" ng-model-onblur/>\n        </div>\n\n        <div class=gf-form>\n          <span class="gf-form-label width-8">Icon</span>\n          <div class="gf-form-select-wrapper width-20">\n            <select class=gf-form-input ng-model=ctrl.link.icon ng-options="k as k for (k, v) in ctrl.iconMap"></select>\n          </div>\n        </div>\n      </div>\n    </div>\n\n    <div class=gf-form-group>\n      <h5 class=section-heading>Include</h5>\n      <div>\n        <gf-form-switch class=gf-form label="Time range" checked=ctrl.link.keepTime switch-class=max-width-6 label-class=width-9></gf-form-switch>\n        <gf-form-switch class=gf-form label="Variable values" checked=ctrl.link.includeVars switch-class=max-width-6 label-class=width-9></gf-form-switch>\n        <gf-form-switch class=gf-form label="Open in new tab" checked=ctrl.link.targetBlank switch-class=max-width-6 label-class=width-9></gf-form-switch>\n      </div>\n    </div>\n  </div>\n  <button class="btn btn-primary" ng-if="ctrl.mode == \'new\'" ng-click=ctrl.addLink()>\n    Add\n  </button>\n  <button class="btn btn-primary" ng-if="ctrl.mode == \'edit\'" ng-click=ctrl.saveLink()>\n    Update\n  </button>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    HXnQ: function (e, t) {},
+    HmKx: function (e, t) {
+      var n =
+        "public/app/plugins/datasource/postgres/partials/query.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<query-editor-row query-ctrl=ctrl has-text-edit-mode=true>\n\n  <div ng-if=ctrl.target.rawQuery>\n    <div class=gf-form-inline>\n      <div class="gf-form gf-form--grow">\n        <code-editor content=ctrl.target.rawSql datasource=ctrl.datasource on-change=ctrl.panelCtrl.refresh() data-mode=sql>\n        </code-editor>\n      </div>\n    </div>\n  </div>\n\n  <div ng-if=!ctrl.target.rawQuery>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-6">FROM</label>\n        <metric-segment segment=ctrl.tableSegment get-options=ctrl.getTableSegments() on-change=ctrl.tableChanged()></metric-segment>\n\n        <label class="gf-form-label query-keyword width-7">Time column</label>\n        <metric-segment segment=ctrl.timeColumnSegment get-options=ctrl.getTimeColumnSegments() on-change=ctrl.timeColumnChanged()></metric-segment>\n\n        <label class="gf-form-label query-keyword width-9">\n          Metric column\n          <info-popover mode=right-normal>Column to be used as metric name for the value column.</info-popover>\n        </label>\n        <metric-segment segment=ctrl.metricColumnSegment get-options=ctrl.getMetricColumnSegments() on-change=ctrl.metricColumnChanged()></metric-segment>\n      </div>\n\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n\n    </div>\n\n    <div class=gf-form-inline ng-repeat="selectParts in ctrl.selectParts">\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-6">\n          <span ng-show="$index === 0">SELECT</span>&nbsp;\n        </label>\n      </div>\n\n      <div class=gf-form ng-repeat="part in selectParts">\n        <sql-part-editor class="gf-form-label sql-part" part=part handle-event="ctrl.handleSelectPartEvent(selectParts, part, $event)">\n        </sql-part-editor>\n      </div>\n\n      <div class=gf-form>\n        <label class=dropdown dropdown-typeahead2=ctrl.selectMenu dropdown-typeahead-on-select="ctrl.addSelectPart(selectParts, $item, $subItem)" button-template-class="gf-form-label query-part">\n        </label>\n      </div>\n\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-6">WHERE</label>\n      </div>\n\n      <div class=gf-form ng-repeat="part in ctrl.whereParts">\n        <sql-part-editor class="gf-form-label sql-part" part=part handle-event="ctrl.handleWherePartEvent(ctrl.whereParts, part, $event, $index)">\n        </sql-part-editor>\n      </div>\n\n      <div class=gf-form>\n        <metric-segment segment=ctrl.whereAdd get-options=ctrl.getWhereOptions() on-change="ctrl.addWhereAction(part, $index)"></metric-segment>\n      </div>\n\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n\n    </div>\n\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-6">\n          <span>GROUP BY</span>\n        </label>\n\n        <sql-part-editor ng-repeat="part in ctrl.groupParts" part=part class="gf-form-label sql-part" handle-event="ctrl.handleGroupPartEvent(part, $index, $event)">\n        </sql-part-editor>\n      </div>\n\n      <div class=gf-form>\n        <metric-segment segment=ctrl.groupAdd get-options=ctrl.getGroupOptions() on-change="ctrl.addGroupAction(part, $index)"></metric-segment>\n      </div>\n\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n    </div>\n\n  </div>\n\n  <div class=gf-form-inline>\n    <div class=gf-form>\n      <label class="gf-form-label query-keyword">Format as</label>\n      <div class=gf-form-select-wrapper>\n        <select class="gf-form-input gf-size-auto" ng-model=ctrl.target.format ng-options="f.value as f.text for f in ctrl.formats" ng-change=ctrl.refresh()></select>\n      </div>\n    </div>\n    <div class=gf-form>\n      <label class="gf-form-label query-keyword pointer" ng-click=ctrl.toggleEditorMode() ng-show="ctrl.panelCtrl.panel.type !== \'table\'">\n        <span ng-show=ctrl.target.rawQuery>Query Builder</span>\n        <span ng-hide=ctrl.target.rawQuery>Edit SQL</span>\n      </label>\n    </div>\n    <div class=gf-form>\n      <label class="gf-form-label query-keyword pointer" ng-click="ctrl.showHelp = !ctrl.showHelp">\n        Show Help\n        <i class="fa fa-caret-down" ng-show=ctrl.showHelp></i>\n        <i class="fa fa-caret-right" ng-hide=ctrl.showHelp></i>\n      </label>\n    </div>\n    <div class=gf-form ng-show=ctrl.lastQueryMeta>\n      <label class="gf-form-label query-keyword pointer" ng-click="ctrl.showLastQuerySQL = !ctrl.showLastQuerySQL">\n        Generated SQL\n        <i class="fa fa-caret-down" ng-show=ctrl.showLastQuerySQL></i>\n        <i class="fa fa-caret-right" ng-hide=ctrl.showLastQuerySQL></i>\n      </label>\n    </div>\n    <div class="gf-form gf-form--grow">\n      <div class="gf-form-label gf-form-label--grow"></div>\n    </div>\n  </div>\n\n  <div class=gf-form ng-show=ctrl.showLastQuerySQL>\n    <pre class=gf-form-pre>{{ctrl.lastQueryMeta.sql}}</pre>\n  </div>\n\n  <div class=gf-form ng-show=ctrl.showHelp>\n    <pre class="gf-form-pre alert alert-info">Time series:\n- return column named <i>time</i> (UTC in seconds or timestamp)\n- return column(s) with numeric datatype as values\nOptional:\n  - return column named <i>metric</i> to represent the series name.\n  - If multiple value columns are returned the metric column is used as prefix.\n  - If no column named metric is found the column name of the value column is used as series name\n\nResultsets of time series queries need to be sorted by time.\n\nTable:\n- return any set of columns\n\nMacros:\n- $__time(column) -&gt; column as "time"\n- $__timeEpoch -&gt; extract(epoch from column) as "time"\n- $__timeFilter(column) -&gt; column BETWEEN \'2017-04-21T05:01:17Z\' AND \'2017-04-21T05:01:17Z\'\n- $__unixEpochFilter(column) -&gt;  column &gt;= 1492750877 AND column &lt;= 1492750877\n- $__unixEpochNanoFilter(column) -&gt;  column &gt;= 1494410783152415214 AND column &lt;= 1494497183142514872\n- $__timeGroup(column,\'5m\'[, fillvalue]) -&gt; (extract(epoch from column)/300)::bigint*300\n     by setting fillvalue grafana will fill in missing values according to the interval\n     fillvalue can be either a literal value, NULL or previous; previous will fill in the previous seen value or NULL if none has been seen yet\n- $__timeGroupAlias(column,\'5m\') -&gt; (extract(epoch from column)/300)::bigint*300 AS "time"\n- $__unixEpochGroup(column,\'5m\') -&gt; floor(column/300)*300\n- $__unixEpochGroupAlias(column,\'5m\') -&gt; floor(column/300)*300 AS "time"\n\nExample of group by and order by with $__timeGroup:\nSELECT\n  $__timeGroup(date_time_col, \'1h\'),\n  sum(value) as value\nFROM yourtable\nGROUP BY time\nORDER BY time\n\nOr build your own conditionals using these macros which just return the values:\n- $__timeFrom() -&gt;  \'2017-04-21T05:01:17Z\'\n- $__timeTo() -&gt;  \'2017-04-21T05:01:17Z\'\n- $__unixEpochFrom() -&gt;  1492750877\n- $__unixEpochTo() -&gt;  1492750877\n- $__unixEpochNanoFrom() -&gt;  1494410783152415214\n- $__unixEpochNanoTo() -&gt;  1494497183142514872\n    </pre>\n  </div>\n\n  \n\n  <div class=gf-form ng-show=ctrl.lastQueryError>\n    <pre class="gf-form-pre alert alert-error">{{ctrl.lastQueryError}}</pre>\n  </div>\n\n</query-editor-row>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "I+An": function (e, t) {
+      var n =
+        "public/app/plugins/datasource/postgres/partials/annotations.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '\n<div class=gf-form-group>\n  <div class=gf-form-inline>\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<textarea rows=10 class=gf-form-input ng-model=ctrl.annotation.rawQuery spellcheck=false placeholder="query expression" data-min-length=0 data-items=100 ng-model-onblur ng-change=ctrl.panelCtrl.refresh()></textarea>\n\t\t</div>\n\t</div>\n\n  <div class=gf-form-inline>\n    <div class=gf-form>\n      <label class="gf-form-label query-keyword" ng-click="ctrl.showHelp = !ctrl.showHelp">\n        Show Help\n        <i class="fa fa-caret-down" ng-show=ctrl.showHelp></i>\n        <i class="fa fa-caret-right" ng-hide=ctrl.showHelp></i>\n      </label>\n\t\t</div>\n  </div>\n\n  <div class=gf-form ng-show=ctrl.showHelp>\n\t\t<pre class="gf-form-pre alert alert-info"><h6>Annotation Query Format</h6>\nAn annotation is an event that is overlaid on top of graphs. The query can have up to four columns per row, the time column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.\n\n- column with alias: <b>time</b> for the annotation event time. Use epoch time or any native date data type.\n- column with alias: <b>timeend</b> for the annotation event time-end. Use epoch time or any native date data type.\n- column with alias: <b>text</b> for the annotation text\n- column with alias: <b>tags</b> for annotation tags. This is a comma separated string of tags e.g. \'tag1,tag2\'\n\n\nMacros:\n- $__time(column) -&gt; column as "time"\n- $__timeEpoch -&gt; extract(epoch from column) as "time"\n- $__timeFilter(column) -&gt; column BETWEEN \'2017-04-21T05:01:17Z\' AND \'2017-04-21T05:01:17Z\'\n- $__unixEpochFilter(column) -&gt;  column &gt;= 1492750877 AND column &lt;= 1492750877\n- $__unixEpochNanoFilter(column) -&gt;  column &gt;= 1494410783152415214 AND column &lt;= 1494497183142514872\n\nOr build your own conditionals using these macros which just return the values:\n- $__timeFrom() -&gt;  \'2017-04-21T05:01:17Z\'\n- $__timeTo() -&gt;  \'2017-04-21T05:01:17Z\'\n- $__unixEpochFrom() -&gt;  1492750877\n- $__unixEpochTo() -&gt;  1492750877\n- $__unixEpochNanoFrom() -&gt;  1494410783152415214\n- $__unixEpochNanoTo() -&gt;  1494497183142514872\n\t\t</pre>\n\t</div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    IjGO: function (e, t, n) {
+      "use strict";
+      var r = {};
+      n.r(r),
+        n.d(r, "isMathString", function () {
+          return f;
+        }),
+        n.d(r, "parse", function () {
+          return d;
+        }),
+        n.d(r, "isValid", function () {
+          return p;
+        }),
+        n.d(r, "parseDateMath", function () {
+          return h;
+        });
+      var a = {};
+      n.r(a),
+        n.d(a, "getRelativeTimesList", function () {
+          return x;
+        }),
+        n.d(a, "describeTextRange", function () {
+          return j;
+        }),
+        n.d(a, "describeTimeRange", function () {
+          return S;
+        }),
+        n.d(a, "isValidTimeSpan", function () {
+          return E;
+        });
+      var o = n("ijCd"),
+        i = n.n(o),
+        l = n("YiAA"),
+        s = n.n(l),
+        c = n("tAX7"),
+        u = ["y", "M", "w", "d", "h", "m", "s"];
+      function f(e) {
+        return (
+          !!e &&
+          !(
+            "string" != typeof e ||
+            ("now" !== e.substring(0, 3) && !e.includes("||"))
+          )
+        );
+      }
+      function d(e, t, n) {
+        if (e) {
+          if ("string" != typeof e)
+            return Object(c.f)(e) ? e : s()(e) ? Object(c.b)(e) : void 0;
+          var r,
+            a,
+            o,
+            i = "";
+          return (
+            "now" === e.substring(0, 3)
+              ? ((r = Object(c.d)(n)), (i = e.substring("now".length)))
+              : (-1 === (a = e.indexOf("||"))
+                  ? ((o = e), (i = ""))
+                  : ((o = e.substring(0, a)), (i = e.substring(a + 2))),
+                (r = Object(c.b)(o, c.a))),
+            i.length ? h(i, r, t) : r
+          );
+        }
+      }
+      function p(e) {
+        var t = d(e);
+        return !!t && !!Object(c.f)(t) && t.isValid();
+      }
+      function h(e, t, n) {
+        for (
+          var r = e.replace(/\s/g, ""), a = t, o = 0, l = r.length;
+          o < l;
+
+        ) {
+          var s,
+            c = r.charAt(o++),
+            f = void 0,
+            d = void 0;
+          if ("/" === c) f = 0;
+          else if ("+" === c) f = 1;
+          else {
+            if ("-" !== c) return;
+            f = 2;
+          }
+          if (isNaN(parseInt(r.charAt(o), 10))) d = 1;
+          else if (2 === r.length) d = r.charAt(o);
+          else {
+            for (var p = o; !isNaN(parseInt(r.charAt(o), 10)); )
+              if (++o > 10) return;
+            d = parseInt(r.substring(p, o), 10);
+          }
+          if (0 === f && 1 !== d) return;
+          if (((s = r.charAt(o++)), !i()(u, s))) return;
+          0 === f
+            ? n
+              ? a.endOf(s)
+              : a.startOf(s)
+            : 1 === f
+            ? a.add(d, s)
+            : 2 === f && a.subtract(d, s);
+        }
+        return a;
+      }
+      var m = n("xkGU"),
+        g = n.n(m),
+        b = n("bt/X"),
+        v = n.n(b),
+        y = {
+          s: { display: "second" },
+          m: { display: "minute" },
+          h: { display: "hour" },
+          d: { display: "day" },
+          w: { display: "week" },
+          M: { display: "month" },
+          y: { display: "year" },
+        },
+        w = [
+          { from: "now/d", to: "now/d", display: "Today", section: 2 },
+          { from: "now/d", to: "now", display: "Today so far", section: 2 },
+          { from: "now/w", to: "now/w", display: "This week", section: 2 },
+          { from: "now/w", to: "now", display: "This week so far", section: 2 },
+          { from: "now/M", to: "now/M", display: "This month", section: 2 },
+          {
+            from: "now/M",
+            to: "now",
+            display: "This month so far",
+            section: 2,
+          },
+          { from: "now/y", to: "now/y", display: "This year", section: 2 },
+          { from: "now/y", to: "now", display: "This year so far", section: 2 },
+          {
+            from: "now-1d/d",
+            to: "now-1d/d",
+            display: "Yesterday",
+            section: 1,
+          },
+          {
+            from: "now-2d/d",
+            to: "now-2d/d",
+            display: "Day before yesterday",
+            section: 1,
+          },
+          {
+            from: "now-7d/d",
+            to: "now-7d/d",
+            display: "This day last week",
+            section: 1,
+          },
+          {
+            from: "now-1w/w",
+            to: "now-1w/w",
+            display: "Previous week",
+            section: 1,
+          },
+          {
+            from: "now-1M/M",
+            to: "now-1M/M",
+            display: "Previous month",
+            section: 1,
+          },
+          {
+            from: "now-1y/y",
+            to: "now-1y/y",
+            display: "Previous year",
+            section: 1,
+          },
+          { from: "now-5m", to: "now", display: "Last 5 minutes", section: 3 },
+          {
+            from: "now-15m",
+            to: "now",
+            display: "Last 15 minutes",
+            section: 3,
+          },
+          {
+            from: "now-30m",
+            to: "now",
+            display: "Last 30 minutes",
+            section: 3,
+          },
+          { from: "now-1h", to: "now", display: "Last 1 hour", section: 3 },
+          { from: "now-3h", to: "now", display: "Last 3 hours", section: 3 },
+          { from: "now-6h", to: "now", display: "Last 6 hours", section: 3 },
+          { from: "now-12h", to: "now", display: "Last 12 hours", section: 3 },
+          { from: "now-24h", to: "now", display: "Last 24 hours", section: 3 },
+          { from: "now-2d", to: "now", display: "Last 2 days", section: 0 },
+          { from: "now-7d", to: "now", display: "Last 7 days", section: 0 },
+          { from: "now-30d", to: "now", display: "Last 30 days", section: 0 },
+          { from: "now-90d", to: "now", display: "Last 90 days", section: 0 },
+          { from: "now-6M", to: "now", display: "Last 6 months", section: 0 },
+          { from: "now-1y", to: "now", display: "Last 1 year", section: 0 },
+          { from: "now-2y", to: "now", display: "Last 2 years", section: 0 },
+          { from: "now-5y", to: "now", display: "Last 5 years", section: 0 },
+        ],
+        O = {};
+      function x(e, t) {
+        return v()(w, function (e) {
+          return (e.active = e.display === t), e.section;
+        });
+      }
+      function k(e) {
+        return e.format("YYYY-MM-DD HH:mm:ss");
+      }
+      function j(e) {
+        var t = 0 !== e.indexOf("+");
+        -1 === e.indexOf("now") && (e = (t ? "now-" : "now") + e);
+        var n = O[e + " to now"];
+        if (n) return n;
+        n = t ? { from: e, to: "now" } : { from: "now", to: e };
+        var r = /^now([-+])(\d+)(\w)/.exec(e);
+        if (r) {
+          var a = r[3],
+            o = parseInt(r[2], 10),
+            i = y[a];
+          i &&
+            ((n.display = t ? "Last " : "Next "),
+            (n.display += o + " " + i.display),
+            (n.section = i.section),
+            o > 1 && (n.display += "s"));
+        } else (n.display = n.from + " to " + n.to), (n.invalid = !0);
+        return n;
+      }
+      function S(e) {
+        var t = O[e.from.toString() + " to " + e.to.toString()];
+        if (t) return t.display;
+        if (Object(c.f)(e.from) && Object(c.f)(e.to))
+          return k(e.from) + " to " + k(e.to);
+        if (Object(c.f)(e.from)) {
+          var n = d(e.to, !0);
+          return n ? k(e.from) + " to " + n.fromNow() : "";
+        }
+        if (Object(c.f)(e.to)) {
+          var r = d(e.from, !1);
+          return r ? r.fromNow() + " to " + k(e.to) : "";
+        }
+        return "now" === e.to.toString()
+          ? j(e.from).display
+          : e.from.toString() + " to " + e.to.toString();
+      }
+      g()(w, function (e) {
+        O[e.from + " to " + e.to] = e;
+      });
+      var E = function (e) {
+          return (
+            0 === e.indexOf("$") || 0 === e.indexOf("+$") || !0 !== j(e).invalid
+          );
+        },
+        C = function () {
+          return [
+            {
+              label: "Africa",
+              options: [
+                "Africa/Abidjan",
+                "Africa/Accra",
+                "Africa/Algiers",
+                "Africa/Bissau",
+                "Africa/Cairo",
+                "Africa/Casablanca",
+                "Africa/Ceuta",
+                "Africa/El_Aaiun",
+                "Africa/Johannesburg",
+                "Africa/Juba",
+                "Africa/Khartoum",
+                "Africa/Lagos",
+                "Africa/Maputo",
+                "Africa/Monrovia",
+                "Africa/Nairobi",
+                "Africa/Ndjamena",
+                "Africa/Sao_Tome",
+                "Africa/Tripoli",
+                "Africa/Tunis",
+                "Africa/Windhoek",
+              ],
+            },
+            {
+              label: "America",
+              options: [
+                "America/Adak",
+                "America/Anchorage",
+                "America/Araguaina",
+                "America/Argentina/Buenos_Aires",
+                "America/Argentina/Catamarca",
+                "America/Argentina/Cordoba",
+                "America/Argentina/Jujuy",
+                "America/Argentina/La_Rioja",
+                "America/Argentina/Mendoza",
+                "America/Argentina/Rio_Gallegos",
+                "America/Argentina/Salta",
+                "America/Argentina/San_Juan",
+                "America/Argentina/San_Luis",
+                "America/Argentina/Tucuman",
+                "America/Argentina/Ushuaia",
+                "America/Asuncion",
+                "America/Atikokan",
+                "America/Bahia",
+                "America/Bahia_Banderas",
+                "America/Barbados",
+                "America/Belem",
+                "America/Belize",
+                "America/Blanc-Sablon",
+                "America/Boa_Vista",
+                "America/Bogota",
+                "America/Boise",
+                "America/Cambridge_Bay",
+                "America/Campo_Grande",
+                "America/Cancun",
+                "America/Caracas",
+                "America/Cayenne",
+                "America/Chicago",
+                "America/Chihuahua",
+                "America/Costa_Rica",
+                "America/Creston",
+                "America/Cuiaba",
+                "America/Curacao",
+                "America/Danmarkshavn",
+                "America/Dawson",
+                "America/Dawson_Creek",
+                "America/Denver",
+                "America/Detroit",
+                "America/Edmonton",
+                "America/Eirunepe",
+                "America/El_Salvador",
+                "America/Fort_Nelson",
+                "America/Fortaleza",
+                "America/Glace_Bay",
+                "America/Godthab",
+                "America/Goose_Bay",
+                "America/Grand_Turk",
+                "America/Guatemala",
+                "America/Guayaquil",
+                "America/Guyana",
+                "America/Halifax",
+                "America/Havana",
+                "America/Hermosillo",
+                "America/Indiana/Indianapolis",
+                "America/Indiana/Knox",
+                "America/Indiana/Marengo",
+                "America/Indiana/Petersburg",
+                "America/Indiana/Tell_City",
+                "America/Indiana/Vevay",
+                "America/Indiana/Vincennes",
+                "America/Indiana/Winamac",
+                "America/Inuvik",
+                "America/Iqaluit",
+                "America/Jamaica",
+                "America/Juneau",
+                "America/Kentucky/Louisville",
+                "America/Kentucky/Monticello",
+                "America/La_Paz",
+                "America/Lima",
+                "America/Los_Angeles",
+                "America/Maceio",
+                "America/Managua",
+                "America/Manaus",
+                "America/Martinique",
+                "America/Matamoros",
+                "America/Mazatlan",
+                "America/Menominee",
+                "America/Merida",
+                "America/Metlakatla",
+                "America/Mexico_City",
+                "America/Miquelon",
+                "America/Moncton",
+                "America/Monterrey",
+                "America/Montevideo",
+                "America/Nassau",
+                "America/New_York",
+                "America/Nipigon",
+                "America/Nome",
+                "America/Noronha",
+                "America/North_Dakota/Beulah",
+                "America/North_Dakota/Center",
+                "America/North_Dakota/New_Salem",
+                "America/Ojinaga",
+                "America/Panama",
+                "America/Pangnirtung",
+                "America/Paramaribo",
+                "America/Phoenix",
+                "America/Port-au-Prince",
+                "America/Port_of_Spain",
+                "America/Porto_Velho",
+                "America/Puerto_Rico",
+                "America/Punta_Arenas",
+                "America/Rainy_River",
+                "America/Rankin_Inlet",
+                "America/Recife",
+                "America/Regina",
+                "America/Resolute",
+                "America/Rio_Branco",
+                "America/Santarem",
+                "America/Santiago",
+                "America/Santo_Domingo",
+                "America/Sao_Paulo",
+                "America/Scoresbysund",
+                "America/Sitka",
+                "America/St_Johns",
+                "America/Swift_Current",
+                "America/Tegucigalpa",
+                "America/Thule",
+                "America/Thunder_Bay",
+                "America/Tijuana",
+                "America/Toronto",
+                "America/Vancouver",
+                "America/Whitehorse",
+                "America/Winnipeg",
+                "America/Yakutat",
+                "America/Yellowknife",
+              ],
+            },
+            {
+              label: "Antarctica",
+              options: [
+                "Antarctica/Casey",
+                "Antarctica/Davis",
+                "Antarctica/DumontDUrville",
+                "Antarctica/Macquarie",
+                "Antarctica/Mawson",
+                "Antarctica/Palmer",
+                "Antarctica/Rothera",
+                "Antarctica/Syowa",
+                "Antarctica/Troll",
+                "Antarctica/Vostok",
+              ],
+            },
+            {
+              label: "Asia",
+              options: [
+                "Asia/Almaty",
+                "Asia/Amman",
+                "Asia/Anadyr",
+                "Asia/Aqtau",
+                "Asia/Aqtobe",
+                "Asia/Ashgabat",
+                "Asia/Atyrau",
+                "Asia/Baghdad",
+                "Asia/Baku",
+                "Asia/Bangkok",
+                "Asia/Barnaul",
+                "Asia/Beirut",
+                "Asia/Bishkek",
+                "Asia/Brunei",
+                "Asia/Chita",
+                "Asia/Choibalsan",
+                "Asia/Colombo",
+                "Asia/Damascus",
+                "Asia/Dhaka",
+                "Asia/Dili",
+                "Asia/Dubai",
+                "Asia/Dushanbe",
+                "Asia/Famagusta",
+                "Asia/Gaza",
+                "Asia/Hebron",
+                "Asia/Ho_Chi_Minh",
+                "Asia/Hong_Kong",
+                "Asia/Hovd",
+                "Asia/Irkutsk",
+                "Asia/Jakarta",
+                "Asia/Jayapura",
+                "Asia/Jerusalem",
+                "Asia/Kabul",
+                "Asia/Kamchatka",
+                "Asia/Karachi",
+                "Asia/Kathmandu",
+                "Asia/Khandyga",
+                "Asia/Kolkata",
+                "Asia/Krasnoyarsk",
+                "Asia/Kuala_Lumpur",
+                "Asia/Kuching",
+                "Asia/Macau",
+                "Asia/Magadan",
+                "Asia/Makassar",
+                "Asia/Manila",
+                "Asia/Nicosia",
+                "Asia/Novokuznetsk",
+                "Asia/Novosibirsk",
+                "Asia/Omsk",
+                "Asia/Oral",
+                "Asia/Pontianak",
+                "Asia/Pyongyang",
+                "Asia/Qatar",
+                "Asia/Qostanay",
+                "Asia/Qyzylorda",
+                "Asia/Riyadh",
+                "Asia/Sakhalin",
+                "Asia/Samarkand",
+                "Asia/Seoul",
+                "Asia/Shanghai",
+                "Asia/Singapore",
+                "Asia/Srednekolymsk",
+                "Asia/Taipei",
+                "Asia/Tashkent",
+                "Asia/Tbilisi",
+                "Asia/Tehran",
+                "Asia/Thimphu",
+                "Asia/Tokyo",
+                "Asia/Tomsk",
+                "Asia/Ulaanbaatar",
+                "Asia/Urumqi",
+                "Asia/Ust-Nera",
+                "Asia/Vladivostok",
+                "Asia/Yakutsk",
+                "Asia/Yangon",
+                "Asia/Yekaterinburg",
+                "Asia/Yerevan",
+              ],
+            },
+            {
+              label: "Atlantic",
+              options: [
+                "Atlantic/Azores",
+                "Atlantic/Bermuda",
+                "Atlantic/Canary",
+                "Atlantic/Cape_Verde",
+                "Atlantic/Faroe",
+                "Atlantic/Madeira",
+                "Atlantic/Reykjavik",
+                "Atlantic/South_Georgia",
+                "Atlantic/Stanley",
+              ],
+            },
+            {
+              label: "Australia",
+              options: [
+                "Australia/Adelaide",
+                "Australia/Brisbane",
+                "Australia/Broken_Hill",
+                "Australia/Currie",
+                "Australia/Darwin",
+                "Australia/Eucla",
+                "Australia/Hobart",
+                "Australia/Lindeman",
+                "Australia/Lord_Howe",
+                "Australia/Melbourne",
+                "Australia/Perth",
+                "Australia/Sydney",
+              ],
+            },
+            {
+              label: "Europe",
+              options: [
+                "Europe/Amsterdam",
+                "Europe/Andorra",
+                "Europe/Astrakhan",
+                "Europe/Athens",
+                "Europe/Belgrade",
+                "Europe/Berlin",
+                "Europe/Brussels",
+                "Europe/Bucharest",
+                "Europe/Budapest",
+                "Europe/Chisinau",
+                "Europe/Copenhagen",
+                "Europe/Dublin",
+                "Europe/Gibraltar",
+                "Europe/Helsinki",
+                "Europe/Istanbul",
+                "Europe/Kaliningrad",
+                "Europe/Kiev",
+                "Europe/Kirov",
+                "Europe/Lisbon",
+                "Europe/London",
+                "Europe/Luxembourg",
+                "Europe/Madrid",
+                "Europe/Malta",
+                "Europe/Minsk",
+                "Europe/Monaco",
+                "Europe/Moscow",
+                "Europe/Oslo",
+                "Europe/Paris",
+                "Europe/Prague",
+                "Europe/Riga",
+                "Europe/Rome",
+                "Europe/Samara",
+                "Europe/Saratov",
+                "Europe/Simferopol",
+                "Europe/Sofia",
+                "Europe/Stockholm",
+                "Europe/Tallinn",
+                "Europe/Tirane",
+                "Europe/Ulyanovsk",
+                "Europe/Uzhgorod",
+                "Europe/Vienna",
+                "Europe/Vilnius",
+                "Europe/Volgograd",
+                "Europe/Warsaw",
+                "Europe/Zaporozhye",
+                "Europe/Zurich",
+              ],
+            },
+            {
+              label: "Indian",
+              options: [
+                "Indian/Chagos",
+                "Indian/Christmas",
+                "Indian/Cocos",
+                "Indian/Kerguelen",
+                "Indian/Mahe",
+                "Indian/Maldives",
+                "Indian/Mauritius",
+                "Indian/Reunion",
+              ],
+            },
+            {
+              label: "Pacific",
+              options: [
+                "Pacific/Apia",
+                "Pacific/Auckland",
+                "Pacific/Bougainville",
+                "Pacific/Chatham",
+                "Pacific/Chuuk",
+                "Pacific/Easter",
+                "Pacific/Efate",
+                "Pacific/Enderbury",
+                "Pacific/Fakaofo",
+                "Pacific/Fiji",
+                "Pacific/Funafuti",
+                "Pacific/Galapagos",
+                "Pacific/Gambier",
+                "Pacific/Guadalcanal",
+                "Pacific/Guam",
+                "Pacific/Honolulu",
+                "Pacific/Kiritimati",
+                "Pacific/Kosrae",
+                "Pacific/Kwajalein",
+                "Pacific/Majuro",
+                "Pacific/Marquesas",
+                "Pacific/Nauru",
+                "Pacific/Niue",
+                "Pacific/Norfolk",
+                "Pacific/Noumea",
+                "Pacific/Pago_Pago",
+                "Pacific/Palau",
+                "Pacific/Pitcairn",
+                "Pacific/Pohnpei",
+                "Pacific/Port_Moresby",
+                "Pacific/Rarotonga",
+                "Pacific/Tahiti",
+                "Pacific/Tarawa",
+                "Pacific/Tongatapu",
+                "Pacific/Wake",
+                "Pacific/Wallis",
+              ],
+            },
+          ];
+        };
+      n.d(t, "b", function () {
+        return c.a;
+      }),
+        n.d(t, "l", function () {
+          return c.g;
+        }),
+        n.d(t, "h", function () {
+          return c.e;
+        }),
+        n.d(t, "j", function () {
+          return c.f;
+        }),
+        n.d(t, "n", function () {
+          return c.i;
+        }),
+        n.d(t, "m", function () {
+          return c.h;
+        }),
+        n.d(t, "e", function () {
+          return c.b;
+        }),
+        n.d(t, "f", function () {
+          return c.c;
+        }),
+        n.d(t, "g", function () {
+          return c.d;
+        }),
+        n.d(t, "i", function () {
+          return C;
+        }),
+        n.d(t, "a", function () {
+          return "YYYY-MM-DD HH:mm:ss";
+        }),
+        n.d(t, "c", function () {
+          return "YYYY-MM-DD HH:mm:ss.SSS";
+        }),
+        n.d(t, "d", function () {
+          return r;
+        }),
+        n.d(t, "k", function () {
+          return a;
+        });
+    },
+    J4FA: function (e, t, n) {
+      "use strict";
+      var r = {
+          gray98: "#f7f8fa",
+          gray95: "#e9edf2",
+          gray85: "#c7d0d9",
+          gray70: "#9fa7b3",
+          gray60: "#7B8087",
+          gray33: "#464c54",
+          gray25: "#343b40",
+          gray15: "#202226",
+          gray10: "#141619",
+          gray05: "#0b0c0e",
+          blue95: "#5794f2",
+          blue85: "#3274d9",
+          blue77: "#1f60c4",
+          red88: "#e02f44",
+        },
+        a = {
+          name: "Grafana Default",
+          typography: {
+            fontFamily: {
+              sansSerif: "'Roboto', 'Helvetica Neue', Arial, sans-serif",
+              monospace: "Menlo, Monaco, Consolas, 'Courier New', monospace",
+            },
+            size: {
+              base: "14px",
+              xs: "10px",
+              sm: "12px",
+              md: "14px",
+              lg: "18px",
+            },
+            heading: {
+              h1: "28px",
+              h2: "24px",
+              h3: "21px",
+              h4: "18px",
+              h5: "16px",
+              h6: "14px",
+            },
+            weight: { light: 300, regular: 400, semibold: 500, bold: 600 },
+            lineHeight: { xs: 1, sm: 1.1, md: 1.5, lg: 2 },
+            link: { decoration: "none", hoverDecoration: "none" },
+          },
+          breakpoints: {
+            xs: "0",
+            sm: "544px",
+            md: "769px",
+            lg: "992px",
+            xl: "1200px",
+          },
+          spacing: {
+            insetSquishMd: "4px 8px",
+            d: "14px",
+            xxs: "2px",
+            xs: "4px",
+            sm: "8px",
+            md: "16px",
+            lg: "24px",
+            xl: "32px",
+            gutter: "30px",
+            formSpacingBase: 8,
+            formMargin: "".concat(32, "px"),
+            formFieldsetMargin: "".concat(16, "px"),
+            formLegendMargin: "0 0 ".concat(16, "px 0"),
+            formInputHeight: "".concat(32, "px"),
+            formButtonHeight: 32,
+            formInputPaddingHorizontal: "".concat(8, "px"),
+            formInputAffixPaddingHorizontal: "".concat(4, "px"),
+            formInputMargin: "".concat(16, "px"),
+            formLabelPadding: "0 0 0 2px",
+            formLabelMargin: "0 0 ".concat("4px", " 0"),
+            formValidationMessagePadding: "4px 8px",
+            formValidationMessageMargin: "4px 0 0 0",
+          },
+          border: {
+            radius: { sm: "2px", md: "3px", lg: "5px" },
+            width: { sm: "1px" },
+          },
+          height: { sm: "24px", md: "32px", lg: "48px" },
+          panelPadding: 8,
+          panelHeaderHeight: 28,
+          zIndex: {
+            dropdown: "1000",
+            navbarFixed: "1020",
+            sidemenu: "1025",
+            tooltip: "1030",
+            modalBackdrop: "1040",
+            modal: "1050",
+            typeahead: "1060",
+          },
+        },
+        o = n("Obii");
+      function i(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function l(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? i(Object(n), !0).forEach(function (t) {
+                s(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : i(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function s(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var c = l({}, r, {
+          black: "#000000",
+          white: "#ffffff",
+          dark1: "#141414",
+          dark2: "#161719",
+          dark3: "#1f1f20",
+          dark4: "#212124",
+          dark5: "#222426",
+          dark6: "#262628",
+          dark7: "#292a2d",
+          dark8: "#2f2f32",
+          dark9: "#343436",
+          dark10: "#424345",
+          gray1: "#555555",
+          gray2: "#8e8e8e",
+          gray3: "#b3b3b3",
+          gray4: "#d8d9da",
+          gray5: "#ececec",
+          gray6: "#f4f5f8",
+          gray7: "#fbfbfb",
+          grayBlue: "#212327",
+          blueBase: "#3274d9",
+          blueShade: "#1f60c4",
+          blueLight: "#5794f2",
+          blueFaint: "#041126",
+          redBase: "#e02f44",
+          redShade: "#c4162a",
+          greenBase: "#299c46",
+          greenShade: "#23843b",
+          blue: "#33b5e5",
+          red: "#d44a3a",
+          yellow: "#ecbb13",
+          purple: "#9933cc",
+          variable: "#32d1df",
+          orange: "#eb7b18",
+          orangeDark: "#ff780a",
+        }),
+        u = l({}, a, {
+          type: o.GrafanaThemeType.Dark,
+          isDark: !0,
+          isLight: !1,
+          name: "Grafana Dark",
+          colors: l({}, c, {
+            inputBlack: "#09090b",
+            brandPrimary: c.orange,
+            brandSuccess: c.greenBase,
+            brandWarning: c.orange,
+            brandDanger: c.redBase,
+            queryRed: c.redBase,
+            queryGreen: "#74e680",
+            queryPurple: "#fe85fc",
+            queryKeyword: "#66d9ef",
+            queryOrange: c.orange,
+            online: c.greenBase,
+            warn: "#f79520",
+            critical: c.redBase,
+            bodyBg: c.dark2,
+            pageBg: c.dark2,
+            body: c.gray4,
+            text: c.gray4,
+            textStrong: c.white,
+            textWeak: c.gray2,
+            textEmphasis: c.gray5,
+            textFaint: c.dark5,
+            link: c.gray4,
+            linkDisabled: c.gray2,
+            linkHover: c.white,
+            linkExternal: c.blue,
+            headingColor: c.gray4,
+            pageHeaderBorder: c.dark9,
+            panelBg: c.dark4,
+            formLabel: c.gray70,
+            formDescription: c.gray60,
+            formLegend: c.gray85,
+            formInputBg: c.gray05,
+            formInputBgDisabled: c.gray10,
+            formInputBorder: c.gray25,
+            formInputBorderHover: c.gray33,
+            formInputBorderActive: c.blue95,
+            formInputBorderInvalid: c.red88,
+            formInputPlaceholderText: c.gray33,
+            formInputText: c.gray85,
+            formInputDisabledText: c.gray70,
+            formInputTextStrong: c.gray85,
+            formInputTextWhite: c.white,
+            formFocusOutline: c.blueShade,
+            formValidationMessageText: c.white,
+            formValidationMessageBg: c.red88,
+            formSwitchBg: c.gray25,
+            formSwitchBgActive: c.blueLight,
+            formSwitchBgHover: c.gray33,
+            formSwitchBgActiveHover: c.blueBase,
+            formSwitchBgDisabled: c.gray25,
+            formSwitchDot: c.gray15,
+            formCheckboxBg: c.dark5,
+            formCheckboxBgChecked: c.blueLight,
+            formCheckboxBgCheckedHover: c.blueBase,
+            formCheckboxCheckmark: c.gray25,
+          }),
+          background: {
+            dropdown: c.dark3,
+            scrollbar: c.dark9,
+            scrollbar2: c.dark9,
+            pageHeader: "linear-gradient(90deg, "
+              .concat(c.dark7, ", ")
+              .concat(c.black, ")"),
+          },
+          shadow: { pageHeader: "inset 0px -4px 14px ".concat(c.dark3) },
+        });
+      function f(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function d(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? f(Object(n), !0).forEach(function (t) {
+                p(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : f(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function p(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var h,
+        m = d({}, r, {
+          black: "#000000",
+          white: "#ffffff",
+          dark1: "#1e2028",
+          dark2: "#41444b",
+          dark3: "#303133",
+          dark4: "#35373f",
+          dark5: "#41444b",
+          dark6: "#41444b",
+          dark7: "#41444b",
+          dark8: "#2f2f32",
+          dark9: "#343436",
+          dark10: "#424345",
+          gray1: "#52545c",
+          gray2: "#767980",
+          gray3: "#acb6bf",
+          gray4: "#c7d0d9",
+          gray5: "#dde4ed",
+          gray6: "#e9edf2",
+          gray7: "#f7f8fa",
+          grayBlue: "#212327",
+          blueBase: "#3274d9",
+          blueShade: "#1f60c4",
+          blueLight: "#5794f2",
+          blueFaint: "#f5f9ff",
+          redBase: "#e02f44",
+          redShade: "#c4162a",
+          greenBase: "#3eb15b",
+          greenShade: "#369b4f",
+          blue: "#0083b3",
+          red: "#d44939",
+          yellow: "#ff851b",
+          purple: "#9954bb",
+          variable: "#007580",
+          orange: "#ff7941",
+          orangeDark: "#ed5700",
+        }),
+        g = d({}, a, {
+          type: o.GrafanaThemeType.Light,
+          isDark: !1,
+          isLight: !0,
+          name: "Grafana Light",
+          colors: d({}, m, {
+            variable: m.blue,
+            inputBlack: "#09090b",
+            brandPrimary: m.orange,
+            brandSuccess: m.greenBase,
+            brandWarning: m.orange,
+            brandDanger: m.redBase,
+            queryRed: m.redBase,
+            queryGreen: m.greenBase,
+            queryPurple: m.purple,
+            queryKeyword: m.blueBase,
+            queryOrange: m.orange,
+            online: m.greenShade,
+            warn: "#f79520",
+            critical: m.redShade,
+            bodyBg: m.gray7,
+            pageBg: m.gray7,
+            body: m.gray1,
+            text: m.gray1,
+            textStrong: m.dark2,
+            textWeak: m.gray2,
+            textEmphasis: m.dark5,
+            textFaint: m.dark4,
+            link: m.gray1,
+            linkDisabled: m.gray3,
+            linkHover: m.dark1,
+            linkExternal: m.blueLight,
+            headingColor: m.gray1,
+            pageHeaderBorder: m.gray4,
+            panelBg: m.white,
+            formLabel: m.gray33,
+            formDescription: m.gray33,
+            formLegend: m.gray25,
+            formInputBg: m.white,
+            formInputBgDisabled: m.gray95,
+            formInputBorder: m.gray85,
+            formInputBorderHover: m.gray70,
+            formInputBorderActive: m.blue77,
+            formInputBorderInvalid: m.red88,
+            formInputText: m.gray25,
+            formInputPlaceholderText: m.gray70,
+            formInputDisabledText: m.gray33,
+            formInputTextStrong: m.gray25,
+            formInputTextWhite: m.white,
+            formFocusOutline: m.blueLight,
+            formValidationMessageText: m.white,
+            formValidationMessageBg: m.red88,
+            formSwitchBg: m.gray85,
+            formSwitchBgActive: m.blueShade,
+            formSwitchBgHover: m.gray3,
+            formSwitchBgActiveHover: m.blueBase,
+            formSwitchBgDisabled: m.gray4,
+            formSwitchDot: m.white,
+            formCheckboxBg: m.white,
+            formCheckboxBgChecked: m.blueShade,
+            formCheckboxBgCheckedHover: m.blueBase,
+            formCheckboxCheckmark: m.white,
+          }),
+          background: {
+            dropdown: m.white,
+            scrollbar: m.gray5,
+            scrollbar2: m.gray5,
+            pageHeader: "linear-gradient(90deg, "
+              .concat(m.white, ", ")
+              .concat(m.gray7, ")"),
+          },
+          shadow: { pageHeader: "inset 0px -3px 10px ".concat(m.gray6) },
+        });
+      n.d(t, "a", function () {
+        return b;
+      }),
+        n.d(t, "b", function () {
+          return v;
+        });
+      var b = function (e) {
+          return (h && h(e)) || ("light" === e ? g : u);
+        },
+        v = function (e) {
+          return (
+            (h = e),
+            function () {
+              h = null;
+            }
+          );
+        };
+    },
+    J4KJ: function (e, t, n) {
+      "use strict";
+      n.d(t, "c", function () {
+        return u;
+      }),
+        n.d(t, "h", function () {
+          return d;
+        }),
+        n.d(t, "g", function () {
+          return p;
+        }),
+        n.d(t, "a", function () {
+          return h;
+        }),
+        n.d(t, "d", function () {
+          return m;
+        }),
+        n.d(t, "f", function () {
+          return g;
+        }),
+        n.d(t, "e", function () {
+          return b;
+        }),
+        n.d(t, "b", function () {
+          return v;
+        });
+      var r = n("t8hP"),
+        a = n("UvM7"),
+        o = n("jGYO"),
+        i = n("KyLG"),
+        l = n("3SGO");
+      function s(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function c(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              s(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              s(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function u(e) {
+        return (function () {
+          var t = c(
+            regeneratorRuntime.mark(function t(n) {
+              var a;
+              return regeneratorRuntime.wrap(function (t) {
+                for (;;)
+                  switch ((t.prev = t.next)) {
+                    case 0:
+                      return (
+                        (t.next = 2),
+                        Object(r.getBackendSrv)().get(
+                          "/api/dashboards/id/".concat(e, "/permissions")
+                        )
+                      );
+                    case 2:
+                      (a = t.sent), n(Object(i.k)(a));
+                    case 4:
+                    case "end":
+                      return t.stop();
+                  }
+              }, t);
+            })
+          );
+          return function (e) {
+            return t.apply(this, arguments);
+          };
+        })();
+      }
+      function f(e) {
+        return {
+          userId: e.userId,
+          teamId: e.teamId,
+          role: e.role,
+          permission: e.permission,
+        };
+      }
+      function d(e, t, n) {
+        return (function () {
+          var a = c(
+            regeneratorRuntime.mark(function a(o, i) {
+              var l, s, c, d, p, h, m, g, b, v;
+              return regeneratorRuntime.wrap(
+                function (a) {
+                  for (;;)
+                    switch ((a.prev = a.next)) {
+                      case 0:
+                        (l = i()),
+                          (s = l.dashboard),
+                          (c = []),
+                          (d = !0),
+                          (p = !1),
+                          (h = void 0),
+                          (a.prev = 5),
+                          (m = s.permissions[Symbol.iterator]());
+                      case 7:
+                        if ((d = (g = m.next()).done)) {
+                          a.next = 17;
+                          break;
+                        }
+                        if (!(b = g.value).inherited) {
+                          a.next = 11;
+                          break;
+                        }
+                        return a.abrupt("continue", 14);
+                      case 11:
+                        (v = f(b)), t === b && (v.permission = n), c.push(v);
+                      case 14:
+                        (d = !0), (a.next = 7);
+                        break;
+                      case 17:
+                        a.next = 23;
+                        break;
+                      case 19:
+                        (a.prev = 19),
+                          (a.t0 = a.catch(5)),
+                          (p = !0),
+                          (h = a.t0);
+                      case 23:
+                        (a.prev = 23),
+                          (a.prev = 24),
+                          d || null == m.return || m.return();
+                      case 26:
+                        if (((a.prev = 26), !p)) {
+                          a.next = 29;
+                          break;
+                        }
+                        throw h;
+                      case 29:
+                        return a.finish(26);
+                      case 30:
+                        return a.finish(23);
+                      case 31:
+                        return (
+                          (a.next = 33),
+                          Object(
+                            r.getBackendSrv
+                          )().post(
+                            "/api/dashboards/id/".concat(e, "/permissions"),
+                            { items: c }
+                          )
+                        );
+                      case 33:
+                        return (a.next = 35), o(u(e));
+                      case 35:
+                      case "end":
+                        return a.stop();
+                    }
+                },
+                a,
+                null,
+                [
+                  [5, 19, 23, 31],
+                  [24, , 26, 30],
+                ]
+              );
+            })
+          );
+          return function (e, t) {
+            return a.apply(this, arguments);
+          };
+        })();
+      }
+      function p(e, t) {
+        return (function () {
+          var n = c(
+            regeneratorRuntime.mark(function n(a, o) {
+              var i, l, s, c, d, p, h, m;
+              return regeneratorRuntime.wrap(
+                function (n) {
+                  for (;;)
+                    switch ((n.prev = n.next)) {
+                      case 0:
+                        (i = o().dashboard),
+                          (l = []),
+                          (s = !0),
+                          (c = !1),
+                          (d = void 0),
+                          (n.prev = 5),
+                          (p = i.permissions[Symbol.iterator]());
+                      case 7:
+                        if ((s = (h = p.next()).done)) {
+                          n.next = 15;
+                          break;
+                        }
+                        if (!(m = h.value).inherited && m !== t) {
+                          n.next = 11;
+                          break;
+                        }
+                        return n.abrupt("continue", 12);
+                      case 11:
+                        l.push(f(m));
+                      case 12:
+                        (s = !0), (n.next = 7);
+                        break;
+                      case 15:
+                        n.next = 21;
+                        break;
+                      case 17:
+                        (n.prev = 17),
+                          (n.t0 = n.catch(5)),
+                          (c = !0),
+                          (d = n.t0);
+                      case 21:
+                        (n.prev = 21),
+                          (n.prev = 22),
+                          s || null == p.return || p.return();
+                      case 24:
+                        if (((n.prev = 24), !c)) {
+                          n.next = 27;
+                          break;
+                        }
+                        throw d;
+                      case 27:
+                        return n.finish(24);
+                      case 28:
+                        return n.finish(21);
+                      case 29:
+                        return (
+                          (n.next = 31),
+                          Object(
+                            r.getBackendSrv
+                          )().post(
+                            "/api/dashboards/id/".concat(e, "/permissions"),
+                            { items: l }
+                          )
+                        );
+                      case 31:
+                        return (n.next = 33), a(u(e));
+                      case 33:
+                      case "end":
+                        return n.stop();
+                    }
+                },
+                n,
+                null,
+                [
+                  [5, 17, 21, 29],
+                  [22, , 24, 28],
+                ]
+              );
+            })
+          );
+          return function (e, t) {
+            return n.apply(this, arguments);
+          };
+        })();
+      }
+      function h(e, t) {
+        return (function () {
+          var n = c(
+            regeneratorRuntime.mark(function n(a, o) {
+              var i, l, s, c, d, p, h, m, g;
+              return regeneratorRuntime.wrap(
+                function (n) {
+                  for (;;)
+                    switch ((n.prev = n.next)) {
+                      case 0:
+                        (i = o()),
+                          (l = i.dashboard),
+                          (s = []),
+                          (c = !0),
+                          (d = !1),
+                          (p = void 0),
+                          (n.prev = 5),
+                          (h = l.permissions[Symbol.iterator]());
+                      case 7:
+                        if ((c = (m = h.next()).done)) {
+                          n.next = 15;
+                          break;
+                        }
+                        if (!(g = m.value).inherited) {
+                          n.next = 11;
+                          break;
+                        }
+                        return n.abrupt("continue", 12);
+                      case 11:
+                        s.push(f(g));
+                      case 12:
+                        (c = !0), (n.next = 7);
+                        break;
+                      case 15:
+                        n.next = 21;
+                        break;
+                      case 17:
+                        (n.prev = 17),
+                          (n.t0 = n.catch(5)),
+                          (d = !0),
+                          (p = n.t0);
+                      case 21:
+                        (n.prev = 21),
+                          (n.prev = 22),
+                          c || null == h.return || h.return();
+                      case 24:
+                        if (((n.prev = 24), !d)) {
+                          n.next = 27;
+                          break;
+                        }
+                        throw p;
+                      case 27:
+                        return n.finish(24);
+                      case 28:
+                        return n.finish(21);
+                      case 29:
+                        return (
+                          s.push({
+                            userId: t.userId,
+                            teamId: t.teamId,
+                            role: t.role,
+                            permission: t.permission,
+                          }),
+                          (n.next = 32),
+                          Object(
+                            r.getBackendSrv
+                          )().post(
+                            "/api/dashboards/id/".concat(e, "/permissions"),
+                            { items: s }
+                          )
+                        );
+                      case 32:
+                        return (n.next = 34), a(u(e));
+                      case 34:
+                      case "end":
+                        return n.stop();
+                    }
+                },
+                n,
+                null,
+                [
+                  [5, 17, 21, 29],
+                  [22, , 24, 28],
+                ]
+              );
+            })
+          );
+          return function (e, t) {
+            return n.apply(this, arguments);
+          };
+        })();
+      }
+      function m(e, t) {
+        return (function () {
+          var n = c(
+            regeneratorRuntime.mark(function n(i) {
+              return regeneratorRuntime.wrap(function (n) {
+                for (;;)
+                  switch ((n.prev = n.next)) {
+                    case 0:
+                      return (
+                        (n.next = 2),
+                        Object(r.getBackendSrv)().post(
+                          "/api/dashboards/import",
+                          e
+                        )
+                      );
+                    case 2:
+                      i(Object(l.b)(Object(a.b)("Dashboard Imported", t))),
+                        i(Object(o.b)());
+                    case 4:
+                    case "end":
+                      return n.stop();
+                  }
+              }, n);
+            })
+          );
+          return function (e) {
+            return n.apply(this, arguments);
+          };
+        })();
+      }
+      function g(e) {
+        return (function () {
+          var t = c(
+            regeneratorRuntime.mark(function t(n) {
+              return regeneratorRuntime.wrap(function (t) {
+                for (;;)
+                  switch ((t.prev = t.next)) {
+                    case 0:
+                      return (
+                        (t.next = 2),
+                        Object(r.getBackendSrv)().delete(
+                          "/api/dashboards/".concat(e)
+                        )
+                      );
+                    case 2:
+                      n(Object(o.b)());
+                    case 3:
+                    case "end":
+                      return t.stop();
+                  }
+              }, t);
+            })
+          );
+          return function (e) {
+            return t.apply(this, arguments);
+          };
+        })();
+      }
+      function b(e) {
+        return (function () {
+          var t = c(
+            regeneratorRuntime.mark(function t(n, r) {
+              var a;
+              return regeneratorRuntime.wrap(function (t) {
+                for (;;)
+                  switch ((t.prev = t.next)) {
+                    case 0:
+                      if ((a = r().plugins.panels[e.type])) {
+                        t.next = 5;
+                        break;
+                      }
+                      return (t.next = 4), n(Object(o.a)(e.type));
+                    case 4:
+                      a = t.sent;
+                    case 5:
+                      e.plugin || e.pluginLoaded(a),
+                        n(Object(i.l)({ panelId: e.id, plugin: a }));
+                    case 7:
+                    case "end":
+                      return t.stop();
+                  }
+              }, t);
+            })
+          );
+          return function (e, n) {
+            return t.apply(this, arguments);
+          };
+        })();
+      }
+      function v(e, t) {
+        return (function () {
+          var n = c(
+            regeneratorRuntime.mark(function n(r, a) {
+              var l, s, c;
+              return regeneratorRuntime.wrap(function (n) {
+                for (;;)
+                  switch ((n.prev = n.next)) {
+                    case 0:
+                      if (e.type !== t) {
+                        n.next = 2;
+                        break;
+                      }
+                      return n.abrupt("return");
+                    case 2:
+                      if (((l = a()), (s = l.plugins.panels[t]))) {
+                        n.next = 8;
+                        break;
+                      }
+                      return (n.next = 7), r(Object(o.a)(t));
+                    case 7:
+                      s = n.sent;
+                    case 8:
+                      (c = l.dashboard.panels[e.id].angularComponent) &&
+                        (c.destroy(),
+                        r(
+                          Object(i.n)({ panelId: e.id, angularComponent: null })
+                        )),
+                        e.changePlugin(s),
+                        r(Object(i.l)({ panelId: e.id, plugin: s }));
+                    case 12:
+                    case "end":
+                      return n.stop();
+                  }
+              }, n);
+            })
+          );
+          return function (e, t) {
+            return n.apply(this, arguments);
+          };
+        })();
+      }
+    },
+    J9Im: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return l;
+      }),
+        n.d(t, "b", function () {
+          return u;
+        });
+      var r = n("zdiy"),
+        a = n.n(r),
+        o = n("kDLi"),
+        i = n("Obii");
+      var l = function e(t) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.datasources = {}),
+            (this.panels = {}),
+            (this.minRefreshInterval = ""),
+            (this.appSubUrl = ""),
+            (this.windowTitlePrefix = ""),
+            (this.buildInfo = {}),
+            (this.newPanelTitle = ""),
+            (this.externalUserMngLinkUrl = ""),
+            (this.externalUserMngLinkName = ""),
+            (this.externalUserMngInfo = ""),
+            (this.allowOrgCreate = !1),
+            (this.disableLoginForm = !1),
+            (this.defaultDatasource = ""),
+            (this.alertingEnabled = !1),
+            (this.alertingErrorOrTimeout = ""),
+            (this.alertingNoDataOrNullValues = ""),
+            (this.alertingMinInterval = 1),
+            (this.authProxyEnabled = !1),
+            (this.exploreEnabled = !1),
+            (this.ldapEnabled = !1),
+            (this.samlEnabled = !1),
+            (this.autoAssignOrg = !0),
+            (this.verifyEmailEnabled = !1),
+            (this.disableUserSignUp = !1),
+            (this.viewersCanEdit = !1),
+            (this.editorsCanAdmin = !1),
+            (this.disableSanitizeHtml = !1),
+            (this.pluginsToPreload = []),
+            (this.featureToggles = {
+              transformations: !1,
+              inspect: !1,
+              expressions: !1,
+              newEdit: !1,
+              meta: !1,
+              newVariables: !1,
+            }),
+            (this.licenseInfo = {}),
+            (this.phantomJSRenderer = !1),
+            (this.theme = t.bootData.user.lightTheme
+              ? Object(o.getTheme)(i.GrafanaThemeType.Light)
+              : Object(o.getTheme)(i.GrafanaThemeType.Dark));
+          a()(
+            this,
+            {
+              datasources: {},
+              windowTitlePrefix: "Grafana - ",
+              panels: {},
+              newPanelTitle: "Panel Title",
+              playlist_timespan: "1m",
+              unsaved_changes_warning: !0,
+              appSubUrl: "",
+              buildInfo: {
+                version: "v1.0",
+                commit: "1",
+                env: "production",
+                isEnterprise: !1,
+              },
+              viewersCanEdit: !1,
+              editorsCanAdmin: !1,
+              disableSanitizeHtml: !1,
+            },
+            t
+          );
+        },
+        s = window.grafanaBootData || { settings: {}, user: {}, navTree: [] },
+        c = s.settings;
+      c.bootData = s;
+      var u = new l(c);
+    },
+    JL5c: function (e, t, n) {
+      "use strict";
+      n.r(t),
+        n.d(t, "base64StringToArrowTable", function () {
+          return o;
+        }),
+        n.d(t, "arrowTableToDataFrame", function () {
+          return s;
+        }),
+        n.d(t, "grafanaDataFrameToArrowTable", function () {
+          return u;
+        }),
+        n.d(t, "resultsToDataFrames", function () {
+          return f;
+        });
+      var r = n("KgU3"),
+        a = n("3+te");
+      function o(e) {
+        var t = atob(e),
+          n = Uint8Array.from(t, function (e) {
+            return e.charCodeAt(0);
+          });
+        return a.Table.from(n);
+      }
+      function i(e) {
+        return e || void 0;
+      }
+      function l(e) {
+        if (e && e.length && "{}" !== e)
+          try {
+            return JSON.parse(e);
+          } catch (t) {
+            console.warn("Error reading JSON from arrow metadata: ", e);
+          }
+      }
+      function s(e) {
+        for (var t = [], n = 0; n < e.numCols; n++) {
+          var o = e.getColumnAt(n);
+          if (o) {
+            var s = e.schema.fields[n],
+              u = r.FieldType.other,
+              f = o;
+            switch (s.typeId) {
+              case a.ArrowType.Decimal:
+              case a.ArrowType.Int:
+              case a.ArrowType.FloatingPoint:
+                u = r.FieldType.number;
+                break;
+              case a.ArrowType.Bool:
+                u = r.FieldType.boolean;
+                break;
+              case a.ArrowType.Timestamp:
+                u = r.FieldType.time;
+                break;
+              case a.ArrowType.Utf8:
+                u = r.FieldType.string;
+                break;
+              default:
+                console.log("UNKNOWN Type:", s);
+            }
+            t.push({
+              name: c(o.name),
+              type: u,
+              values: f,
+              config: l(o.metadata.get("config")) || {},
+              labels: l(o.metadata.get("labels")),
+            });
+          }
+        }
+        var d = e.schema.metadata;
+        return {
+          fields: t,
+          length: e.length,
+          refId: i(d.get("refId")),
+          name: i(d.get("name")),
+          meta: l(d.get("meta")),
+          table: e,
+        };
+      }
+      function c(e) {
+        var t = e.indexOf("🦥: ");
+        return t > 0 ? e.substring(t + "🦥: ".length) : e;
+      }
+      function u(e) {
+        var t = e.table;
+        if (t instanceof a.Table) return t;
+        var n = new Set(),
+          o = (t = a.Table.new(
+            e.fields.map(function (e, t) {
+              var o = e.name;
+              n.has(e.name) && (o = "".concat(t).concat("🦥: ").concat(e.name)),
+                n.add(o);
+              var i = a.Column.new(
+                o,
+                (function (e) {
+                  var t;
+                  t =
+                    e.type === r.FieldType.number
+                      ? new a.Float64()
+                      : e.type === r.FieldType.time
+                      ? new a.TimestampMillisecond()
+                      : e.type === r.FieldType.boolean
+                      ? new a.Bool()
+                      : (e.type, r.FieldType.string, new a.Utf8());
+                  var n = a.Builder.new({ type: t, nullValues: [null] });
+                  return (
+                    e.values.toArray().forEach(n.append.bind(n)),
+                    n.finish().toVector()
+                  );
+                })(e)
+              );
+              return (
+                e.labels && i.metadata.set("labels", JSON.stringify(e.labels)),
+                e.config && i.metadata.set("config", JSON.stringify(e.config)),
+                i
+              );
+            })
+          )).schema.metadata;
+        return (
+          e.name && o.set("name", e.name),
+          e.refId && o.set("refId", e.refId),
+          e.meta && o.set("meta", JSON.stringify(e.meta)),
+          t
+        );
+      }
+      function f(e) {
+        for (
+          var t = [], n = 0, r = Object.values(e.results);
+          n < r.length;
+          n++
+        ) {
+          var a = r[n];
+          if (a.dataframes) {
+            var i = !0,
+              l = !1,
+              c = void 0;
+            try {
+              for (
+                var u, f = a.dataframes[Symbol.iterator]();
+                !(i = (u = f.next()).done);
+                i = !0
+              ) {
+                var d = o(u.value);
+                t.push(s(d));
+              }
+            } catch (e) {
+              (l = !0), (c = e);
+            } finally {
+              try {
+                i || null == f.return || f.return();
+              } finally {
+                if (l) throw c;
+              }
+            }
+          }
+        }
+        return t;
+      }
+    },
+    K47g: function (e, t, n) {
+      "use strict";
+      var r = n("LvDl"),
+        a = n.n(r),
+        o = n("1524"),
+        i = n("bMS5"),
+        l = n("Obii"),
+        s = n("eXZ6"),
+        c = n("ZFWI"),
+        u = n("S5bw"),
+        f = n("67Y/"),
+        d = n("WnbS"),
+        p = n("PbtU"),
+        h = n("5kRJ"),
+        m = n("kHZm"),
+        g = n("4RCQ");
+      function b(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function v(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              b(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              b(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function y(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function w(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? y(Object(n), !0).forEach(function (t) {
+                O(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : y(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function O(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function x(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var k = 100;
+      var j = (function () {
+        function e() {
+          var t = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.pipeDataToSubject = function (e) {
+              t.subject.next(e), (t.lastResult = e);
+            }),
+            (this.subject = new u.a(1));
+        }
+        var t, n, a, o;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "getData",
+              value: function () {
+                var e = this,
+                  t =
+                    !(arguments.length > 0 && void 0 !== arguments[0]) ||
+                    arguments[0];
+                return t
+                  ? this.subject.pipe(
+                      Object(f.a)(function (t) {
+                        return e.hasTransformations()
+                          ? w({}, t, {
+                              series: Object(l.transformDataFrame)(
+                                e.transformations,
+                                t.series
+                              ),
+                            })
+                          : t;
+                      })
+                    )
+                  : this.subject.pipe();
+              },
+            },
+            {
+              key: "hasTransformations",
+              value: function () {
+                return (
+                  c.a.featureToggles.transformations &&
+                  this.transformations &&
+                  this.transformations.length > 0
+                );
+              },
+            },
+            {
+              key: "run",
+              value:
+                ((o = v(
+                  regeneratorRuntime.mark(function e(t) {
+                    var n, a, o, i, s, c, u, f, d, b, v, y, w, O, x, j;
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              if (
+                                ((n = t.queries),
+                                (a = t.timezone),
+                                (o = t.datasource),
+                                (i = t.panelId),
+                                (s = t.dashboardId),
+                                (c = t.timeRange),
+                                (u = t.timeInfo),
+                                (f = t.cacheTimeout),
+                                (d = t.widthPixels),
+                                (b = t.maxDataPoints),
+                                (v = t.scopedVars),
+                                (y = t.minInterval),
+                                !Object(g.b)(o))
+                              ) {
+                                e.next = 4;
+                                break;
+                              }
+                              return (
+                                this.pipeToSubject(Object(g.c)(t)),
+                                e.abrupt("return")
+                              );
+                            case 4:
+                              return (
+                                ((w = {
+                                  app: l.CoreApp.Dashboard,
+                                  requestId: "Q" + k++,
+                                  timezone: a,
+                                  panelId: i,
+                                  dashboardId: s,
+                                  range: c,
+                                  timeInfo: u,
+                                  interval: "",
+                                  intervalMs: 0,
+                                  targets: Object(r.cloneDeep)(n),
+                                  maxDataPoints: b || d,
+                                  scopedVars: v || {},
+                                  cacheTimeout: f,
+                                  startTime: Date.now(),
+                                }).rangeRaw = c.raw),
+                                (e.prev = 6),
+                                (e.next = 9),
+                                S(o, w.scopedVars)
+                              );
+                            case 9:
+                              (O = e.sent),
+                                (w.targets = w.targets.map(function (e) {
+                                  return (
+                                    e.datasource || (e.datasource = O.name), e
+                                  );
+                                })),
+                                (x = y
+                                  ? h.b.replace(y, w.scopedVars)
+                                  : O.interval),
+                                (j = p.a.calculateInterval(c, d, x)),
+                                (w.scopedVars = Object.assign(
+                                  {},
+                                  w.scopedVars,
+                                  {
+                                    __interval: {
+                                      text: j.interval,
+                                      value: j.interval,
+                                    },
+                                    __interval_ms: {
+                                      text: j.intervalMs.toString(),
+                                      value: j.intervalMs,
+                                    },
+                                  }
+                                )),
+                                (w.interval = j.interval),
+                                (w.intervalMs = j.intervalMs),
+                                this.pipeToSubject(Object(m.c)(O, w)),
+                                (e.next = 22);
+                              break;
+                            case 19:
+                              (e.prev = 19),
+                                (e.t0 = e.catch(6)),
+                                console.log("PanelQueryRunner Error", e.t0);
+                            case 22:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this,
+                      [[6, 19]]
+                    );
+                  })
+                )),
+                function (e) {
+                  return o.apply(this, arguments);
+                }),
+            },
+            {
+              key: "pipeToSubject",
+              value: function (e) {
+                var t = this;
+                this.subscription && this.subscription.unsubscribe(),
+                  (this.subscription = e.subscribe({
+                    next: function (e) {
+                      (t.lastResult = Object(m.b)(e, t.lastResult)),
+                        t.subject.next(t.lastResult);
+                    },
+                  }));
+              },
+            },
+            {
+              key: "setTransformations",
+              value: function (e) {
+                this.transformations = e;
+              },
+            },
+            {
+              key: "destroy",
+              value: function () {
+                this.subject && this.subject.complete(),
+                  this.subscription && this.subscription.unsubscribe();
+              },
+            },
+            {
+              key: "getLastResult",
+              value: function () {
+                return this.lastResult;
+              },
+            },
+          ]) && x(t.prototype, n),
+          a && x(t, a),
+          e
+        );
+      })();
+      function S(e, t) {
+        return E.apply(this, arguments);
+      }
+      function E() {
+        return (E = v(
+          regeneratorRuntime.mark(function e(t, n) {
+            return regeneratorRuntime.wrap(function (e) {
+              for (;;)
+                switch ((e.prev = e.next)) {
+                  case 0:
+                    if (!t || !t.query) {
+                      e.next = 2;
+                      break;
+                    }
+                    return e.abrupt("return", t);
+                  case 2:
+                    return (e.next = 4), Object(d.a)().get(t, n);
+                  case 4:
+                    return e.abrupt("return", e.sent);
+                  case 5:
+                  case "end":
+                    return e.stop();
+                }
+            }, e);
+          })
+        )).apply(this, arguments);
+      }
+      var C = n("t9fZ");
+      function P(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function T(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function D(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      n.d(t, "b", function () {
+        return A;
+      }),
+        n.d(t, "c", function () {
+          return _;
+        }),
+        n.d(t, "a", function () {
+          return R;
+        });
+      var A = Object(l.eventFactory)("panel-added"),
+        _ = Object(l.eventFactory)("panel-removed"),
+        N = {
+          events: !0,
+          fullscreen: !0,
+          isEditing: !0,
+          isInView: !0,
+          hasRefreshed: !0,
+          cachedPluginOptions: !0,
+          plugin: !0,
+          queryRunner: !0,
+        },
+        M = {
+          id: !0,
+          gridPos: !0,
+          type: !0,
+          title: !0,
+          scopedVars: !0,
+          repeat: !0,
+          repeatIteration: !0,
+          repeatPanelId: !0,
+          repeatDirection: !0,
+          repeatedByRow: !0,
+          minSpan: !0,
+          collapsed: !0,
+          panels: !0,
+          targets: !0,
+          datasource: !0,
+          timeFrom: !0,
+          timeShift: !0,
+          hideTimeOverride: !0,
+          description: !0,
+          links: !0,
+          fullscreen: !0,
+          isEditing: !0,
+          hasRefreshed: !0,
+          events: !0,
+          cacheTimeout: !0,
+          cachedPluginOptions: !0,
+          transparent: !0,
+          pluginVersion: !0,
+          queryRunner: !0,
+          transformations: !0,
+        },
+        I = {
+          gridPos: { x: 0, y: 0, h: 3, w: 6 },
+          targets: [{ refId: "A" }],
+          cachedPluginOptions: {},
+          transparent: !1,
+          options: {},
+        },
+        R = (function () {
+          function e(t) {
+            !(function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, e),
+              (this.events = new o.a()),
+              (this.datasource = null),
+              this.restoreModel(t);
+          }
+          var t, n, r;
+          return (
+            (t = e),
+            (n = [
+              {
+                key: "restoreModel",
+                value: function (e) {
+                  for (var t in e) this[t] = e[t];
+                  a.a.defaultsDeep(this, a.a.cloneDeep(I)),
+                    this.ensureQueryIds();
+                },
+              },
+              {
+                key: "ensureQueryIds",
+                value: function () {
+                  if (this.targets && a.a.isArray(this.targets)) {
+                    var e = !0,
+                      t = !1,
+                      n = void 0;
+                    try {
+                      for (
+                        var r, o = this.targets[Symbol.iterator]();
+                        !(e = (r = o.next()).done);
+                        e = !0
+                      ) {
+                        var l = r.value;
+                        l.refId || (l.refId = Object(i.b)(this.targets));
+                      }
+                    } catch (e) {
+                      (t = !0), (n = e);
+                    } finally {
+                      try {
+                        e || null == o.return || o.return();
+                      } finally {
+                        if (t) throw n;
+                      }
+                    }
+                  }
+                },
+              },
+              {
+                key: "getOptions",
+                value: function () {
+                  return this.options;
+                },
+              },
+              {
+                key: "updateOptions",
+                value: function (e) {
+                  (this.options = e), this.render();
+                },
+              },
+              {
+                key: "getSaveModel",
+                value: function () {
+                  var e = {};
+                  for (var t in this)
+                    !N[t] &&
+                      this.hasOwnProperty(t) &&
+                      (a.a.isEqual(this[t], I[t]) ||
+                        (e[t] = a.a.cloneDeep(this[t])));
+                  return e;
+                },
+              },
+              {
+                key: "setViewMode",
+                value: function (e, t) {
+                  (this.fullscreen = e),
+                    (this.isEditing = t),
+                    this.events.emit(l.PanelEvents.viewModeChanged);
+                },
+              },
+              {
+                key: "updateGridPos",
+                value: function (e) {
+                  var t = !1;
+                  (this.gridPos.w === e.w && this.gridPos.h === e.h) ||
+                    (t = !0),
+                    (this.gridPos.x = e.x),
+                    (this.gridPos.y = e.y),
+                    (this.gridPos.w = e.w),
+                    (this.gridPos.h = e.h),
+                    t && this.events.emit(l.PanelEvents.panelSizeChanged);
+                },
+              },
+              {
+                key: "resizeDone",
+                value: function () {
+                  this.events.emit(l.PanelEvents.panelSizeChanged);
+                },
+              },
+              {
+                key: "refresh",
+                value: function () {
+                  (this.hasRefreshed = !0),
+                    this.events.emit(l.PanelEvents.refresh);
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  this.hasRefreshed
+                    ? this.events.emit(l.PanelEvents.render)
+                    : this.refresh();
+                },
+              },
+              {
+                key: "initialized",
+                value: function () {
+                  this.events.emit(l.PanelEvents.panelInitialized);
+                },
+              },
+              {
+                key: "getOptionsToRemember",
+                value: function () {
+                  var e = this;
+                  return Object.keys(this).reduce(function (t, n) {
+                    return N[n] || M[n]
+                      ? t
+                      : (function (e) {
+                          for (var t = 1; t < arguments.length; t++) {
+                            var n = null != arguments[t] ? arguments[t] : {};
+                            t % 2
+                              ? P(Object(n), !0).forEach(function (t) {
+                                  T(e, t, n[t]);
+                                })
+                              : Object.getOwnPropertyDescriptors
+                              ? Object.defineProperties(
+                                  e,
+                                  Object.getOwnPropertyDescriptors(n)
+                                )
+                              : P(Object(n)).forEach(function (t) {
+                                  Object.defineProperty(
+                                    e,
+                                    t,
+                                    Object.getOwnPropertyDescriptor(n, t)
+                                  );
+                                });
+                          }
+                          return e;
+                        })({}, t, T({}, n, e[n]));
+                  }, {});
+                },
+              },
+              {
+                key: "restorePanelOptions",
+                value: function (e) {
+                  var t = this,
+                    n = this.cachedPluginOptions[e] || {};
+                  Object.keys(n).map(function (e) {
+                    t[e] = n[e];
+                  });
+                },
+              },
+              {
+                key: "applyPluginOptionDefaults",
+                value: function (e) {
+                  e.angularConfigCtrl ||
+                    (this.options = a.a.mergeWith(
+                      {},
+                      e.defaults,
+                      this.options || {},
+                      function (e, t) {
+                        if (a.a.isArray(t)) return t;
+                      }
+                    ));
+                },
+              },
+              {
+                key: "pluginLoaded",
+                value: function (e) {
+                  if (
+                    ((this.plugin = e),
+                    this.applyPluginOptionDefaults(e),
+                    e.panel && e.onPanelMigration)
+                  ) {
+                    var t = F(e);
+                    t !== this.pluginVersion &&
+                      ((this.options = e.onPanelMigration(this)),
+                      (this.pluginVersion = t));
+                  }
+                  this.applyPluginOptionDefaults(e);
+                },
+              },
+              {
+                key: "changePlugin",
+                value: function (e) {
+                  var t = e.meta.id,
+                    n = this.getOptionsToRemember(),
+                    r = this.type,
+                    o = !!this.plugin.angularPanelCtrl,
+                    i = !0,
+                    l = !1,
+                    s = void 0;
+                  try {
+                    for (
+                      var c, u = a.a.keys(this)[Symbol.iterator]();
+                      !(i = (c = u.next()).done);
+                      i = !0
+                    ) {
+                      var f = c.value;
+                      M[f] || delete this[f];
+                    }
+                  } catch (e) {
+                    (l = !0), (s = e);
+                  } finally {
+                    try {
+                      i || null == u.return || u.return();
+                    } finally {
+                      if (l) throw s;
+                    }
+                  }
+                  if (
+                    ((this.cachedPluginOptions[r] = n),
+                    this.restorePanelOptions(t),
+                    e.onPanelTypeChanged)
+                  ) {
+                    var d = {};
+                    o
+                      ? (d = { angular: n })
+                      : n && n.options && (d = n.options),
+                      (this.options = this.options || {}),
+                      Object.assign(
+                        this.options,
+                        e.onPanelTypeChanged(this.options, r, d)
+                      );
+                  }
+                  (this.type = t),
+                    (this.plugin = e),
+                    this.applyPluginOptionDefaults(e),
+                    e.onPanelMigration && (this.pluginVersion = F(e));
+                },
+              },
+              {
+                key: "addQuery",
+                value: function (e) {
+                  ((e = e || { refId: "A" }).refId = Object(i.b)(this.targets)),
+                    this.targets.push(e);
+                },
+              },
+              {
+                key: "changeQuery",
+                value: function (e, t) {
+                  (e.refId = this.targets[t].refId),
+                    (this.targets = this.targets.map(function (n, r) {
+                      return r === t ? e : n;
+                    }));
+                },
+              },
+              {
+                key: "getEditClone",
+                value: function () {
+                  var t = this.getSaveModel();
+                  t.id = s.c;
+                  var n = new e(t);
+                  return (
+                    this.getQueryRunner()
+                      .getData()
+                      .pipe(Object(C.a)(1))
+                      .subscribe(function (e) {
+                        return n.getQueryRunner().pipeDataToSubject(e);
+                      }),
+                    n
+                  );
+                },
+              },
+              {
+                key: "getQueryRunner",
+                value: function () {
+                  return (
+                    this.queryRunner ||
+                      ((this.queryRunner = new j()),
+                      this.setTransformations(this.transformations)),
+                    this.queryRunner
+                  );
+                },
+              },
+              {
+                key: "hasTitle",
+                value: function () {
+                  return this.title && this.title.length > 0;
+                },
+              },
+              {
+                key: "isAngularPlugin",
+                value: function () {
+                  return this.plugin && !!this.plugin.angularPanelCtrl;
+                },
+              },
+              {
+                key: "destroy",
+                value: function () {
+                  this.events.removeAllListeners(),
+                    this.queryRunner &&
+                      (this.queryRunner.destroy(), (this.queryRunner = null));
+                },
+              },
+              {
+                key: "setTransformations",
+                value: function (e) {
+                  (this.transformations = e),
+                    this.getQueryRunner().setTransformations(e);
+                },
+              },
+            ]) && D(t.prototype, n),
+            r && D(t, r),
+            e
+          );
+        })();
+      function F(e) {
+        return e && e.meta.info.version
+          ? e.meta.info.version
+          : c.b.buildInfo.version;
+      }
+    },
+    KBRh: function (e, t) {},
+    KODV: function (e, t, n) {
+      "use strict";
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("6WZ+"),
+        i = n("kDLi"),
+        l = n("kDDq"),
+        s = n("JEAp"),
+        c = n("ttS0");
+      function u() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })([
+          "\n            padding: 8px 16px;\n            background: black;\n            height: 400px;\n          ",
+        ]);
+        return (
+          (u = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      var f = function (e) {
+          var t = e.dashboard,
+            n = e.onCancel,
+            o = Object(r.useMemo)(
+              function () {
+                var e = t.getSaveModelClone();
+                return delete e.id, e;
+              },
+              [t]
+            ),
+            f = Object(r.useCallback)(
+              function () {
+                return JSON.stringify(o, null, 2);
+              },
+              [t]
+            ),
+            d = Object(r.useCallback)(
+              function () {
+                var e = new Blob([JSON.stringify(o, null, 2)], {
+                  type: "application/json;charset=utf-8",
+                });
+                Object(s.saveAs)(
+                  e,
+                  t.title + "-" + new Date().getTime() + ".json"
+                );
+              },
+              [o]
+            );
+          return a.a.createElement(
+            a.a.Fragment,
+            null,
+            a.a.createElement(
+              i.VerticalGroup,
+              { spacing: "lg" },
+              a.a.createElement(
+                "small",
+                null,
+                "This dashboard cannot be saved from Grafana's UI since it has been provisioned from another source. Copy the JSON or save it to a file below. Then you can update your dashboard in corresponding provisioning source.",
+                a.a.createElement("br", null),
+                a.a.createElement(
+                  "i",
+                  null,
+                  "See",
+                  " ",
+                  a.a.createElement(
+                    "a",
+                    {
+                      className: "external-link",
+                      href:
+                        "http://docs.grafana.org/administration/provisioning/#dashboards",
+                      target: "_blank",
+                    },
+                    "documentation"
+                  ),
+                  " ",
+                  "for more information about provisioning."
+                )
+              ),
+              a.a.createElement(
+                "div",
+                null,
+                a.a.createElement("strong", null, "File path: "),
+                " ",
+                t.meta.provisionedExternalId
+              ),
+              a.a.createElement(
+                "div",
+                { className: Object(l.css)(u()) },
+                a.a.createElement(
+                  i.CustomScrollbar,
+                  null,
+                  a.a.createElement(i.JSONFormatter, { json: o, open: 1 })
+                )
+              ),
+              a.a.createElement(
+                i.HorizontalGroup,
+                null,
+                a.a.createElement(
+                  c.a,
+                  { text: f, elType: i.Button },
+                  "Copy JSON to clipboard"
+                ),
+                a.a.createElement(
+                  i.Button,
+                  { onClick: d },
+                  "Save JSON to file"
+                ),
+                a.a.createElement(
+                  i.Forms.Button,
+                  { variant: "secondary", onClick: n },
+                  "Cancel"
+                )
+              )
+            )
+          );
+        },
+        d = function (e) {
+          var t = e.dashboard,
+            n = e.onDismiss;
+          return a.a.createElement(
+            i.Modal,
+            {
+              isOpen: !0,
+              title: "Cannot save provisioned dashboard",
+              icon: "copy",
+              onDismiss: n,
+            },
+            a.a.createElement(f, { dashboard: t, onCancel: n, onSuccess: n })
+          );
+        },
+        p = n("e9GU"),
+        h = n("1gCF");
+      function m(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      var g = function (e) {
+          var t = e.dashboard,
+            n = e.onCancel,
+            o = e.onSuccess,
+            l = e.onSubmit,
+            s = Object(r.useMemo)(
+              function () {
+                return t.hasTimeChanged();
+              },
+              [t]
+            ),
+            c = Object(r.useMemo)(
+              function () {
+                return t.hasVariableValuesChanged();
+              },
+              [t]
+            );
+          return a.a.createElement(
+            i.Forms.Form,
+            {
+              onSubmit: (function () {
+                var e,
+                  n =
+                    ((e = regeneratorRuntime.mark(function e(n) {
+                      return regeneratorRuntime.wrap(function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return (
+                                (e.next = 2), l(t.getSaveModelClone(n), n, t)
+                              );
+                            case 2:
+                              "success" === e.sent.status &&
+                                (n.saveVariables && t.resetOriginalVariables(),
+                                n.saveTimerange && t.resetOriginalTime(),
+                                o());
+                            case 4:
+                            case "end":
+                              return e.stop();
+                          }
+                      }, e);
+                    })),
+                    function () {
+                      var t = this,
+                        n = arguments;
+                      return new Promise(function (r, a) {
+                        var o = e.apply(t, n);
+                        function i(e) {
+                          m(o, r, a, i, l, "next", e);
+                        }
+                        function l(e) {
+                          m(o, r, a, i, l, "throw", e);
+                        }
+                        i(void 0);
+                      });
+                    });
+                return function (e) {
+                  return n.apply(this, arguments);
+                };
+              })(),
+            },
+            function (e) {
+              var t = e.register;
+              e.errors;
+              return a.a.createElement(
+                a.a.Fragment,
+                null,
+                a.a.createElement(
+                  "div",
+                  { className: "gf-form-group" },
+                  s &&
+                    a.a.createElement(i.Forms.Checkbox, {
+                      label: "Save current time range as dashboard default",
+                      name: "saveTimerange",
+                      ref: t,
+                      "aria-label":
+                        h.a.pages.SaveDashboardModal.selectors.saveTimerange,
+                    }),
+                  c &&
+                    a.a.createElement(i.Forms.Checkbox, {
+                      label:
+                        "Save current variable values as dashboard default",
+                      name: "saveVariables",
+                      ref: t,
+                      "aria-label":
+                        h.a.pages.SaveDashboardModal.selectors.saveVariables,
+                    }),
+                  (c || s) &&
+                    a.a.createElement("div", { className: "gf-form-group" }),
+                  a.a.createElement(i.Forms.TextArea, {
+                    name: "message",
+                    ref: t,
+                    placeholder: "Add a note to describe your changes...",
+                    autoFocus: !0,
+                  })
+                ),
+                a.a.createElement(
+                  i.HorizontalGroup,
+                  null,
+                  a.a.createElement(
+                    i.Button,
+                    {
+                      type: "submit",
+                      "aria-label": h.a.pages.SaveDashboardModal.selectors.save,
+                    },
+                    "Save"
+                  ),
+                  a.a.createElement(
+                    i.Forms.Button,
+                    { variant: "secondary", onClick: n },
+                    "Cancel"
+                  )
+                )
+              );
+            }
+          );
+        },
+        b = n("x16D"),
+        v = n("atUN");
+      function y() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })(["\n            width: 500px;\n          "]);
+        return (
+          (y = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function w(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      var O = function (e) {
+        var t = e.dashboard,
+          n = e.onDismiss,
+          o = e.onSaveSuccess,
+          s = Object(v.a)(t),
+          c = s.state,
+          u = s.onDashboardSave,
+          f = w(Object(r.useState)(), 2),
+          d = f[0],
+          p = f[1];
+        return a.a.createElement(
+          a.a.Fragment,
+          null,
+          c.error &&
+            a.a.createElement(b.a, {
+              error: c.error,
+              dashboard: t,
+              dashboardSaveModel: d,
+              onDismiss: n,
+            }),
+          !c.error &&
+            a.a.createElement(
+              i.Modal,
+              {
+                isOpen: !0,
+                title: "Save dashboard",
+                icon: "copy",
+                onDismiss: n,
+                className: Object(l.css)(y()),
+              },
+              a.a.createElement(g, {
+                dashboard: t,
+                onCancel: n,
+                onSuccess: function () {
+                  n(), o && o();
+                },
+                onSubmit: function (e, t, n) {
+                  return p(e), u(e, t, n);
+                },
+              })
+            )
+        );
+      };
+      function x() {
+        return (x =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      n.d(t, "a", function () {
+        return k;
+      });
+      var k = function (e) {
+        var t = e.dashboard,
+          n = e.onDismiss,
+          r = e.onSaveSuccess,
+          i = t.meta.provisioned,
+          l = t.title === o.a || 0 === t.version,
+          s = t.version > 0,
+          c = { dashboard: t, onDismiss: n, onSaveSuccess: r };
+        return a.a.createElement(
+          a.a.Fragment,
+          null,
+          s && !i && a.a.createElement(O, c),
+          i && a.a.createElement(d, c),
+          l && a.a.createElement(p.a, x({}, c, { isNew: !0 }))
+        );
+      };
+    },
+    Kcoi: function (e, t, n) {
+      "use strict";
+      function r(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function a(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function o(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function i(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function l(e, t, n) {
+        return t && i(e.prototype, t), n && i(e, n), e;
+      }
+      n.d(t, "a", function () {
+        return x;
+      });
+      var s = Object,
+        c = [
+          "black",
+          "red",
+          "green",
+          "yellow",
+          "blue",
+          "magenta",
+          "cyan",
+          "lightGray",
+          "",
+          "default",
+        ],
+        u = [
+          "darkGray",
+          "lightRed",
+          "lightGreen",
+          "lightYellow",
+          "lightBlue",
+          "lightMagenta",
+          "lightCyan",
+          "white",
+          "",
+        ],
+        f = ["", "bright", "dim", "italic", "underline", "", "", "inverse"],
+        d = {
+          red: "lightRed",
+          green: "lightGreen",
+          yellow: "lightYellow",
+          blue: "lightBlue",
+          magenta: "lightMagenta",
+          cyan: "lightCyan",
+          black: "darkGray",
+          lightGray: "white",
+        },
+        p = {
+          0: "style",
+          2: "unstyle",
+          3: "color",
+          9: "colorLight",
+          4: "bgColor",
+          10: "bgColorLight",
+        },
+        h = {
+          color: c,
+          colorLight: u,
+          bgColor: c,
+          bgColorLight: u,
+          style: f,
+          unstyle: f,
+        },
+        m = function (e) {
+          for (var t in e) e[t] || delete e[t];
+          return 0 === s.keys(e).length ? void 0 : e;
+        },
+        g = (function () {
+          function e(t, n, r) {
+            o(this, e),
+              (this.background = t),
+              (this.name = n),
+              (this.brightness = r);
+          }
+          return (
+            l(e, [
+              {
+                key: "defaultBrightness",
+                value: function (t) {
+                  return new e(
+                    this.background,
+                    this.name,
+                    this.brightness || t
+                  );
+                },
+              },
+              {
+                key: "css",
+                value: function (e) {
+                  var t = e ? this.inverse : this,
+                    n = (t.brightness === b.bright && d[t.name]) || t.name,
+                    r = t.background ? "background:" : "color:",
+                    o = x.rgb[n],
+                    i = this.brightness === b.dim ? 0.5 : 1;
+                  return o
+                    ? r + "rgba(" + [].concat(a(o), [i]).join(",") + ");"
+                    : !t.background && i < 1
+                    ? "color:rgba(0,0,0,0.5);"
+                    : "";
+                },
+              },
+              {
+                key: "inverse",
+                get: function () {
+                  return new e(
+                    !this.background,
+                    this.name || (this.background ? "black" : "white"),
+                    this.brightness
+                  );
+                },
+              },
+              {
+                key: "clean",
+                get: function () {
+                  return m({
+                    name: "default" === this.name ? "" : this.name,
+                    bright: this.brightness === b.bright,
+                    dim: this.brightness === b.dim,
+                  });
+                },
+              },
+            ]),
+            e
+          );
+        })(),
+        b = (function () {
+          function e(t) {
+            o(this, e), (this.value = void 0 !== t ? Number(t) : void 0);
+          }
+          return (
+            l(
+              e,
+              [
+                {
+                  key: "type",
+                  get: function () {
+                    return p[Math.floor(this.value / 10)];
+                  },
+                },
+                {
+                  key: "subtype",
+                  get: function () {
+                    return h[this.type][this.value % 10];
+                  },
+                },
+                {
+                  key: "str",
+                  get: function () {
+                    return this.value ? "[" + this.value + "m" : "";
+                  },
+                },
+                {
+                  key: "isBrightness",
+                  get: function () {
+                    return (
+                      this.value === e.noBrightness ||
+                      this.value === e.bright ||
+                      this.value === e.dim
+                    );
+                  },
+                },
+              ],
+              [
+                {
+                  key: "str",
+                  value: function (t) {
+                    return new e(t).str;
+                  },
+                },
+              ]
+            ),
+            e
+          );
+        })();
+      (b.reset = 0),
+        (b.bright = 1),
+        (b.dim = 2),
+        (b.inverse = 7),
+        (b.noBrightness = 22),
+        (b.noItalic = 23),
+        (b.noUnderline = 24),
+        (b.noInverse = 27),
+        (b.noColor = 39),
+        (b.noBgColor = 49);
+      var v = function (e, t, n) {
+          var r = b.str(t),
+            a = b.str(n);
+          return String(e)
+            .split("\n")
+            .map(function (e) {
+              return (function (e) {
+                return e.replace(/(\u001b\[(1|2)m)/g, "$1");
+              })(
+                r +
+                  ((t = e.replace(/\u001b\[22m(\u001b\[(1|2)m)/g, "$1")),
+                  (n = a),
+                  (o = r),
+                  t.split(n).join(o)) +
+                  a
+              );
+              var t, n, o;
+            })
+            .join("\n");
+        },
+        y = function (e, t) {
+          return e + t.charAt(0).toUpperCase() + t.slice(1);
+        },
+        w = []
+          .concat(
+            a(
+              c.map(function (e, t) {
+                return e
+                  ? [
+                      [e, 30 + t, b.noColor],
+                      [y("bg", e), 40 + t, b.noBgColor],
+                    ]
+                  : [];
+              })
+            ),
+            a(
+              u.map(function (e, t) {
+                return e
+                  ? [
+                      [e, 90 + t, b.noColor],
+                      [y("bg", e), 100 + t, b.noBgColor],
+                    ]
+                  : [];
+              })
+            ),
+            a(
+              [
+                "",
+                "BrightRed",
+                "BrightGreen",
+                "BrightYellow",
+                "BrightBlue",
+                "BrightMagenta",
+                "BrightCyan",
+              ].map(function (e, t) {
+                return e ? [["bg" + e, 100 + t, b.noBgColor]] : [];
+              })
+            ),
+            a(
+              f.map(function (e, t) {
+                return e
+                  ? [
+                      [
+                        e,
+                        t,
+                        "bright" === e || "dim" === e ? b.noBrightness : 20 + t,
+                      ],
+                    ]
+                  : [];
+              })
+            )
+          )
+          .reduce(function (e, t) {
+            return e.concat(t);
+          });
+      var O = Symbol.iterator,
+        x = (function () {
+          function e(t) {
+            o(this, e),
+              (this.spans = t
+                ? (function (e) {
+                    for (
+                      var t = 0,
+                        n = "",
+                        r = "",
+                        a = "",
+                        o = [],
+                        i = [],
+                        l = 0,
+                        s = e.length;
+                      l < s;
+                      l++
+                    ) {
+                      var c = e[l];
+                      switch (((n += c), t)) {
+                        case 0:
+                          "" === c ? ((t = 1), (n = c)) : (r += c);
+                          break;
+                        case 1:
+                          "[" === c
+                            ? ((t = 2), (a = ""), (o = []))
+                            : ((t = 0), (r += n));
+                          break;
+                        case 2:
+                          if (c >= "0" && c <= "9") a += c;
+                          else if (";" === c) o.push(new b(a)), (a = "");
+                          else if ("m" === c && a.length) {
+                            o.push(new b(a));
+                            var u = !0,
+                              f = !1,
+                              d = void 0;
+                            try {
+                              for (
+                                var p, h = o[Symbol.iterator]();
+                                !(u = (p = h.next()).done);
+                                u = !0
+                              ) {
+                                var m = p.value;
+                                i.push({ text: r, code: m }), (r = "");
+                              }
+                            } catch (e) {
+                              (f = !0), (d = e);
+                            } finally {
+                              try {
+                                u || null == h.return || h.return();
+                              } finally {
+                                if (f) throw d;
+                              }
+                            }
+                            t = 0;
+                          } else (t = 0), (r += n);
+                      }
+                    }
+                    return (
+                      0 !== t && (r += n),
+                      r && i.push({ text: r, code: new b() }),
+                      i
+                    );
+                  })(t)
+                : []);
+          }
+          return (
+            l(
+              e,
+              [
+                {
+                  key: O,
+                  value: function () {
+                    return this.spans[Symbol.iterator]();
+                  },
+                },
+                {
+                  key: "str",
+                  get: function () {
+                    return this.spans.reduce(function (e, t) {
+                      return e + t.text + t.code.str;
+                    }, "");
+                  },
+                },
+                {
+                  key: "parsed",
+                  get: function () {
+                    var t, n, r, a;
+                    function o() {
+                      (r = new g()),
+                        (a = new g(!0)),
+                        (n = void 0),
+                        (t = new Set());
+                    }
+                    return (
+                      o(),
+                      s.assign(new e(), {
+                        spans: this.spans
+                          .map(function (e) {
+                            var i = e.code,
+                              l = t.has("inverse"),
+                              c = t.has("underline")
+                                ? "text-decoration: underline;"
+                                : "",
+                              u = t.has("italic") ? "font-style: italic;" : "",
+                              f = n === b.bright ? "font-weight: bold;" : "",
+                              d = r.defaultBrightness(n),
+                              p = s.assign(
+                                { css: f + u + c + d.css(l) + a.css(l) },
+                                m({
+                                  bold: !!f,
+                                  color: d.clean,
+                                  bgColor: a.clean,
+                                }),
+                                e
+                              ),
+                              h = !0,
+                              v = !1,
+                              y = void 0;
+                            try {
+                              for (
+                                var w, O = t[Symbol.iterator]();
+                                !(h = (w = O.next()).done);
+                                h = !0
+                              ) {
+                                p[w.value] = !0;
+                              }
+                            } catch (e) {
+                              (v = !0), (y = e);
+                            } finally {
+                              try {
+                                h || null == O.return || O.return();
+                              } finally {
+                                if (v) throw y;
+                              }
+                            }
+                            if (i.isBrightness) n = i.value;
+                            else if (void 0 !== e.code.value)
+                              if (e.code.value === b.reset) o();
+                              else
+                                switch (e.code.type) {
+                                  case "color":
+                                  case "colorLight":
+                                    r = new g(!1, i.subtype);
+                                    break;
+                                  case "bgColor":
+                                  case "bgColorLight":
+                                    a = new g(!0, i.subtype);
+                                    break;
+                                  case "style":
+                                    t.add(i.subtype);
+                                    break;
+                                  case "unstyle":
+                                    t.delete(i.subtype);
+                                }
+                            return p;
+                          })
+                          .filter(function (e) {
+                            return e.text.length > 0;
+                          }),
+                      })
+                    );
+                  },
+                },
+                {
+                  key: "asChromeConsoleLogArguments",
+                  get: function () {
+                    var e = this.parsed.spans;
+                    return [
+                      e
+                        .map(function (e) {
+                          return "%c" + e.text;
+                        })
+                        .join(""),
+                    ].concat(
+                      a(
+                        e.map(function (e) {
+                          return e.css;
+                        })
+                      )
+                    );
+                  },
+                },
+                {
+                  key: "browserConsoleArguments",
+                  get: function () {
+                    return this.asChromeConsoleLogArguments;
+                  },
+                },
+              ],
+              [
+                {
+                  key: "parse",
+                  value: function (t) {
+                    return new e(t).parsed;
+                  },
+                },
+                {
+                  key: "strip",
+                  value: function (e) {
+                    return e.replace(
+                      /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g,
+                      ""
+                    );
+                  },
+                },
+                {
+                  key: "nice",
+                  get: function () {
+                    return (
+                      e.names.forEach(function (t) {
+                        t in String.prototype ||
+                          s.defineProperty(String.prototype, t, {
+                            get: function () {
+                              return e[t](this);
+                            },
+                          });
+                      }),
+                      e
+                    );
+                  },
+                },
+              ]
+            ),
+            e
+          );
+        })();
+      (x.names = w.map(function (e) {
+        return r(e, 1)[0];
+      })),
+        (x.rgb = {
+          black: [0, 0, 0],
+          darkGray: [100, 100, 100],
+          lightGray: [200, 200, 200],
+          white: [255, 255, 255],
+          red: [204, 0, 0],
+          lightRed: [255, 51, 0],
+          green: [0, 204, 0],
+          lightGreen: [51, 204, 51],
+          yellow: [204, 102, 0],
+          lightYellow: [255, 153, 51],
+          blue: [0, 0, 255],
+          lightBlue: [26, 140, 255],
+          magenta: [204, 0, 204],
+          lightMagenta: [255, 0, 255],
+          cyan: [0, 153, 255],
+          lightCyan: [0, 204, 255],
+        }),
+        (function e(t) {
+          var n =
+            arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : t;
+          return w.reduce(function (t, a) {
+            var o = r(a, 3),
+              i = o[0],
+              l = o[1],
+              c = o[2];
+            return s.defineProperty(t, i, {
+              get: function () {
+                return e(function (e) {
+                  return n(v(e, l, c));
+                });
+              },
+            });
+          }, t);
+        })(x, function (e) {
+          return e;
+        });
+    },
+    Ke2B: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return f;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDDq"),
+        i = n("Fts8");
+      function l() {
+        var e = u([
+          "\n                        margin-left: ",
+          ";\n                      ",
+        ]);
+        return (
+          (l = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function s() {
+        var e = u([
+          "\n                  color: ",
+          ";\n                  font-weight: bold;\n                  text-align: right;\n                  cursor: pointer;\n                ",
+        ]);
+        return (
+          (s = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function c() {
+        var e = u([
+          "\n          width: 100%;\n          td {\n            padding: 2px 10px;\n          }\n        ",
+        ]);
+        return (
+          (c = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function u(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var f = function (e) {
+        var t = e.items,
+          n = e.columns,
+          u = e.sortBy,
+          f = e.sortDesc,
+          d = e.itemRenderer,
+          p = e.className,
+          h = e.onToggleSort,
+          m = Object(r.useContext)(i.a);
+        return a.a.createElement(
+          "table",
+          { className: Object(o.cx)(Object(o.css)(c()), p) },
+          a.a.createElement(
+            "thead",
+            null,
+            a.a.createElement(
+              "tr",
+              null,
+              n.map(function (e) {
+                return a.a.createElement(
+                  "th",
+                  {
+                    key: e,
+                    className: Object(o.css)(s(), m.colors.blue),
+                    onClick: function () {
+                      h && h(e);
+                    },
+                  },
+                  e,
+                  u === e &&
+                    a.a.createElement("span", {
+                      className: Object(o.cx)(
+                        "fa fa-caret-".concat(f ? "down" : "up"),
+                        Object(o.css)(l(), m.spacing.sm)
+                      ),
+                    })
+                );
+              })
+            )
+          ),
+          a.a.createElement(
+            "tbody",
+            null,
+            t.map(function (e, t) {
+              return d
+                ? d(e, t)
+                : a.a.createElement(
+                    "tr",
+                    { key: "".concat(e.label, "-").concat(t) },
+                    a.a.createElement("td", null, e.label)
+                  );
+            })
+          )
+        );
+      };
+    },
+    KgU3: function (e, t, n) {
+      "use strict";
+      n.r(t);
+      var r = n("1BU0");
+      n.d(t, "LoadingState", function () {
+        return r.a;
+      }),
+        n.d(t, "NullValueMode", function () {
+          return r.b;
+        });
+      var a = n("HJqT");
+      n.d(t, "FieldType", function () {
+        return a.a;
+      });
+      var o = n("eqXR");
+      n.d(t, "VariableOrigin", function () {
+        return o.a;
+      }),
+        n.d(t, "VariableSuggestionsScope", function () {
+          return o.b;
+        });
+      var i = n("RH9q");
+      n.d(t, "LogLevel", function () {
+        return i.a;
+      }),
+        n.d(t, "LogsMetaKind", function () {
+          return i.d;
+        }),
+        n.d(t, "LogsDedupStrategy", function () {
+          return i.c;
+        }),
+        n.d(t, "LogsDedupDescription", function () {
+          return i.b;
+        });
+      var l = n("a9tP");
+      for (var s in l)
+        [
+          "AppEvent",
+          "AppEvents",
+          "PanelEvents",
+          "LoadingState",
+          "NullValueMode",
+          "FieldType",
+          "VariableOrigin",
+          "VariableSuggestionsScope",
+          "LogLevel",
+          "LogsMetaKind",
+          "LogsDedupStrategy",
+          "LogsDedupDescription",
+          "default",
+        ].indexOf(s) < 0 &&
+          (function (e) {
+            n.d(t, e, function () {
+              return l[e];
+            });
+          })(s);
+      var c = n("nnkO");
+      for (var s in c)
+        [
+          "AppEvent",
+          "AppEvents",
+          "PanelEvents",
+          "LoadingState",
+          "NullValueMode",
+          "FieldType",
+          "VariableOrigin",
+          "VariableSuggestionsScope",
+          "LogLevel",
+          "LogsMetaKind",
+          "LogsDedupStrategy",
+          "LogsDedupDescription",
+          "default",
+        ].indexOf(s) < 0 &&
+          (function (e) {
+            n.d(t, e, function () {
+              return c[e];
+            });
+          })(s);
+      var u = n("5VON");
+      n.d(t, "DefaultTimeZone", function () {
+        return u.b;
+      }),
+        n.d(t, "TIME_FORMAT", function () {
+          return u.c;
+        }),
+        n.d(t, "DefaultTimeRange", function () {
+          return u.a;
+        });
+      var f = n("mgzm");
+      n.d(t, "ThresholdsMode", function () {
+        return f.a;
+      });
+      var d = n("5m9O");
+      n.d(t, "eventFactory", function () {
+        return d.a;
+      });
+      var p = n("6edu");
+      n.d(t, "MappingType", function () {
+        return p.a;
+      });
+      var h = n("cFxn");
+      for (var s in h)
+        [
+          "AppEvent",
+          "AppEvents",
+          "PanelEvents",
+          "LoadingState",
+          "NullValueMode",
+          "FieldType",
+          "VariableOrigin",
+          "VariableSuggestionsScope",
+          "LogLevel",
+          "LogsMetaKind",
+          "LogsDedupStrategy",
+          "LogsDedupDescription",
+          "DefaultTimeZone",
+          "TIME_FORMAT",
+          "DefaultTimeRange",
+          "ThresholdsMode",
+          "eventFactory",
+          "MappingType",
+          "default",
+        ].indexOf(s) < 0 &&
+          (function (e) {
+            n.d(t, e, function () {
+              return h[e];
+            });
+          })(s);
+      var m = n("Qrgx");
+      for (var s in m)
+        [
+          "AppEvent",
+          "AppEvents",
+          "PanelEvents",
+          "LoadingState",
+          "NullValueMode",
+          "FieldType",
+          "VariableOrigin",
+          "VariableSuggestionsScope",
+          "LogLevel",
+          "LogsMetaKind",
+          "LogsDedupStrategy",
+          "LogsDedupDescription",
+          "DefaultTimeZone",
+          "TIME_FORMAT",
+          "DefaultTimeRange",
+          "ThresholdsMode",
+          "eventFactory",
+          "MappingType",
+          "default",
+        ].indexOf(s) < 0 &&
+          (function (e) {
+            n.d(t, e, function () {
+              return m[e];
+            });
+          })(s);
+      var g = n("pu3h");
+      for (var s in g)
+        [
+          "AppEvent",
+          "AppEvents",
+          "PanelEvents",
+          "LoadingState",
+          "NullValueMode",
+          "FieldType",
+          "VariableOrigin",
+          "VariableSuggestionsScope",
+          "LogLevel",
+          "LogsMetaKind",
+          "LogsDedupStrategy",
+          "LogsDedupDescription",
+          "DefaultTimeZone",
+          "TIME_FORMAT",
+          "DefaultTimeRange",
+          "ThresholdsMode",
+          "eventFactory",
+          "MappingType",
+          "default",
+        ].indexOf(s) < 0 &&
+          (function (e) {
+            n.d(t, e, function () {
+              return g[e];
+            });
+          })(s);
+      var b = n("BxXJ");
+      for (var s in b)
+        [
+          "AppEvent",
+          "AppEvents",
+          "PanelEvents",
+          "LoadingState",
+          "NullValueMode",
+          "FieldType",
+          "VariableOrigin",
+          "VariableSuggestionsScope",
+          "LogLevel",
+          "LogsMetaKind",
+          "LogsDedupStrategy",
+          "LogsDedupDescription",
+          "DefaultTimeZone",
+          "TIME_FORMAT",
+          "DefaultTimeRange",
+          "ThresholdsMode",
+          "eventFactory",
+          "MappingType",
+          "default",
+        ].indexOf(s) < 0 &&
+          (function (e) {
+            n.d(t, e, function () {
+              return b[e];
+            });
+          })(s);
+      var v = n("0HV/");
+      for (var s in v)
+        [
+          "AppEvent",
+          "AppEvents",
+          "PanelEvents",
+          "LoadingState",
+          "NullValueMode",
+          "FieldType",
+          "VariableOrigin",
+          "VariableSuggestionsScope",
+          "LogLevel",
+          "LogsMetaKind",
+          "LogsDedupStrategy",
+          "LogsDedupDescription",
+          "DefaultTimeZone",
+          "TIME_FORMAT",
+          "DefaultTimeRange",
+          "ThresholdsMode",
+          "eventFactory",
+          "MappingType",
+          "default",
+        ].indexOf(s) < 0 &&
+          (function (e) {
+            n.d(t, e, function () {
+              return v[e];
+            });
+          })(s);
+      var y = n("QNe1");
+      for (var s in y)
+        [
+          "AppEvent",
+          "AppEvents",
+          "PanelEvents",
+          "LoadingState",
+          "NullValueMode",
+          "FieldType",
+          "VariableOrigin",
+          "VariableSuggestionsScope",
+          "LogLevel",
+          "LogsMetaKind",
+          "LogsDedupStrategy",
+          "LogsDedupDescription",
+          "DefaultTimeZone",
+          "TIME_FORMAT",
+          "DefaultTimeRange",
+          "ThresholdsMode",
+          "eventFactory",
+          "MappingType",
+          "default",
+        ].indexOf(s) < 0 &&
+          (function (e) {
+            n.d(t, e, function () {
+              return y[e];
+            });
+          })(s);
+      var w = n("/r3D");
+      n.d(t, "CoreApp", function () {
+        return w.b;
+      }),
+        n.d(t, "AppPlugin", function () {
+          return w.a;
+        });
+      var O = n("Z6j/");
+      n.d(t, "DataSourcePlugin", function () {
+        return O.b;
+      }),
+        n.d(t, "DataSourceApi", function () {
+          return O.a;
+        }),
+        n.d(t, "DataSourceStatus", function () {
+          return O.c;
+        }),
+        n.d(t, "ExploreMode", function () {
+          return O.d;
+        }),
+        n.d(t, "LanguageProvider", function () {
+          return O.e;
+        });
+      var x = n("BwrN");
+      n.d(t, "PanelPlugin", function () {
+        return x.a;
+      }),
+        n.d(t, "VizOrientation", function () {
+          return x.b;
+        });
+      var k = n("CnP+");
+      n.d(t, "PluginState", function () {
+        return k.c;
+      }),
+        n.d(t, "PluginType", function () {
+          return k.d;
+        }),
+        n.d(t, "PluginIncludeType", function () {
+          return k.b;
+        }),
+        n.d(t, "GrafanaPlugin", function () {
+          return k.a;
+        });
+      var j = n("QGP0");
+      n.d(t, "FieldColorMode", function () {
+        return j.b;
+      }),
+        n.d(t, "ColorScheme", function () {
+          return j.a;
+        });
+      var S = n("UcAx");
+      n.d(t, "GrafanaThemeType", function () {
+        return S.a;
+      });
+      var E = n("/FV5");
+      n.d(t, "OrgRole", function () {
+        return E.a;
+      });
+      var C = n("QlHa");
+      for (var s in C)
+        [
+          "AppEvent",
+          "AppEvents",
+          "PanelEvents",
+          "LoadingState",
+          "NullValueMode",
+          "FieldType",
+          "VariableOrigin",
+          "VariableSuggestionsScope",
+          "LogLevel",
+          "LogsMetaKind",
+          "LogsDedupStrategy",
+          "LogsDedupDescription",
+          "DefaultTimeZone",
+          "TIME_FORMAT",
+          "DefaultTimeRange",
+          "ThresholdsMode",
+          "eventFactory",
+          "MappingType",
+          "CoreApp",
+          "AppPlugin",
+          "DataSourcePlugin",
+          "DataSourceApi",
+          "DataSourceStatus",
+          "ExploreMode",
+          "LanguageProvider",
+          "PanelPlugin",
+          "VizOrientation",
+          "PluginState",
+          "PluginType",
+          "PluginIncludeType",
+          "GrafanaPlugin",
+          "FieldColorMode",
+          "ColorScheme",
+          "GrafanaThemeType",
+          "OrgRole",
+          "default",
+        ].indexOf(s) < 0 &&
+          (function (e) {
+            n.d(t, e, function () {
+              return C[e];
+            });
+          })(s);
+      var P = n("vi1D");
+      n.d(t, "AppEvents", function () {
+        return P;
+      }),
+        n.d(t, "AppEvent", function () {
+          return P.AppEvent;
+        });
+      var T = n("/GJV");
+      n.d(t, "PanelEvents", function () {
+        return T;
+      });
+    },
+    KwPh: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return m;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDLi");
+      function i(e) {
+        return (i =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function l(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function s(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function c(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function u(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function f(e, t) {
+        return !t || ("object" !== i(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function d(e) {
+        return (d = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function p(e, t) {
+        return (p =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      function h(e, t) {
+        var n = t.typeaheadContext,
+          r = t.typeaheadText;
+        switch (n) {
+          case "context-labels":
+            var a = o.DOMUtil.getNextCharacter();
+            (a && "}" !== a && "," !== a) || (e += "=");
+            break;
+          case "context-label-values":
+            r.match(/^(!?=~?"|")/) || (e = '"'.concat(e)),
+              '"' !== o.DOMUtil.getNextCharacter() && (e = "".concat(e, '"'));
+        }
+        return e;
+      }
+      var m = (function (e) {
+        function t(e, n) {
+          var r;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            ((r = f(this, d(t).call(this, e, n))).loadOptions = function (e) {
+              r.props.onLoadOptions(e);
+            }),
+            (r.onChangeLogLabels = function (e, t) {
+              if (2 === t.length) {
+                var n = t[0].value,
+                  a = t[1].value,
+                  o = "{".concat(n, '="').concat(a, '"}');
+                r.onChangeQuery(o, !0);
+              }
+            }),
+            (r.onChangeQuery = function (e, t) {
+              var n = r.props,
+                a = n.query,
+                o = n.onChange,
+                i = n.onRunQuery;
+              o &&
+                (o(
+                  (function (e) {
+                    for (var t = 1; t < arguments.length; t++) {
+                      var n = null != arguments[t] ? arguments[t] : {};
+                      t % 2
+                        ? s(Object(n), !0).forEach(function (t) {
+                            c(e, t, n[t]);
+                          })
+                        : Object.getOwnPropertyDescriptors
+                        ? Object.defineProperties(
+                            e,
+                            Object.getOwnPropertyDescriptors(n)
+                          )
+                        : s(Object(n)).forEach(function (t) {
+                            Object.defineProperty(
+                              e,
+                              t,
+                              Object.getOwnPropertyDescriptor(n, t)
+                            );
+                          });
+                    }
+                    return e;
+                  })({}, a, { expr: e })
+                ),
+                t && i && i());
+            }),
+            (r.onTypeahead = (function () {
+              var e,
+                t =
+                  ((e = regeneratorRuntime.mark(function e(t) {
+                    var n, a, o, i, l, s, c, u, f, d, p;
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            if ((n = r.props.datasource).languageProvider) {
+                              e.next = 3;
+                              break;
+                            }
+                            return e.abrupt("return", { suggestions: [] });
+                          case 3:
+                            return (
+                              (a = n.languageProvider),
+                              (o = r.props),
+                              (i = o.history),
+                              (l = o.absoluteRange),
+                              (s = t.prefix),
+                              (c = t.text),
+                              (u = t.value),
+                              (f = t.wrapperClasses),
+                              (d = t.labelKey),
+                              (e.next = 8),
+                              a.provideCompletionItems(
+                                {
+                                  text: c,
+                                  value: u,
+                                  prefix: s,
+                                  wrapperClasses: f,
+                                  labelKey: d,
+                                },
+                                { history: i, absoluteRange: l }
+                              )
+                            );
+                          case 8:
+                            return (p = e.sent), e.abrupt("return", p);
+                          case 10:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })),
+                  function () {
+                    var t = this,
+                      n = arguments;
+                    return new Promise(function (r, a) {
+                      var o = e.apply(t, n);
+                      function i(e) {
+                        l(o, r, a, i, s, "next", e);
+                      }
+                      function s(e) {
+                        l(o, r, a, i, s, "throw", e);
+                      }
+                      i(void 0);
+                    });
+                  });
+              return function (e) {
+                return t.apply(this, arguments);
+              };
+            })()),
+            (r.plugins = [
+              Object(o.BracesPlugin)(),
+              Object(o.SlatePrism)({
+                onlyIn: function (e) {
+                  return "block" === e.object && "code_block" === e.type;
+                },
+                getSyntax: function (e) {
+                  return "promql";
+                },
+              }),
+            ]),
+            r
+          );
+        }
+        var n, r, i;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && p(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.ExtraFieldElement,
+                  n = e.query,
+                  r = e.syntaxLoaded,
+                  i = e.logLabelOptions,
+                  l = e.onLoadOptions,
+                  s = e.onLabelsRefresh,
+                  c = e.datasource,
+                  u = c.languageProvider,
+                  f = c.languageProvider ? u.cleanText : void 0,
+                  d = i && i.length > 0,
+                  p = (function (e, t) {
+                    return e
+                      ? t
+                        ? "Log labels"
+                        : "(No labels found)"
+                      : "Loading labels...";
+                  })(r, d),
+                  m = !(r && d);
+                return a.a.createElement(
+                  a.a.Fragment,
+                  null,
+                  a.a.createElement(
+                    "div",
+                    {
+                      className:
+                        "gf-form-inline gf-form-inline--nowrap flex-grow-1",
+                    },
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form flex-shrink-0" },
+                      a.a.createElement(
+                        o.ButtonCascader,
+                        {
+                          options: i || [],
+                          disabled: m,
+                          onChange: this.onChangeLogLabels,
+                          loadData: l,
+                          onPopupVisibleChange: function (e) {
+                            return e && s && s();
+                          },
+                        },
+                        p
+                      )
+                    ),
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form gf-form--grow flex-shrink-1" },
+                      a.a.createElement(o.QueryField, {
+                        additionalPlugins: this.plugins,
+                        cleanText: f,
+                        query: n.expr,
+                        onTypeahead: this.onTypeahead,
+                        onWillApplySuggestion: h,
+                        onChange: this.onChangeQuery,
+                        onBlur: this.props.onBlur,
+                        onRunQuery: this.props.onRunQuery,
+                        placeholder: "Enter a Loki query",
+                        portalOrigin: "loki",
+                        syntaxLoaded: r,
+                      })
+                    ),
+                    t
+                  )
+                );
+              },
+            },
+          ]) && u(n.prototype, r),
+          i && u(n, i),
+          t
+        );
+      })(a.a.PureComponent);
+    },
+    KyLG: function (e, t, n) {
+      "use strict";
+      n.d(t, "k", function () {
+        return h;
+      }),
+        n.d(t, "g", function () {
+          return m;
+        }),
+        n.d(t, "f", function () {
+          return g;
+        }),
+        n.d(t, "i", function () {
+          return b;
+        }),
+        n.d(t, "e", function () {
+          return v;
+        }),
+        n.d(t, "h", function () {
+          return y;
+        }),
+        n.d(t, "b", function () {
+          return w;
+        }),
+        n.d(t, "m", function () {
+          return O;
+        }),
+        n.d(t, "d", function () {
+          return x;
+        }),
+        n.d(t, "l", function () {
+          return k;
+        }),
+        n.d(t, "a", function () {
+          return j;
+        }),
+        n.d(t, "c", function () {
+          return S;
+        }),
+        n.d(t, "n", function () {
+          return E;
+        });
+      var r = n("i7Pf"),
+        a = n("GQ3c"),
+        o = n("eXZ6"),
+        i = n("ZJ8E"),
+        l = n("xL/7"),
+        s = n("tEy8"),
+        c = n("rd46"),
+        u = {
+          initPhase: a.DashboardInitPhase.NotStarted,
+          isInitSlow: !1,
+          getModel: function () {
+            return null;
+          },
+          permissions: [],
+          modifiedQueries: null,
+          panels: {},
+          initError: null,
+        },
+        f = Object(r.c)({
+          name: "dashboard",
+          initialState: u,
+          reducers: {
+            loadDashboardPermissions: function (e, t) {
+              e.permissions = Object(i.a)(t.payload);
+            },
+            dashboardInitFetching: function (e, t) {
+              e.initPhase = a.DashboardInitPhase.Fetching;
+            },
+            dashboardInitServices: function (e, t) {
+              e.initPhase = a.DashboardInitPhase.Services;
+            },
+            dashboardInitSlow: function (e, t) {
+              e.isInitSlow = !0;
+            },
+            dashboardInitCompleted: function (e, t) {
+              (e.getModel = function () {
+                return t.payload;
+              }),
+                (e.initPhase = a.DashboardInitPhase.Completed),
+                (e.isInitSlow = !1);
+              var n = !0,
+                r = !1,
+                o = void 0;
+              try {
+                for (
+                  var i, l = t.payload.panels[Symbol.iterator]();
+                  !(n = (i = l.next()).done);
+                  n = !0
+                ) {
+                  var s = i.value;
+                  e.panels[s.id] = { pluginId: s.type };
+                }
+              } catch (e) {
+                (r = !0), (o = e);
+              } finally {
+                try {
+                  n || null == l.return || l.return();
+                } finally {
+                  if (r) throw o;
+                }
+              }
+            },
+            dashboardInitFailed: function (e, t) {
+              (e.initPhase = a.DashboardInitPhase.Failed),
+                (e.initError = t.payload),
+                (e.getModel = function () {
+                  return new c.a(
+                    { title: "Dashboard init failed" },
+                    { canSave: !1, canEdit: !1 }
+                  );
+                });
+            },
+            cleanUpDashboard: function (e, t) {
+              e.getModel() &&
+                (e.getModel().destroy(),
+                (e.getModel = function () {
+                  return null;
+                })),
+                (e.panels = {}),
+                (e.initPhase = a.DashboardInitPhase.NotStarted),
+                (e.isInitSlow = !1),
+                (e.initError = null);
+            },
+            setDashboardQueriesToUpdateOnLoad: function (e, t) {
+              e.modifiedQueries = t.payload;
+            },
+            clearDashboardQueriesToUpdateOnLoad: function (e, t) {
+              e.modifiedQueries = null;
+            },
+            panelModelAndPluginReady: function (e, t) {
+              d(e, t.payload.panelId, { plugin: t.payload.plugin });
+            },
+            cleanUpEditPanel: function (e, t) {
+              delete e.panels[o.c];
+            },
+            setPanelAngularComponent: function (e, t) {
+              d(e, t.payload.panelId, {
+                angularComponent: t.payload.angularComponent,
+              });
+            },
+            addPanel: function (e, t) {
+              e.panels[t.payload.id] = { pluginId: t.payload.type };
+            },
+          },
+        });
+      function d(e, t, n) {
+        e.panels[t] ? Object.assign(e.panels[t], n) : (e.panels[t] = n);
+      }
+      var p = f.actions,
+        h = p.loadDashboardPermissions,
+        m = p.dashboardInitFetching,
+        g = p.dashboardInitFailed,
+        b = p.dashboardInitSlow,
+        v = p.dashboardInitCompleted,
+        y = p.dashboardInitServices,
+        w = p.cleanUpDashboard,
+        O = p.setDashboardQueriesToUpdateOnLoad,
+        x = p.clearDashboardQueriesToUpdateOnLoad,
+        k = p.panelModelAndPluginReady,
+        j = p.addPanel,
+        S = p.cleanUpEditPanel,
+        E = p.setPanelAngularComponent,
+        C = f.reducer;
+      t.j = { dashboard: C, panelEditor: l.e, panelEditorNew: s.c };
+    },
+    LCjV: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return a;
+      }),
+        n.d(t, "b", function () {
+          return o;
+        });
+      var r = n("Obii"),
+        a = function (e, t) {
+          var n,
+            a,
+            o = { from: Object(r.toUtc)(t.from), to: Object(r.toUtc)(t.to) },
+            i = (o.to.valueOf() - o.from.valueOf()) / 2;
+          return (
+            -1 === e
+              ? ((n = o.to.valueOf() - i), (a = o.from.valueOf() - i))
+              : 1 === e
+              ? ((n = o.to.valueOf() + i),
+                (a = o.from.valueOf() + i),
+                n > Date.now() &&
+                  o.to.valueOf() < Date.now() &&
+                  ((n = Date.now()), (a = o.from.valueOf())))
+              : ((n = o.to.valueOf()), (a = o.from.valueOf())),
+            { from: a, to: n }
+          );
+        },
+        o = function (e, t) {
+          var n = e.to.valueOf() - e.from.valueOf(),
+            r = e.to.valueOf() - n / 2;
+          return { from: r - (n * t) / 2, to: r + (n * t) / 2 };
+        };
+    },
+    LOGi: function (e, t, n) {
+      "use strict";
+      (function (e) {
+        var r = n("q1tI"),
+          a = n.n(r),
+          o = n("ZFWI"),
+          i = n("3SGO"),
+          l = n("/MKj"),
+          s = n("t8hP"),
+          c = n("0cfB"),
+          u = n("Xmxp"),
+          f = n("Obii");
+        function d(e) {
+          return (d =
+            "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+              ? function (e) {
+                  return typeof e;
+                }
+              : function (e) {
+                  return e &&
+                    "function" == typeof Symbol &&
+                    e.constructor === Symbol &&
+                    e !== Symbol.prototype
+                    ? "symbol"
+                    : typeof e;
+                })(e);
+        }
+        function p(e, t) {
+          for (var n = 0; n < t.length; n++) {
+            var r = t[n];
+            (r.enumerable = r.enumerable || !1),
+              (r.configurable = !0),
+              "value" in r && (r.writable = !0),
+              Object.defineProperty(e, r.key, r);
+          }
+        }
+        function h(e, t) {
+          return !t || ("object" !== d(t) && "function" != typeof t)
+            ? (function (e) {
+                if (void 0 === e)
+                  throw new ReferenceError(
+                    "this hasn't been initialised - super() hasn't been called"
+                  );
+                return e;
+              })(e)
+            : t;
+        }
+        function m(e) {
+          return (m = Object.setPrototypeOf
+            ? Object.getPrototypeOf
+            : function (e) {
+                return e.__proto__ || Object.getPrototypeOf(e);
+              })(e);
+        }
+        function g(e, t) {
+          return (g =
+            Object.setPrototypeOf ||
+            function (e, t) {
+              return (e.__proto__ = t), e;
+            })(e, t);
+        }
+        var b = (function (e) {
+            function t(e) {
+              var n;
+              return (
+                (function (e, t) {
+                  if (!(e instanceof t))
+                    throw new TypeError("Cannot call a class as a function");
+                })(this, t),
+                ((n = h(this, m(t).call(this, e))).result = {}),
+                (n.changePassword = function (e) {
+                  var t = {
+                    newPassword: e,
+                    confirmNew: e,
+                    oldPassword: "admin",
+                  };
+                  Object(s.getBackendSrv)()
+                    .put("/api/user/password", t)
+                    .then(function () {
+                      n.toGrafana();
+                    })
+                    .catch(function (e) {
+                      return console.log(e);
+                    });
+                }),
+                (n.login = function (e) {
+                  n.setState({ isLoggingIn: !0 }),
+                    Object(s.getBackendSrv)()
+                      .post("/login", e)
+                      .then(function (t) {
+                        (n.result = t),
+                          "admin" !== e.password ||
+                          o.b.ldapEnabled ||
+                          o.b.authProxyEnabled
+                            ? n.toGrafana()
+                            : n.changeView();
+                      })
+                      .catch(function () {
+                        n.setState({ isLoggingIn: !1 });
+                      });
+                }),
+                (n.changeView = function () {
+                  n.setState({ isChangingPassword: !0 });
+                }),
+                (n.toGrafana = function () {
+                  var e = n.props.routeParams;
+                  e.redirect && "/" === e.redirect[0]
+                    ? "" === o.b.appSubUrl ||
+                      e.redirect.startsWith(o.b.appSubUrl)
+                      ? (window.location.href = e.redirect)
+                      : (window.location.href = o.b.appSubUrl + e.redirect)
+                    : n.result.redirectUrl
+                    ? "" === o.b.appSubUrl ||
+                      n.result.redirectUrl.startsWith(o.b.appSubUrl)
+                      ? (window.location.href = n.result.redirectUrl)
+                      : (window.location.href =
+                          o.b.appSubUrl + n.result.redirectUrl)
+                    : (window.location.href = o.b.appSubUrl + "/");
+                }),
+                (n.state = { isLoggingIn: !1, isChangingPassword: !1 }),
+                o.b.loginError &&
+                  u.b.emit(f.AppEvents.alertWarning, [
+                    "Login Failed",
+                    o.b.loginError,
+                  ]),
+                n
+              );
+            }
+            var n, r, i;
+            return (
+              (function (e, t) {
+                if ("function" != typeof t && null !== t)
+                  throw new TypeError(
+                    "Super expression must either be null or a function"
+                  );
+                (e.prototype = Object.create(t && t.prototype, {
+                  constructor: { value: e, writable: !0, configurable: !0 },
+                })),
+                  t && g(e, t);
+              })(t, e),
+              (n = t),
+              (r = [
+                {
+                  key: "render",
+                  value: function () {
+                    var e = this.props.children,
+                      t = this.state,
+                      n = t.isLoggingIn,
+                      r = t.isChangingPassword,
+                      i = this.login,
+                      l = this.toGrafana,
+                      s = this.changePassword,
+                      c = o.b.loginHint,
+                      u = o.b.passwordHint,
+                      f = o.b.disableLoginForm,
+                      d = o.b.ldapEnabled,
+                      p = o.b.authProxyEnabled,
+                      h = o.b.disableUserSignUp;
+                    return a.a.createElement(
+                      a.a.Fragment,
+                      null,
+                      e({
+                        isOauthEnabled:
+                          !!o.b.oauth && Object.keys(o.b.oauth).length > 0,
+                        loginHint: c,
+                        passwordHint: u,
+                        disableLoginForm: f,
+                        ldapEnabled: d,
+                        authProxyEnabled: p,
+                        disableUserSignUp: h,
+                        login: i,
+                        isLoggingIn: n,
+                        changePassword: s,
+                        skipPasswordChange: l,
+                        isChangingPassword: r,
+                      })
+                    );
+                  },
+                },
+              ]) && p(n.prototype, r),
+              i && p(n, i),
+              t
+            );
+          })(r.PureComponent),
+          v = { updateLocation: i.c };
+        t.a = Object(c.hot)(e)(
+          Object(l.connect)(function (e) {
+            return { routeParams: e.location.routeParams };
+          }, v)(b)
+        );
+      }.call(this, n("3UD+")(e)));
+    },
+    LUja: function (e, t) {},
+    Lmi3: function (e, t) {
+      var n = "public/app/plugins/panel/graph/tab_display.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=editor-row>\n  <div class="section gf-form-group">\n    <h5 class=section-heading>Draw Modes</h5>\n    <gf-form-switch class=gf-form label=Bars label-class=width-5 checked=ctrl.panel.bars on-change=ctrl.render()></gf-form-switch>\n    <gf-form-switch class=gf-form label=Lines label-class=width-5 checked=ctrl.panel.lines on-change=ctrl.render()></gf-form-switch>\n    <gf-form-switch class=gf-form label=Points label-class=width-5 checked=ctrl.panel.points on-change=ctrl.render()></gf-form-switch>\n  </div>\n  <div class="section gf-form-group">\n    <h5 class=section-heading>Time Range</h5>\n    <gf-form-switch class=gf-form label=Show label-class=width-5 checked=ctrl.panel.timeRange on-change=ctrl.render()></gf-form-switch>\n  </div>\n  <div class="section gf-form-group">\n    <h5 class=section-heading>Mode Options</h5>\n    <div class=gf-form>\n      <label class="gf-form-label width-8">Fill</label>\n      <div class="gf-form-select-wrapper max-width-5">\n        <select class=gf-form-input ng-model=ctrl.panel.fill ng-options="f for f in [0,1,2,3,4,5,6,7,8,9,10]" ng-change=ctrl.render() ng-disabled=!ctrl.panel.lines></select>\n      </div>\n    </div>\n    <div class=gf-form ng-if="ctrl.panel.lines && ctrl.panel.fill">\n      <label class="gf-form-label width-8">Fill Gradient</label>\n      <div class="gf-form-select-wrapper max-width-5">\n        <select class=gf-form-input ng-model=ctrl.panel.fillGradient ng-options="f for f in [0,1,2,3,4,5,6,7,8,9,10]" ng-change=ctrl.render()></select>\n      </div>\n    </div>\n    <div class=gf-form>\n      <label class="gf-form-label width-8">Line Width</label>\n      <div class="gf-form-select-wrapper max-width-5">\n        <select class=gf-form-input ng-model=ctrl.panel.linewidth ng-options="f for f in [0,1,2,3,4,5,6,7,8,9,10]" ng-change=ctrl.render() ng-disabled=!ctrl.panel.lines></select>\n      </div>\n    </div>\n    <gf-form-switch ng-disabled=!ctrl.panel.lines class=gf-form label=Staircase label-class=width-8 checked=ctrl.panel.steppedLine on-change=ctrl.render()>\n    </gf-form-switch>\n    <div class=gf-form ng-if=ctrl.panel.points>\n      <label class="gf-form-label width-8">Point Radius</label>\n      <div class="gf-form-select-wrapper max-width-5">\n        <select class=gf-form-input ng-model=ctrl.panel.pointradius ng-options="f for f in [0.5,1,2,3,4,5,6,7,8,9,10]" ng-change=ctrl.render()></select>\n      </div>\n    </div>\n  </div>\n  <div class="section gf-form-group">\n    <h5 class=section-heading>Hover tooltip</h5>\n    <div class=gf-form>\n      <label class="gf-form-label width-9">Mode</label>\n      <div class="gf-form-select-wrapper max-width-8">\n        <select class=gf-form-input ng-model=ctrl.panel.tooltip.shared ng-options="f.value as f.text for f in [{text: \'All series\', value: true}, {text: \'Single\', value: false}]" ng-change=ctrl.render()></select>\n      </div>\n    </div>\n    <div class=gf-form>\n      <label class="gf-form-label width-9">Sort order</label>\n      <div class="gf-form-select-wrapper max-width-8">\n        <select class=gf-form-input ng-model=ctrl.panel.tooltip.sort ng-options="f.value as f.text for f in [{text: \'None\', value: 0}, {text: \'Increasing\', value: 1}, {text: \'Decreasing\', value: 2}]" ng-change=ctrl.render()></select>\n      </div>\n    </div>\n    <div class=gf-form ng-show=ctrl.panel.stack>\n      <label class="gf-form-label width-9">Stacked value</label>\n      <div class="gf-form-select-wrapper max-width-8">\n        <select class=gf-form-input ng-model=ctrl.panel.tooltip.value_type ng-options="f for f in [\'cumulative\',\'individual\']" ng-change=ctrl.render()></select>\n      </div>\n    </div>\n  </div>\n\n  <div class="section gf-form-group">\n    <h5 class=section-heading>Stacking & Null value</h5>\n    <gf-form-switch class=gf-form label=Stack label-class=width-7 checked=ctrl.panel.stack on-change=ctrl.render()>\n    </gf-form-switch>\n    <gf-form-switch class=gf-form ng-show=ctrl.panel.stack label=Percent label-class=width-7 checked=ctrl.panel.percentage on-change=ctrl.render()>\n    </gf-form-switch>\n    <div class=gf-form>\n      <label class="gf-form-label width-7">Null value</label>\n      <div class=gf-form-select-wrapper>\n        <select class="gf-form-input max-width-9" ng-model=ctrl.panel.nullPointMode ng-options="f for f in [\'connected\', \'null\', \'null as zero\']" ng-change=ctrl.render()></select>\n      </div>\n    </div>\n  </div>\n</div>\n\n<div>\n  <div class=gf-form-inline ng-repeat="override in ctrl.panel.seriesOverrides" ng-controller=SeriesOverridesCtrl>\n    <div class=gf-form>\n      <label class=gf-form-label>alias or regex</label>\n    </div>\n    <div class="gf-form width-15">\n      <input type=text ng-model=override.alias bs-typeahead=getSeriesNames ng-blur=ctrl.render() data-min-length=0 data-items=100 class="gf-form-input width-15"/>\n    </div>\n    <div class=gf-form ng-repeat="option in currentOverrides">\n      <label class=gf-form-label>\n        <i class="pointer fa fa-remove" ng-click=removeOverride(option)></i>\n        <span ng-show="option.propertyName === \'color\'">\n          Color: <i class="fa fa-circle" ng-style={color:option.value}></i>\n        </span>\n        <span ng-show="option.propertyName !== \'color\'"> {{ option.name }}: {{ option.value }} </span>\n      </label>\n    </div>\n\n    <div class=gf-form>\n      <span class=dropdown dropdown-typeahead2=overrideMenu dropdown-typeahead-on-select="setOverride($item, $subItem)" button-template-class=gf-form-label>\n      </span>\n    </div>\n\n    <div class="gf-form gf-form--grow">\n      <div class="gf-form-label gf-form-label--grow"></div>\n    </div>\n\n    <div class=gf-form>\n      <label class=gf-form-label>\n        <i class="fa fa-trash pointer" ng-click=ctrl.removeSeriesOverride(override)></i>\n      </label>\n    </div>\n  </div>\n  <div class=gf-form-button-row>\n    <button class="btn btn-inverse" ng-click=ctrl.addSeriesOverride()>\n      <i class="fa fa-plus"></i>&nbsp;Add series override<tip>Regex match example: /server[0-3]/i </tip>\n    </button>\n  </div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    Lrfw: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return d;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("lonE");
+      function i(e) {
+        return (i =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function l(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function s(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function c(e, t) {
+        return !t || ("object" !== i(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function u(e) {
+        return (u = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function f(e, t) {
+        return (f =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var d = (function (e) {
+        function t() {
+          return l(this, t), c(this, u(t).apply(this, arguments));
+        }
+        var n, r, i;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && f(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                return a.a.createElement(o.a, this.props);
+              },
+            },
+          ]) && s(n.prototype, r),
+          i && s(n, i),
+          t
+        );
+      })(a.a.PureComponent);
+    },
+    LzXI: function (e, t, n) {
+      "use strict";
+      n.r(t);
+      var r = n("AVRW"),
+        a = n("LvDl"),
+        o = n.n(a),
+        i = n("+JUD"),
+        l = n("Obii"),
+        s = n("GQ3c");
+      function c(e) {
+        return (c =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function u(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function f(e) {
+        return (f = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function d(e) {
+        if (void 0 === e)
+          throw new ReferenceError(
+            "this hasn't been initialised - super() hasn't been called"
+          );
+        return e;
+      }
+      function p(e, t) {
+        return (p =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var h = (function (e) {
+          function t(e, n) {
+            var r, a, o;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              (a = this),
+              (o = f(t).call(this, e, n)),
+              ((r =
+                !o || ("object" !== c(o) && "function" != typeof o)
+                  ? d(a)
+                  : o).useDataFrames = !1),
+              (r.panelDataObserver = {
+                next: function (e) {
+                  if (
+                    (e.state === l.LoadingState.Error &&
+                      ((r.loading = !1), r.processDataError(e.error)),
+                    e.state === l.LoadingState.Loading)
+                  )
+                    return (r.loading = !0), void r.angularDirtyCheck();
+                  if (e.request) {
+                    var t = e.request.timeInfo;
+                    t && (r.timeInfo = t);
+                  }
+                  if ((e.timeRange && (r.range = e.timeRange), r.useDataFrames))
+                    r.handleDataFrames(e.series);
+                  else {
+                    var n = e.series.map(function (e) {
+                      return Object(l.toLegacyResponseData)(e);
+                    });
+                    r.handleQueryResult({ data: n });
+                  }
+                  r.angularDirtyCheck();
+                },
+              }),
+              (r.contextSrv = n.get("contextSrv")),
+              (r.datasourceSrv = n.get("datasourceSrv")),
+              (r.timeSrv = n.get("timeSrv")),
+              (r.templateSrv = n.get("templateSrv")),
+              (r.scope = e),
+              (r.panel.datasource = r.panel.datasource || null),
+              r.events.on(
+                l.PanelEvents.refresh,
+                r.onMetricsPanelRefresh.bind(d(r))
+              ),
+              r.events.on(
+                l.PanelEvents.panelTeardown,
+                r.onPanelTearDown.bind(d(r))
+              ),
+              r.events.on(
+                l.PanelEvents.componentDidMount,
+                r.onMetricsPanelMounted.bind(d(r))
+              ),
+              r
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && p(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "onMetricsPanelMounted",
+                value: function () {
+                  var e = this.panel.getQueryRunner();
+                  this.querySubscription = e
+                    .getData()
+                    .subscribe(this.panelDataObserver);
+                },
+              },
+              {
+                key: "onPanelTearDown",
+                value: function () {
+                  this.querySubscription &&
+                    (this.querySubscription.unsubscribe(),
+                    (this.querySubscription = null));
+                },
+              },
+              {
+                key: "onMetricsPanelRefresh",
+                value: function () {
+                  var e = this;
+                  if (!this.otherPanelInFullscreenMode()) {
+                    if (this.panel.snapshotData) {
+                      this.updateTimeRange();
+                      var t = this.panel.snapshotData;
+                      return (
+                        o.a.isArray(t) || (t = t.data),
+                        this.$timeout(function () {
+                          e.events.emit(l.PanelEvents.dataSnapshotLoad, t);
+                        })
+                      );
+                    }
+                    return (
+                      delete this.error,
+                      (this.loading = !0),
+                      this.datasourceSrv
+                        .get(this.panel.datasource, this.panel.scopedVars)
+                        .then(this.updateTimeRange.bind(this))
+                        .then(this.issueQueries.bind(this))
+                        .catch(function (t) {
+                          e.processDataError(t);
+                        })
+                    );
+                  }
+                },
+              },
+              {
+                key: "processDataError",
+                value: function (e) {
+                  e.cancelled
+                    ? console.log("Panel request cancelled", e)
+                    : ((this.error = e.message || "Request Error"),
+                      e.data &&
+                        (e.data.message
+                          ? (this.error = e.data.message)
+                          : e.data.error && (this.error = e.data.error)),
+                      this.angularDirtyCheck());
+                },
+              },
+              {
+                key: "angularDirtyCheck",
+                value: function () {
+                  this.$scope.$root.$$phase || this.$scope.$digest();
+                },
+              },
+              {
+                key: "updateTimeRange",
+                value: function (e) {
+                  (this.datasource = e || this.datasource),
+                    (this.range = this.timeSrv.timeRange());
+                  var t = Object(i.a)(this.panel, this.range);
+                  return (
+                    (this.timeInfo = t.timeInfo),
+                    (this.range = t.timeRange),
+                    this.datasource
+                  );
+                },
+              },
+              {
+                key: "issueQueries",
+                value: function (e) {
+                  this.datasource = e;
+                  var t = this.panel;
+                  return t.getQueryRunner().run({
+                    datasource: t.datasource,
+                    queries: t.targets,
+                    panelId: t.id,
+                    dashboardId: this.dashboard.id,
+                    timezone: this.dashboard.timezone,
+                    timeInfo: this.timeInfo,
+                    timeRange: this.range,
+                    widthPixels: this.width,
+                    maxDataPoints: t.maxDataPoints,
+                    minInterval: t.interval,
+                    scopedVars: t.scopedVars,
+                    cacheTimeout: t.cacheTimeout,
+                    transformations: t.transformations,
+                  });
+                },
+              },
+              {
+                key: "handleDataFrames",
+                value: function (e) {
+                  (this.loading = !1),
+                    this.dashboard &&
+                      this.dashboard.snapshot &&
+                      (this.panel.snapshotData = e.map(function (e) {
+                        return Object(l.toDataFrameDTO)(e);
+                      }));
+                  try {
+                    this.events.emit(s.CoreEvents.dataFramesReceived, e);
+                  } catch (e) {
+                    this.processDataError(e);
+                  }
+                },
+              },
+              {
+                key: "handleQueryResult",
+                value: function (e) {
+                  (this.loading = !1),
+                    this.dashboard.snapshot &&
+                      (this.panel.snapshotData = e.data),
+                    (e && e.data) ||
+                      (console.log(
+                        "Data source query result invalid, missing data field:",
+                        e
+                      ),
+                      (e = { data: [] }));
+                  try {
+                    this.events.emit(l.PanelEvents.dataReceived, e.data);
+                  } catch (e) {
+                    this.processDataError(e);
+                  }
+                },
+              },
+            ]) && u(n.prototype, r),
+            a && u(n, a),
+            t
+          );
+        })(r.a),
+        m = n("fQqI"),
+        g = n("eK0o"),
+        b = n("t8hP");
+      n.d(t, "PanelCtrl", function () {
+        return r.a;
+      }),
+        n.d(t, "MetricsPanelCtrl", function () {
+          return h;
+        }),
+        n.d(t, "QueryCtrl", function () {
+          return m.a;
+        }),
+        n.d(t, "alertTab", function () {
+          return g.a;
+        }),
+        n.d(t, "loadPluginCss", function () {
+          return b.loadPluginCss;
+        });
+    },
+    LzuI: function (e, t) {
+      var n =
+        "public/app/plugins/datasource/elasticsearch/partials/annotations.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=gf-form-group>\n\t<div class=gf-form ng-if=ctrl.annotation.index>\n\t\t<span class="gf-form-label width-14">Index name</span>\n\t\t<input type=text class="gf-form-input max-width-20" ng-model=ctrl.annotation.index placeholder=events-*>\n\t</div>\n\t<div class=gf-form-group>\n\t\t<div class=gf-form>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.annotation.query placeholder="Elasticsearch lucene query">\n\t\t</div>\n\t</div>\n</div>\n\n<div class=gf-form-group>\n\t<h6>Field mappings</h6>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class=gf-form-label>Time</span>\n\t\t\t<input type=text class="gf-form-input max-width-14" ng-model=ctrl.annotation.timeField placeholder=@timestamp>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class=gf-form-label>Time End</span>\n\t\t\t<input type=text class="gf-form-input max-width-14" ng-model=ctrl.annotation.timeEndField placeholder="">\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class=gf-form-label>Text</span>\n\t\t\t<input type=text class="gf-form-input max-width-14" ng-model=ctrl.annotation.textField placeholder="">\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class=gf-form-label>Tags</span>\n\t\t\t<input type=text class="gf-form-input max-width-10" ng-model=ctrl.annotation.tagsField placeholder=tags>\n\t\t</div>\n\t\t<div class=gf-form ng-show=ctrl.annotation.titleField>\n\t\t\t<span class=gf-form-label>Title <em class=muted>(deprecated)</em></span>\n\t\t\t<input type=text class="gf-form-input max-width-16" ng-model=ctrl.annotation.titleField placeholder=desc>\n\t\t</div>\n\t</div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "M/8g": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return b;
+      }),
+        n.d(t, "b", function () {
+          return w;
+        }),
+        n.d(t, "d", function () {
+          return O;
+        }),
+        n.d(t, "e", function () {
+          return k;
+        }),
+        n.d(t, "c", function () {
+          return j;
+        });
+      var r = n("j1EC"),
+        a = n.n(r),
+        o = n("4qJB"),
+        i = n("Yyu/"),
+        l = n("+CPp"),
+        s = n("Y8cN"),
+        c = n("3SGO"),
+        u = n("mpro"),
+        f = n("buVq");
+      function d(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function p(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? d(Object(n), !0).forEach(function (t) {
+                h(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : d(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function h(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function m(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function g(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              m(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              m(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      var b = function (e) {
+          return function (t, n) {
+            for (var r = 0, a = 0; a < e.length; a++) {
+              var o = e[a];
+              l.a.contains(o.type) &&
+                t(
+                  Object(u.b)(
+                    Object(f.h)(o, { global: !1, index: r++, model: o })
+                  )
+                );
+            }
+            for (var s = 0; s < Object(i.d)(n()).length; s++)
+              t(Object(u.a)(Object(f.h)(Object(i.d)(n())[s])));
+          };
+        },
+        v = (function () {
+          var e = g(
+            regeneratorRuntime.mark(function e(t, n) {
+              var r, a, o, s, c, u, f;
+              return regeneratorRuntime.wrap(
+                function (e) {
+                  for (;;)
+                    switch ((e.prev = e.next)) {
+                      case 0:
+                        (r = []),
+                          (a = !0),
+                          (o = !1),
+                          (s = void 0),
+                          (e.prev = 4),
+                          (c = Object(i.d)(n)[Symbol.iterator]());
+                      case 6:
+                        if ((a = (u = c.next()).done)) {
+                          e.next = 14;
+                          break;
+                        }
+                        if (((f = u.value), t !== f)) {
+                          e.next = 10;
+                          break;
+                        }
+                        return e.abrupt("continue", 11);
+                      case 10:
+                        l.a.contains(t.type) &&
+                          l.a.get(t.type).dependsOn(t, f) &&
+                          r.push(f.initLock.promise);
+                      case 11:
+                        (a = !0), (e.next = 6);
+                        break;
+                      case 14:
+                        e.next = 20;
+                        break;
+                      case 16:
+                        (e.prev = 16),
+                          (e.t0 = e.catch(4)),
+                          (o = !0),
+                          (s = e.t0);
+                      case 20:
+                        (e.prev = 20),
+                          (e.prev = 21),
+                          a || null == c.return || c.return();
+                      case 23:
+                        if (((e.prev = 23), !o)) {
+                          e.next = 26;
+                          break;
+                        }
+                        throw s;
+                      case 26:
+                        return e.finish(23);
+                      case 27:
+                        return e.finish(20);
+                      case 28:
+                        return (e.next = 30), Promise.all(r);
+                      case 30:
+                      case "end":
+                        return e.stop();
+                    }
+                },
+                e,
+                null,
+                [
+                  [4, 16, 20, 28],
+                  [21, , 23, 27],
+                ]
+              );
+            })
+          );
+          return function (t, n) {
+            return e.apply(this, arguments);
+          };
+        })(),
+        y = function (e, t) {
+          return (function () {
+            var n = g(
+              regeneratorRuntime.mark(function n(r, a) {
+                var s, c, d;
+                return regeneratorRuntime.wrap(function (n) {
+                  for (;;)
+                    switch ((n.prev = n.next)) {
+                      case 0:
+                        return (
+                          (s = Object(i.a)(e.uuid, a())),
+                          (n.next = 3),
+                          v(s, a())
+                        );
+                      case 3:
+                        if (void 0 === (c = t["var-" + s.name])) {
+                          n.next = 10;
+                          break;
+                        }
+                        return (
+                          (n.next = 7),
+                          l.a.get(s.type).setValueFromUrl(s, null != c ? c : "")
+                        );
+                      case 7:
+                        return (n.next = 9), r(Object(u.i)(Object(f.h)(s)));
+                      case 9:
+                        return n.abrupt("return");
+                      case 10:
+                        if (!s.hasOwnProperty("refresh")) {
+                          n.next = 18;
+                          break;
+                        }
+                        if (
+                          (d = s).refresh !== o.b.onDashboardLoad &&
+                          d.refresh !== o.b.onTimeRangeChanged
+                        ) {
+                          n.next = 18;
+                          break;
+                        }
+                        return (n.next = 15), l.a.get(s.type).updateOptions(d);
+                      case 15:
+                        return (n.next = 17), r(Object(u.i)(Object(f.h)(s)));
+                      case 17:
+                        return n.abrupt("return");
+                      case 18:
+                        return (n.next = 20), r(Object(u.i)(Object(f.h)(s)));
+                      case 20:
+                      case "end":
+                        return n.stop();
+                    }
+                }, n);
+              })
+            );
+            return function (e, t) {
+              return n.apply(this, arguments);
+            };
+          })();
+        },
+        w = function () {
+          return (function () {
+            var e = g(
+              regeneratorRuntime.mark(function e(t, n) {
+                var r, a, o;
+                return regeneratorRuntime.wrap(function (e) {
+                  for (;;)
+                    switch ((e.prev = e.next)) {
+                      case 0:
+                        return (
+                          (r = n().location.query),
+                          (a = Object(i.d)(n()).map(
+                            (function () {
+                              var e = g(
+                                regeneratorRuntime.mark(function e(n) {
+                                  return regeneratorRuntime.wrap(function (e) {
+                                    for (;;)
+                                      switch ((e.prev = e.next)) {
+                                        case 0:
+                                          return (
+                                            (e.next = 2),
+                                            t(y(Object(f.g)(n), r))
+                                          );
+                                        case 2:
+                                          return e.abrupt("return", e.sent);
+                                        case 3:
+                                        case "end":
+                                          return e.stop();
+                                      }
+                                  }, e);
+                                })
+                              );
+                              return function (t) {
+                                return e.apply(this, arguments);
+                              };
+                            })()
+                          )),
+                          (e.next = 4),
+                          Promise.all(a)
+                        );
+                      case 4:
+                        o = 0;
+                      case 5:
+                        if (!(o < Object(i.d)(n()).length)) {
+                          e.next = 11;
+                          break;
+                        }
+                        return (
+                          (e.next = 8),
+                          t(Object(u.g)(Object(f.h)(Object(i.d)(n())[o])))
+                        );
+                      case 8:
+                        o++, (e.next = 5);
+                        break;
+                      case 11:
+                      case "end":
+                        return e.stop();
+                    }
+                }, e);
+              })
+            );
+            return function (t, n) {
+              return e.apply(this, arguments);
+            };
+          })();
+        },
+        O = function (e, t) {
+          return (function () {
+            var n = g(
+              regeneratorRuntime.mark(function n(r, s) {
+                var c, u, f, d, p;
+                return regeneratorRuntime.wrap(function (n) {
+                  for (;;)
+                    switch ((n.prev = n.next)) {
+                      case 0:
+                        if (
+                          !(c = Object(i.a)(e.uuid, s())).hasOwnProperty(
+                            "refresh"
+                          ) ||
+                          c.refresh === o.b.never
+                        ) {
+                          n.next = 4;
+                          break;
+                        }
+                        return (n.next = 4), l.a.get(c.type).updateOptions(c);
+                      case 4:
+                        if ((u = Object(i.a)(c.uuid, s()))) {
+                          n.next = 7;
+                          break;
+                        }
+                        throw new Error(
+                          "Couldn't find variable with name: ".concat(c.name)
+                        );
+                      case 7:
+                        return (
+                          (f = u.options.find(function (e) {
+                            return e.text === t || e.value === t;
+                          })) ||
+                            ((d = t),
+                            (p = t),
+                            Array.isArray(t) &&
+                              (d = t.reduce(function (e, t) {
+                                var n = u.options.find(function (e) {
+                                  return e.value === t;
+                                });
+                                return [].concat(e, n ? [n.text] : [t]);
+                              }, [])),
+                            (f = { text: d, value: p, selected: !1 })),
+                          u.hasOwnProperty("multi") &&
+                            (f = {
+                              text: a()(f.text),
+                              value: a()(f.value),
+                              selected: !1,
+                            }),
+                          (n.next = 12),
+                          l.a.get(c.type).setValue(u, f)
+                        );
+                      case 12:
+                      case "end":
+                        return n.stop();
+                    }
+                }, n);
+              })
+            );
+            return function (e, t) {
+              return n.apply(this, arguments);
+            };
+          })();
+        },
+        x = function (e) {
+          var t,
+            n,
+            r,
+            a,
+            o = [];
+          for (t = 0; t < e.options.length; t++)
+            if (
+              (((a = p({}, e.options[t])).selected = !1),
+              Array.isArray(e.current.value))
+            )
+              for (n = 0; n < e.current.value.length; n++)
+                (r = e.current.value[n]),
+                  a.value === r && ((a.selected = !0), o.push(a));
+            else a.value === e.current.value && ((a.selected = !0), o.push(a));
+          return o;
+        },
+        k = function (e, t) {
+          return (function () {
+            var n = g(
+              regeneratorRuntime.mark(function n(r, a) {
+                var o, s, c, u, f, d, p, h, m, g;
+                return regeneratorRuntime.wrap(function (n) {
+                  for (;;)
+                    switch ((n.prev = n.next)) {
+                      case 0:
+                        if (
+                          ((s = Object(i.a)(e.uuid, a())),
+                          (c = s.current || {}),
+                          (u = l.a.get(s.type).setValue),
+                          !Array.isArray(c.value))
+                        ) {
+                          n.next = 10;
+                          break;
+                        }
+                        if (0 !== (f = x(s)).length) {
+                          n.next = 8;
+                          break;
+                        }
+                        return (d = s.options[0]), n.abrupt("return", u(s, d));
+                      case 8:
+                        return (
+                          (p = {
+                            value: f.map(function (e) {
+                              return e.value;
+                            }),
+                            text: f.map(function (e) {
+                              return e.text;
+                            }),
+                            selected: !0,
+                          }),
+                          n.abrupt("return", u(s, p))
+                        );
+                      case 10:
+                        if (
+                          ((h = null),
+                          !(h =
+                            null === (o = s.options) || void 0 === o
+                              ? void 0
+                              : o.find(function (e) {
+                                  return e.text === c.text;
+                                })))
+                        ) {
+                          n.next = 14;
+                          break;
+                        }
+                        return n.abrupt("return", u(s, h));
+                      case 14:
+                        if (!t) {
+                          n.next = 18;
+                          break;
+                        }
+                        if (
+                          !(h =
+                            null === (m = s.options) || void 0 === m
+                              ? void 0
+                              : m.find(function (e) {
+                                  return e.text === t;
+                                }))
+                        ) {
+                          n.next = 18;
+                          break;
+                        }
+                        return n.abrupt("return", u(s, h));
+                      case 18:
+                        if (!s.options) {
+                          n.next = 21;
+                          break;
+                        }
+                        return (g = s.options[0]), n.abrupt("return", u(s, g));
+                      case 21:
+                        return n.abrupt("return", Promise.resolve());
+                      case 22:
+                      case "end":
+                        return n.stop();
+                    }
+                }, n);
+              })
+            );
+            return function (e, t) {
+              return n.apply(this, arguments);
+            };
+          })();
+        },
+        j = function (e, t, n) {
+          return (function () {
+            var r = g(
+              regeneratorRuntime.mark(function r(a) {
+                return regeneratorRuntime.wrap(function (r) {
+                  for (;;)
+                    switch ((r.prev = r.next)) {
+                      case 0:
+                        return (
+                          a(Object(u.j)(Object(f.h)(e, { option: t }))),
+                          r.abrupt("return", a(S(e, n)))
+                        );
+                      case 2:
+                      case "end":
+                        return r.stop();
+                    }
+                }, r);
+              })
+            );
+            return function (e) {
+              return r.apply(this, arguments);
+            };
+          })();
+        },
+        S = function (e, t) {
+          return function (n, r) {
+            var a = Object(i.a)(e.uuid, r());
+            if (a.initLock) return Promise.resolve();
+            var o = Object(i.d)(r()),
+              u = (function (e) {
+                var t = new s.a();
+                return (
+                  e.forEach(function (e) {
+                    t.createNode(e.name);
+                  }),
+                  e.forEach(function (n) {
+                    e.forEach(function (e) {
+                      n !== e &&
+                        l.a.get(n.type).dependsOn(n, e) &&
+                        t.link(n.name, e.name);
+                    });
+                  }),
+                  t
+                );
+              })(o).getNode(a.name),
+              f = [];
+            return (
+              u &&
+                (f = u.getOptimizedInputEdges().map(function (e) {
+                  var t = o.find(function (t) {
+                    return t.name === e.inputNode.name;
+                  });
+                  return t
+                    ? l.a.get(t.type).updateOptions(t)
+                    : Promise.resolve();
+                })),
+              Promise.all(f).then(function () {
+                if (t) {
+                  var e = r().dashboard.getModel();
+                  null == e || e.processRepeats(),
+                    n(Object(c.c)({ query: E(r) })),
+                    null == e || e.startRefresh();
+                }
+              })
+            );
+          };
+        },
+        E = function (e) {
+          var t = e().location.query,
+            n = Object.keys(t)
+              .filter(function (e) {
+                return -1 === e.indexOf("var-");
+              })
+              .reduce(function (e, n) {
+                return (e[n] = t[n]), e;
+              }, {}),
+            r = !0,
+            a = !1,
+            o = void 0;
+          try {
+            for (
+              var s, c = Object(i.d)(e())[Symbol.iterator]();
+              !(r = (s = c.next()).done);
+              r = !0
+            ) {
+              var u = s.value;
+              if (!u.skipUrlSync) {
+                var f = l.a.get(u.type);
+                n["var-" + u.name] = f.getValueForUrl(u);
+              }
+            }
+          } catch (e) {
+            (a = !0), (o = e);
+          } finally {
+            try {
+              r || null == c.return || c.return();
+            } finally {
+              if (a) throw o;
+            }
+          }
+          return n;
+        };
+    },
+    M76c: function (e, t) {
+      var n = "public/app/features/playlist/partials/playlists.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body">\n  <div ng-if="ctrl.playlists.length > 0">\n    <div class=page-action-bar>\n      <div class=page-action-bar__spacer></div>\n      <a class="btn btn-primary pull-right" href=playlists/create>\n        New playlist\n      </a>\n    </div>\n\n    <table class="filter-table filter-table--hover">\n      <thead>\n        <th><strong>Name</strong></th>\n        <th style=width:100px></th>\n        <th style=width:78px></th>\n      </thead>\n      <tr ng-repeat="playlist in ctrl.playlists">\n        <td class=link-td>\n          <a href=playlists/edit/{{playlist.id}}>{{playlist.name}}</a>\n        </td>\n        <td class=dropdown>\n          <button class="btn btn-inverse btn-small" data-toggle=dropdown>\n            Start playlist\n            <i class="fa fa-caret-down"></i>\n          </button>\n          <ul class=dropdown-menu role=menu>\n            <li>\n              <a href={{playlist.startUrl}}>\n                <i class="fa fa-play"></i> In Normal mode\n              </a>\n              <a href="{{playlist.startUrl}}?kiosk=tv">\n                <i class="fa fa-play"></i> In TV mode\n              </a>\n              <a href="{{playlist.startUrl}}?kiosk=tv&autofitpanels">\n                <i class="fa fa-play"></i> In TV mode <span class=muted>(with auto fit panels)</span>\n              </a>\n              <a href={{playlist.startUrl}}?kiosk>\n                <i class="fa fa-play"></i> In Kiosk mode\n              </a>\n              <a ng-href={{playlist.startUrl}}?kiosk&autofitpanels>\n                <i class="fa fa-play"></i> In Kiosk mode <span class=muted>(with auto fit panels)</span>\n              </a>\n            </li>\n          </ul>\n        </td>\n        <td class=text-right>\n          <a ng-click=ctrl.removePlaylist(playlist) class="btn btn-danger btn-small">\n            <i class="fa fa-remove"></i>\n          </a>\n        </td>\n      </tr>\n    </table>\n  </div>\n  <div ng-if="ctrl.playlists.length === 0">\n    <empty-list-cta title="\'There are no playlists created yet\'" buttonicon="\'fa fa-plus\'" buttonlink="\'playlists/create\'" buttontitle="\'Create Playlist\'" protip="\'You can use playlists to cycle dashboards on TVs without user control\'" protiplink="\'http://docs.grafana.org/reference/playlist/\'" protiplinktitle="\'Learn more\'" protiptarget="\'_blank\'"/>\n  </div>\n</div>\n\n<footer/>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    MAcC: function (e, t, n) {
+      "use strict";
+      var r = n("Obii"),
+        a = n("GkHB"),
+        o = n("t8hP"),
+        i = n("tLB3"),
+        l = n.n(i);
+      n.d(t, "a", function () {
+        return s;
+      }),
+        n.d(t, "c", function () {
+          return c;
+        }),
+        n.d(t, "b", function () {
+          return u;
+        });
+      var s = function (e) {
+          var t = e.field.links;
+          if (t && 0 !== t.length)
+            return {
+              getLinks: function (n) {
+                var i,
+                  s,
+                  c = {};
+                if (e.view) {
+                  var u = e.view.dataFrame;
+                  c.__series = {
+                    value: { name: u.name, refId: u.refId },
+                    text: "Series",
+                  };
+                  var f = void 0 !== e.colIndex ? u.fields[e.colIndex] : void 0;
+                  if (
+                    (f &&
+                      (console.log("Full Field Info:", f),
+                      (c.__field = {
+                        value: { name: f.name, labels: f.labels },
+                        text: "Field",
+                      })),
+                    isNaN(e.rowIndex))
+                  )
+                    c.__value = {
+                      value: {
+                        raw: e.display.numeric,
+                        numeric: e.display.numeric,
+                        text: Object(r.formattedValueToString)(e.display),
+                        calc: e.name,
+                      },
+                      text: "Value",
+                    };
+                  else {
+                    var d = Object(r.getTimeField)(u).timeField;
+                    (c.__value = {
+                      value: {
+                        raw: f.values.get(e.rowIndex),
+                        numeric: e.display.numeric,
+                        text: Object(r.formattedValueToString)(e.display),
+                        time: d ? d.values.get(e.rowIndex) : void 0,
+                      },
+                      text: "Value",
+                    }),
+                      e.view &&
+                        (c.__data = {
+                          value: {
+                            name: u.name,
+                            refId: u.refId,
+                            fields:
+                              ((i = u),
+                              (s = e.rowIndex),
+                              new Proxy(
+                                {},
+                                {
+                                  get: function (e, t) {
+                                    var n = i.fields.find(function (e) {
+                                      return t === e.name;
+                                    });
+                                    if (!n) {
+                                      var a = l()(t);
+                                      n = i.fields[a];
+                                    }
+                                    if (
+                                      (n ||
+                                        (n = i.fields.find(function (e) {
+                                          return t === e.config.title;
+                                        })),
+                                      n)
+                                    ) {
+                                      n.display ||
+                                        (n.display = Object(
+                                          r.getDisplayProcessor
+                                        )({ field: n, theme: o.config.theme }));
+                                      var c = n.values.get(s),
+                                        u = n.display(c);
+                                      return (
+                                        (u.toString = function () {
+                                          return Object(
+                                            r.formattedValueToString
+                                          )(u);
+                                        }),
+                                        u
+                                      );
+                                    }
+                                  },
+                                }
+                              )),
+                          },
+                          text: "Data",
+                        });
+                  }
+                } else console.log("VALUE", e);
+                return t.map(function (t) {
+                  return Object(a.c)().getDataLinkUIModel(t, c, e);
+                });
+              },
+            };
+        },
+        c = function (e) {
+          var t = e.links;
+          if (t && 0 !== t.length)
+            return {
+              getLinks: function () {
+                return t.map(function (t) {
+                  return Object(a.c)().getDataLinkUIModel(t, e.scopedVars, e);
+                });
+              },
+            };
+        },
+        u = function (e, t) {
+          var n = {};
+          return (
+            (n.__value = {
+              value: { raw: e.values.get(t) },
+              text: "Raw value",
+            }),
+            e.config.links
+              ? e.config.links.map(function (t) {
+                  return Object(a.c)().getDataLinkUIModel(t, n, e);
+                })
+              : []
+          );
+        };
+    },
+    MIBK: function (e, t, n) {
+      "use strict";
+      var r = {};
+      n.r(r),
+        n.d(r, "cardChrome", function () {
+          return s;
+        }),
+        n.d(r, "listItem", function () {
+          return c;
+        });
+      var a = n("Fts8"),
+        o = n("J4FA"),
+        i = n("eGKl"),
+        l = n("qQGB");
+      function s(e) {
+        return e.isDark
+          ? "\n       background: linear-gradient(135deg, "
+              .concat(e.colors.dark8, ", ")
+              .concat(
+                e.colors.dark6,
+                ");\n       &:hover {\n         background: linear-gradient(135deg, "
+              )
+              .concat(e.colors.dark9, ", ")
+              .concat(
+                e.colors.dark6,
+                ");\n       }\n       box-shadow: -1px -1px 0 0 hsla(0, 0%, 100%, 0.1), 1px 1px 0 0 rgba(0, 0, 0, 0.3);\n       border-radius: "
+              )
+              .concat(e.border.radius.md, ";\n    ")
+          : "\n       background: linear-gradient(135deg, "
+              .concat(e.colors.gray6, ", ")
+              .concat(
+                e.colors.gray7,
+                ");\n       &:hover {\n         background: linear-gradient(135deg, "
+              )
+              .concat(e.colors.gray7, ", ")
+              .concat(
+                e.colors.gray6,
+                ");\n       }\n       box-shadow: -1px -1px 0 0 hsla(0, 0%, 100%, 0.1), 1px 1px 0 0 rgba(0, 0, 0, 0.1);\n       border-radius: "
+              )
+              .concat(e.border.radius.md, ";\n    ");
+      }
+      function c(e) {
+        return e.isDark
+          ? "\n       background: "
+              .concat(
+                e.colors.dark7,
+                ";\n       &:hover {\n         background: "
+              )
+              .concat(
+                e.colors.dark9,
+                ";\n       }\n       box-shadow: -1px -1px 0 0 hsla(0, 0%, 100%, 0.1), 1px 1px 0 0 rgba(0, 0, 0, 0.3);\n       border-radius: "
+              )
+              .concat(e.border.radius.md, ";\n    ")
+          : "\n       background: "
+              .concat(
+                e.colors.gray7,
+                ";\n       &:hover {\n         background: "
+              )
+              .concat(
+                e.colors.gray6,
+                ";\n       }\n       box-shadow: -1px -1px 0 0 hsla(0, 0%, 100%, 0.1), 1px 1px 0 0 rgba(0, 0, 0, 0.1);\n       border-radius: "
+              )
+              .concat(e.border.radius.md, ";\n    ");
+      }
+      n.d(t, "g", function () {
+        return l.a;
+      }),
+        n.d(t, "a", function () {
+          return a.a;
+        }),
+        n.d(t, "i", function () {
+          return a.d;
+        }),
+        n.d(t, "c", function () {
+          return o.b;
+        }),
+        n.d(t, "b", function () {
+          return o.a;
+        }),
+        n.d(t, "e", function () {
+          return i.a;
+        }),
+        n.d(t, "h", function () {
+          return a.c;
+        }),
+        n.d(t, "d", function () {
+          return a.b;
+        }),
+        n.d(t, "f", function () {
+          return r;
+        });
+    },
+    MbqT: function (e, t, n) {
+      "use strict";
+      n.r(t);
+      var r = n("wK5K");
+      for (var a in r)
+        "default" !== a &&
+          (function (e) {
+            n.d(t, e, function () {
+              return r[e];
+            });
+          })(a);
+    },
+    N1Zo: function (e, t) {
+      var n = "public/app/plugins/panel/table/module.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '\n<div class=table-panel-container>\n\t<div class=table-panel-scroll ng-show=ctrl.table.rows.length>\n\t\t<table class=table-panel-table>\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th ng-repeat="col in ctrl.table.columns" ng-if=!col.hidden class="table-panel-table-header-inner table-panel-header-bg">\n\t\t\t\t\t\t<div class="table-panel-table-header-inner pointer" ng-click="ctrl.toggleColumnSort(col, $index)">\n\t\t\t\t\t\t\t{{col.title}}\n\t\t\t\t\t\t\t<span class=table-panel-table-header-controls ng-if=col.sort>\n\t\t\t\t\t\t\t\t<i class="fa fa-caret-down" ng-show=col.desc></i>\n\t\t\t\t\t\t\t\t<i class="fa fa-caret-up" ng-hide=col.desc></i>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t<tbody>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</div>\n<div class=datapoints-warning ng-show="ctrl.table.rows.length===0">\n\t<span class=small>\n\t\tNo data to show <tip>Nothing returned by data query</tip>\n\t</span>\n</div>\n<div class=table-panel-footer>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    "N9j+": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return d;
+      }),
+        n.d(t, "c", function () {
+          return p;
+        }),
+        n.d(t, "b", function () {
+          return h;
+        });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDDq"),
+        i = n("kDLi"),
+        l = n("AI1G"),
+        s = n("y+vE"),
+        c = n("e9GU"),
+        u = n("KODV");
+      function f() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })([
+          "\n              width: 100%;\n              justify-content: center;\n            ",
+        ]);
+        return (
+          (f = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      var d = function (e) {
+          var t = e.dashboard,
+            n = e.onSaveSuccess,
+            r = e.getDashboard,
+            l = e.useNewForms,
+            s = e.variant,
+            u = l ? i.Forms.Button : i.Button;
+          return a.a.createElement(i.ModalsController, null, function (e) {
+            var i = e.showModal,
+              l = e.hideModal;
+            return a.a.createElement(
+              u,
+              {
+                className: Object(o.css)(f()),
+                onClick: function () {
+                  i(c.a, {
+                    dashboard: r ? r() : t,
+                    onSaveSuccess: n,
+                    onDismiss: l,
+                  });
+                },
+                variant: s,
+              },
+              "Save As..."
+            );
+          });
+        },
+        p = Object(l.a)(
+          Object(s.a)(function (e) {
+            var t = e.dashboard,
+              n = e.onSaveSuccess,
+              r = e.getDashboard,
+              o = e.useNewForms ? i.Forms.Button : i.Button;
+            return a.a.createElement(i.ModalsController, null, function (e) {
+              var i = e.showModal,
+                l = e.hideModal;
+              return a.a.createElement(
+                o,
+                {
+                  onClick: function () {
+                    i(u.a, {
+                      dashboard: r ? r() : t,
+                      onSaveSuccess: n,
+                      onDismiss: l,
+                    });
+                  },
+                },
+                "Save dashboard"
+              );
+            });
+          })
+        ),
+        h = Object(l.a)(Object(s.a)(d));
+    },
+    NPB1: function (e, t, n) {
+      "use strict";
+      n.d(t, "b", function () {
+        return m;
+      }),
+        n.d(t, "a", function () {
+          return g;
+        });
+      var r = n("LvDl"),
+        a = n.n(r),
+        o = n("PbtU"),
+        i = n("txxJ"),
+        l = n("Obii"),
+        s = n("LCjV"),
+        c = n("HJRA"),
+        u = n("GQ3c"),
+        f = n("ZFWI");
+      function d(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var p,
+        h = (function () {
+          function e(t, n, r, a, o) {
+            var i = this;
+            !(function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, e),
+              (this.$timeout = n),
+              (this.$location = r),
+              (this.timer = a),
+              (this.contextSrv = o),
+              (this.time = l.DefaultTimeRange.raw),
+              c.a.on(u.CoreEvents.zoomOut, this.zoomOut.bind(this)),
+              c.a.on(u.CoreEvents.shiftTime, this.shiftTime.bind(this)),
+              t.$on("$routeUpdate", this.routeUpdated.bind(this)),
+              document.addEventListener("visibilitychange", function () {
+                i.autoRefreshBlocked &&
+                  "visible" === document.visibilityState &&
+                  ((i.autoRefreshBlocked = !1), i.refreshDashboard());
+              });
+          }
+          var t, n, r;
+          return (
+            (e.$inject = [
+              "$rootScope",
+              "$timeout",
+              "$location",
+              "timer",
+              "contextSrv",
+            ]),
+            (t = e),
+            (n = [
+              {
+                key: "init",
+                value: function (e) {
+                  this.timer.cancelAll(),
+                    (this.dashboard = e),
+                    (this.time = e.time),
+                    (this.refresh = e.refresh),
+                    this.initTimeFromUrl(),
+                    this.parseTime(),
+                    (this.timeAtLoad = a.a.cloneDeep(this.time)),
+                    this.refresh && this.setAutoRefresh(this.refresh);
+                },
+              },
+              {
+                key: "getValidIntervals",
+                value: function (e) {
+                  if (!this.contextSrv.minRefreshInterval) return e;
+                  var t = e
+                    .filter(function (e) {
+                      return "" !== e;
+                    })
+                    .filter(this.contextSrv.isAllowedInterval);
+                  return (
+                    -1 === t.indexOf(this.contextSrv.minRefreshInterval) &&
+                      t.unshift(this.contextSrv.minRefreshInterval),
+                    t
+                  );
+                },
+              },
+              {
+                key: "parseTime",
+                value: function () {
+                  a.a.isString(this.time.from) &&
+                    this.time.from.indexOf("Z") >= 0 &&
+                    (this.time.from = Object(l.dateTime)(this.time.from).utc()),
+                    a.a.isString(this.time.to) &&
+                      this.time.to.indexOf("Z") >= 0 &&
+                      (this.time.to = Object(l.dateTime)(this.time.to).utc());
+                },
+              },
+              {
+                key: "parseUrlParam",
+                value: function (e) {
+                  if (-1 !== e.indexOf("now")) return e;
+                  if (8 === e.length) {
+                    var t = Object(l.toUtc)(e, "YYYYMMDD");
+                    if (t.isValid()) return t;
+                  } else if (15 === e.length) {
+                    var n = Object(l.toUtc)(e, "YYYYMMDDTHHmmss");
+                    if (n.isValid()) return n;
+                  }
+                  if (!isNaN(e)) {
+                    var r = parseInt(e, 10);
+                    return Object(l.toUtc)(r);
+                  }
+                  return null;
+                },
+              },
+              {
+                key: "getTimeWindow",
+                value: function (e, t) {
+                  var n,
+                    r = parseInt(e, 10);
+                  return (
+                    (n =
+                      t.match(/^\d+$/) && parseInt(t, 10)
+                        ? parseInt(t, 10)
+                        : o.a.interval_to_ms(t)),
+                    {
+                      from: Object(l.toUtc)(r - n / 2),
+                      to: Object(l.toUtc)(r + n / 2),
+                    }
+                  );
+                },
+              },
+              {
+                key: "initTimeFromUrl",
+                value: function () {
+                  var e = this.$location.search();
+                  e.time &&
+                    e["time.window"] &&
+                    (this.time = this.getTimeWindow(e.time, e["time.window"])),
+                    e.from &&
+                      (this.time.from =
+                        this.parseUrlParam(e.from) || this.time.from),
+                    e.to &&
+                      (this.time.to = this.parseUrlParam(e.to) || this.time.to),
+                    e.to &&
+                      -1 === e.to.indexOf("now") &&
+                      ((this.refresh = !1), (this.dashboard.refresh = !1)),
+                    e.refresh &&
+                      (this.contextSrv.isAllowedInterval(e.refresh)
+                        ? (this.refresh = e.refresh || this.refresh)
+                        : (this.refresh = f.a.minRefreshInterval));
+                },
+              },
+              {
+                key: "routeUpdated",
+                value: function () {
+                  var e = this.$location.search();
+                  if (!e.left) {
+                    var t = this.timeRangeForUrl();
+                    e.from && e.to
+                      ? (e.from === t.from && e.to === t.to) ||
+                        (this.initTimeFromUrl(), this.setTime(this.time, !0))
+                      : this.timeHasChangedSinceLoad() &&
+                        this.setTime(this.timeAtLoad, !0);
+                  }
+                },
+              },
+              {
+                key: "timeHasChangedSinceLoad",
+                value: function () {
+                  return (
+                    this.timeAtLoad &&
+                    (this.timeAtLoad.from !== this.time.from ||
+                      this.timeAtLoad.to !== this.time.to)
+                  );
+                },
+              },
+              {
+                key: "setAutoRefresh",
+                value: function (e) {
+                  var t = this;
+                  if (
+                    ((this.dashboard.refresh = e), this.cancelNextRefresh(), e)
+                  ) {
+                    var n = this.contextSrv.getValidInterval(e),
+                      r = o.a.interval_to_ms(n);
+                    this.refreshTimer = this.timer.register(
+                      this.$timeout(function () {
+                        t.startNextRefreshTimer(r), t.refreshDashboard();
+                      }, r)
+                    );
+                  }
+                  this.$timeout(function () {
+                    var n = t.$location.search();
+                    e
+                      ? ((n.refresh = t.contextSrv.getValidInterval(e)),
+                        t.$location.search(n))
+                      : n.refresh && (delete n.refresh, t.$location.search(n));
+                  });
+                },
+              },
+              {
+                key: "refreshDashboard",
+                value: function () {
+                  this.dashboard.timeRangeUpdated(this.timeRange());
+                },
+              },
+              {
+                key: "startNextRefreshTimer",
+                value: function (e) {
+                  var t = this;
+                  this.cancelNextRefresh(),
+                    (this.refreshTimer = this.timer.register(
+                      this.$timeout(function () {
+                        t.startNextRefreshTimer(e),
+                          t.contextSrv.isGrafanaVisible()
+                            ? t.refreshDashboard()
+                            : (t.autoRefreshBlocked = !0);
+                      }, e)
+                    ));
+                },
+              },
+              {
+                key: "cancelNextRefresh",
+                value: function () {
+                  this.timer.cancel(this.refreshTimer);
+                },
+              },
+              {
+                key: "setTime",
+                value: function (e, t) {
+                  if (
+                    (a.a.extend(this.time, e),
+                    Object(l.isDateTime)(e.to)
+                      ? ((this.oldRefresh =
+                          this.dashboard.refresh || this.oldRefresh),
+                        this.setAutoRefresh(!1))
+                      : this.oldRefresh &&
+                        this.oldRefresh !== this.dashboard.refresh &&
+                        (this.setAutoRefresh(this.oldRefresh),
+                        (this.oldRefresh = null)),
+                    !0 !== t)
+                  ) {
+                    var n = this.timeRangeForUrl(),
+                      r = this.$location.search();
+                    (r.from = n.from), (r.to = n.to), this.$location.search(r);
+                  }
+                  this.$timeout(this.refreshDashboard.bind(this), 0);
+                },
+              },
+              {
+                key: "timeRangeForUrl",
+                value: function () {
+                  var e = this.timeRange().raw;
+                  return (
+                    Object(l.isDateTime)(e.from) &&
+                      (e.from = e.from.valueOf().toString()),
+                    Object(l.isDateTime)(e.to) &&
+                      (e.to = e.to.valueOf().toString()),
+                    e
+                  );
+                },
+              },
+              {
+                key: "timeRange",
+                value: function () {
+                  var e = {
+                      from: Object(l.isDateTime)(this.time.from)
+                        ? Object(l.dateTime)(this.time.from)
+                        : this.time.from,
+                      to: Object(l.isDateTime)(this.time.to)
+                        ? Object(l.dateTime)(this.time.to)
+                        : this.time.to,
+                    },
+                    t = this.dashboard ? this.dashboard.getTimezone() : void 0;
+                  return {
+                    from: l.dateMath.parse(e.from, !1, t),
+                    to: l.dateMath.parse(e.to, !0, t),
+                    raw: e,
+                  };
+                },
+              },
+              {
+                key: "zoomOut",
+                value: function (e) {
+                  var t = this.timeRange(),
+                    n = Object(s.b)(t, e),
+                    r = n.from,
+                    a = n.to;
+                  this.setTime({
+                    from: Object(l.toUtc)(r),
+                    to: Object(l.toUtc)(a),
+                  });
+                },
+              },
+              {
+                key: "shiftTime",
+                value: function (e) {
+                  var t = this.timeRange(),
+                    n = Object(s.a)(e, t),
+                    r = n.from,
+                    a = n.to;
+                  this.setTime({
+                    from: Object(l.toUtc)(r),
+                    to: Object(l.toUtc)(a),
+                  });
+                },
+              },
+            ]) && d(t.prototype, n),
+            r && d(t, r),
+            e
+          );
+        })();
+      function m(e) {
+        p = e;
+      }
+      function g() {
+        return p;
+      }
+      i.c.service("timeSrv", h);
+    },
+    NXk7: function (e, t, n) {
+      "use strict";
+      var r = n("K9Ia"),
+        a = n("XlPw"),
+        o = n("0/uQ"),
+        i = n("F/XL"),
+        l = n("p0ib"),
+        s = n("psW0"),
+        c = n("S1nX"),
+        u = n("VnD/"),
+        f = n("ZqrO"),
+        d = n("9Z1F"),
+        p = n("ny24"),
+        h = n("tNVB"),
+        m = n("67Y/"),
+        g = n("xMyE"),
+        b = n("JSc3"),
+        v = n("Obii"),
+        y = n("Xmxp"),
+        w = n("ZFWI"),
+        O = n("rd46"),
+        x = n("GQ3c"),
+        k = n("umNM"),
+        j = n("txxJ"),
+        S = n("3WX/"),
+        E = n.n(S),
+        C = function (e) {
+          return {
+            canParse: function (t) {
+              return (
+                ((null == t ? void 0 : t.method)
+                  ? null == t
+                    ? void 0
+                    : t.method.toLowerCase()
+                  : "") === e
+              );
+            },
+            parse: function (e) {
+              return e.get("content-type")
+                ? e
+                : (e.set("content-type", "application/json"), e);
+            },
+          };
+        },
+        P = [
+          C("post"),
+          C("put"),
+          {
+            canParse: function () {
+              return !0;
+            },
+            parse: function (e) {
+              return e.get("accept")
+                ? e
+                : (e.set("accept", "application/json, text/plain, */*"), e);
+            },
+          },
+        ],
+        T = function (e) {
+          var t = (null == e ? void 0 : e.headers)
+            ? new Headers(e.headers)
+            : new Headers();
+          return P.filter(function (t) {
+            return t.canParse(e);
+          }).reduce(function (e, t) {
+            return t.parse(e);
+          }, t);
+        },
+        D = function (e) {
+          if (!e) return !1;
+          var t = e.get("content-type");
+          return !(!t || "application/json" !== t.toLowerCase());
+        },
+        A = function (e, t) {
+          return e
+            ? e.data && "string" != typeof e.data
+              ? t
+                ? JSON.stringify(e.data)
+                : new URLSearchParams(e.data)
+              : e.data
+            : e;
+        };
+      var _,
+        N = function (e) {
+          var t,
+            n = E()(e.params, function (e) {
+              return void 0 === e || (e && 0 === e.length);
+            }),
+            r =
+              ((t = n),
+              Object.keys(t)
+                .map(function (e) {
+                  var n = t[e];
+                  return Array.isArray(n)
+                    ? n
+                        .map(function (t) {
+                          return ""
+                            .concat(encodeURIComponent(e), "=")
+                            .concat(encodeURIComponent(t));
+                        })
+                        .join("&")
+                    : ""
+                        .concat(encodeURIComponent(e), "=")
+                        .concat(encodeURIComponent(n));
+                })
+                .join("&"));
+          return e.params && r.length ? "".concat(e.url, "?").concat(r) : e.url;
+        };
+      function M(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function I(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? M(Object(n), !0).forEach(function (t) {
+                R(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : M(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function R(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function F(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function L(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              F(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              F(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function V(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      n.d(t, "a", function () {
+        return B;
+      }),
+        n.d(t, "b", function () {
+          return $;
+        }),
+        n.d(t, "c", function () {
+          return q;
+        }),
+        (function (e) {
+          (e[(e.request = 0)] = "request"),
+            (e[(e.dataSourceRequest = 1)] = "dataSourceRequest");
+        })(_ || (_ = {}));
+      var B = (function () {
+        function e(t) {
+          var n = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.inFlightRequests = new r.b()),
+            (this.HTTP_REQUEST_CANCELED = -1),
+            (this.dependencies = {
+              fromFetch: b.a,
+              appEvents: y.b,
+              contextSrv: k.a,
+              logout: function () {
+                window.location.href = w.b.appSubUrl + "/logout";
+              },
+            }),
+            (this.requestErrorHandler = function (e) {
+              var t;
+              if (!e.isHandled) {
+                var r =
+                  null !== (t = e.data) && void 0 !== t
+                    ? t
+                    : { message: "Unexpected error" };
+                if (
+                  ("string" == typeof r && (r = { message: r }),
+                  422 === e.status)
+                )
+                  throw (
+                    (n.dependencies.appEvents.emit(v.AppEvents.alertWarning, [
+                      "Validation failed",
+                      r.message,
+                    ]),
+                    r)
+                  );
+                if (r.message) {
+                  var a = "",
+                    o = r.message;
+                  o.length > 80 && ((a = o), (o = "Error")),
+                    n.dependencies.appEvents.emit(
+                      e.status < 500
+                        ? v.AppEvents.alertWarning
+                        : v.AppEvents.alertError,
+                      [o, a]
+                    );
+                }
+                throw r;
+              }
+            }),
+            (this.parseRequestOptions = function (e, t) {
+              var n;
+              if (
+                ((e.retry = null !== (n = e.retry) && void 0 !== n ? n : 0),
+                !e.url.match(/^http/))
+              ) {
+                var r;
+                if (t)
+                  (e.headers =
+                    null !== (r = e.headers) && void 0 !== r ? r : {}),
+                    (e.headers["X-Grafana-Org-Id"] = t);
+                e.url.startsWith("/") && (e.url = e.url.substring(1)),
+                  e.url.endsWith("/") && (e.url = e.url.slice(0, -1));
+              }
+              return e;
+            }),
+            (this.parseDataSourceRequestOptions = function (e, t, n) {
+              var r, a;
+              ((e.retry = null !== (r = e.retry) && void 0 !== r ? r : 0),
+              e.url.match(/^http/)) ||
+                (t &&
+                  ((e.headers = e.headers || {}),
+                  (e.headers["X-Grafana-Org-Id"] = t)),
+                e.url.startsWith("/") && (e.url = e.url.substring(1)),
+                (null === (a = e.headers) || void 0 === a
+                  ? void 0
+                  : a.Authorization) &&
+                  ((e.headers["X-DS-Authorization"] = e.headers.Authorization),
+                  delete e.headers.Authorization),
+                n && (e.headers["X-Grafana-NoCache"] = "true"));
+              return e;
+            }),
+            (this.getFromFetchStream = function (e) {
+              var t = N(e),
+                r = (function (e) {
+                  var t = e.method,
+                    n = T(e),
+                    r = D(n),
+                    a = A(e, r);
+                  return (null == e ? void 0 : e.withCredentials)
+                    ? { method: t, headers: n, body: a, credentials: "include" }
+                    : { method: t, headers: n, body: a };
+                })(e);
+              return n.dependencies.fromFetch(t, r).pipe(
+                Object(s.a)(
+                  (function () {
+                    var t = L(
+                      regeneratorRuntime.mark(function t(n) {
+                        var r, a, o, i, l, s, c, u, f, d;
+                        return regeneratorRuntime.wrap(function (t) {
+                          for (;;)
+                            switch ((t.prev = t.next)) {
+                              case 0:
+                                return (
+                                  (r = n.status),
+                                  (a = n.statusText),
+                                  (o = n.ok),
+                                  (i = n.headers),
+                                  (l = n.url),
+                                  (s = n.type),
+                                  (c = n.redirected),
+                                  (t.next = 3),
+                                  n.text()
+                                );
+                              case 3:
+                                u = t.sent;
+                                try {
+                                  f = JSON.parse(u);
+                                } catch (e) {
+                                  f = u;
+                                }
+                                return (
+                                  (d = {
+                                    status: r,
+                                    statusText: a,
+                                    ok: o,
+                                    data: f,
+                                    headers: i,
+                                    url: l,
+                                    type: s,
+                                    redirected: c,
+                                    config: e,
+                                  }),
+                                  t.abrupt("return", d)
+                                );
+                              case 7:
+                              case "end":
+                                return t.stop();
+                            }
+                        }, t);
+                      })
+                    );
+                    return function (e) {
+                      return t.apply(this, arguments);
+                    };
+                  })()
+                ),
+                Object(c.a)()
+              );
+            }),
+            (this.toFailureStream = function (e) {
+              return function (t) {
+                return t.pipe(
+                  Object(u.a)(function (e) {
+                    return !1 === e.ok;
+                  }),
+                  Object(s.a)(function (e) {
+                    var t = {
+                      status: e.status,
+                      statusText: e.statusText,
+                      data: e.data,
+                    };
+                    return Object(a.a)(t);
+                  }),
+                  Object(f.a)(function (t) {
+                    return t.pipe(
+                      Object(s.a)(function (t, r) {
+                        var i = 0 === r && 0 === e.retry;
+                        return 401 === t.status &&
+                          n.dependencies.contextSrv.user.isSignedIn &&
+                          i
+                          ? Object(o.a)(n.loginPing()).pipe(
+                              Object(d.a)(function (e) {
+                                return 401 === e.status
+                                  ? (n.dependencies.logout(), Object(a.a)(e))
+                                  : Object(a.a)(e);
+                              })
+                            )
+                          : Object(a.a)(t);
+                      })
+                    );
+                  })
+                );
+              };
+            }),
+            (this.toDataSourceRequestFailureStream = function (e) {
+              return function (t) {
+                return t.pipe(
+                  Object(u.a)(function (e) {
+                    return !1 === e.ok;
+                  }),
+                  Object(s.a)(function (e) {
+                    var t = {
+                      status: e.status,
+                      statusText: e.statusText,
+                      data: e.data,
+                    };
+                    return Object(a.a)(t);
+                  }),
+                  Object(f.a)(function (t) {
+                    return t.pipe(
+                      Object(s.a)(function (t, r) {
+                        var i = !e.url.match(/^http/),
+                          l = 0 === r && 0 === e.retry;
+                        return i && l && 401 === t.status
+                          ? Object(o.a)(n.loginPing()).pipe(
+                              Object(d.a)(function (e) {
+                                return 401 === e.status
+                                  ? (n.dependencies.logout(), Object(a.a)(e))
+                                  : Object(a.a)(e);
+                              })
+                            )
+                          : Object(a.a)(t);
+                      })
+                    );
+                  })
+                );
+              };
+            }),
+            (this.handleStreamCancellation = function (e, t) {
+              return function (r) {
+                return r.pipe(
+                  Object(p.a)(
+                    n.inFlightRequests.pipe(
+                      Object(u.a)(function (t) {
+                        var n = !1;
+                        return (
+                          e && e.requestId && e.requestId === t && (n = !0), n
+                        );
+                      })
+                    )
+                  ),
+                  Object(h.a)(function () {
+                    return { cancelled: !0 };
+                  }),
+                  Object(d.a)(function (r) {
+                    return r.cancelled
+                      ? t === _.dataSourceRequest
+                        ? Object(i.a)({
+                            data: [],
+                            status: n.HTTP_REQUEST_CANCELED,
+                            statusText: "Request was aborted",
+                            config: e,
+                          })
+                        : Object(i.a)([])
+                      : Object(a.a)(r);
+                  })
+                );
+              };
+            }),
+            t && (this.dependencies = I({}, this.dependencies, {}, t));
+        }
+        var t, n, j, S, E, C, P, M, R, F, B;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "get",
+              value:
+                ((B = L(
+                  regeneratorRuntime.mark(function e(t, n, r) {
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return (
+                                (e.next = 2),
+                                this.request({
+                                  method: "GET",
+                                  url: t,
+                                  params: n,
+                                  requestId: r,
+                                })
+                              );
+                            case 2:
+                              return e.abrupt("return", e.sent);
+                            case 3:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this
+                    );
+                  })
+                )),
+                function (e, t, n) {
+                  return B.apply(this, arguments);
+                }),
+            },
+            {
+              key: "delete",
+              value:
+                ((F = L(
+                  regeneratorRuntime.mark(function e(t) {
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return (
+                                (e.next = 2),
+                                this.request({ method: "DELETE", url: t })
+                              );
+                            case 2:
+                              return e.abrupt("return", e.sent);
+                            case 3:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this
+                    );
+                  })
+                )),
+                function (e) {
+                  return F.apply(this, arguments);
+                }),
+            },
+            {
+              key: "post",
+              value:
+                ((R = L(
+                  regeneratorRuntime.mark(function e(t, n) {
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return (
+                                (e.next = 2),
+                                this.request({
+                                  method: "POST",
+                                  url: t,
+                                  data: n,
+                                })
+                              );
+                            case 2:
+                              return e.abrupt("return", e.sent);
+                            case 3:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this
+                    );
+                  })
+                )),
+                function (e, t) {
+                  return R.apply(this, arguments);
+                }),
+            },
+            {
+              key: "patch",
+              value:
+                ((M = L(
+                  regeneratorRuntime.mark(function e(t, n) {
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return (
+                                (e.next = 2),
+                                this.request({
+                                  method: "PATCH",
+                                  url: t,
+                                  data: n,
+                                })
+                              );
+                            case 2:
+                              return e.abrupt("return", e.sent);
+                            case 3:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this
+                    );
+                  })
+                )),
+                function (e, t) {
+                  return M.apply(this, arguments);
+                }),
+            },
+            {
+              key: "put",
+              value:
+                ((P = L(
+                  regeneratorRuntime.mark(function e(t, n) {
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return (
+                                (e.next = 2),
+                                this.request({ method: "PUT", url: t, data: n })
+                              );
+                            case 2:
+                              return e.abrupt("return", e.sent);
+                            case 3:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this
+                    );
+                  })
+                )),
+                function (e, t) {
+                  return P.apply(this, arguments);
+                }),
+            },
+            {
+              key: "withNoBackendCache",
+              value: function (e) {
+                var t = this;
+                return (
+                  (this.noBackendCache = !0),
+                  e().finally(function () {
+                    t.noBackendCache = !1;
+                  })
+                );
+              },
+            },
+            {
+              key: "request",
+              value:
+                ((C = L(
+                  regeneratorRuntime.mark(function e(t) {
+                    var n,
+                      r,
+                      o,
+                      i,
+                      s = this;
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return (
+                                t.requestId &&
+                                  this.inFlightRequests.next(t.requestId),
+                                (t = this.parseRequestOptions(
+                                  t,
+                                  null ===
+                                    (n = this.dependencies.contextSrv.user) ||
+                                    void 0 === n
+                                    ? void 0
+                                    : n.orgId
+                                )),
+                                (r = this.getFromFetchStream(t)),
+                                (o = r.pipe(this.toFailureStream(t))),
+                                (i = r.pipe(
+                                  Object(u.a)(function (e) {
+                                    return !0 === e.ok;
+                                  }),
+                                  Object(m.a)(function (e) {
+                                    return e.data;
+                                  }),
+                                  Object(g.a)(function (e) {
+                                    "GET" !== t.method &&
+                                      (null == e ? void 0 : e.message) &&
+                                      !1 !== t.showSuccessAlert &&
+                                      s.dependencies.appEvents.emit(
+                                        v.AppEvents.alertSuccess,
+                                        [e.message]
+                                      );
+                                  })
+                                )),
+                                e.abrupt(
+                                  "return",
+                                  Object(l.a)(i, o)
+                                    .pipe(
+                                      Object(d.a)(function (e) {
+                                        return (
+                                          setTimeout(function () {
+                                            return s.requestErrorHandler(e);
+                                          }, 50),
+                                          Object(a.a)(e)
+                                        );
+                                      }),
+                                      this.handleStreamCancellation(
+                                        t,
+                                        _.request
+                                      )
+                                    )
+                                    .toPromise()
+                                )
+                              );
+                            case 6:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this
+                    );
+                  })
+                )),
+                function (e) {
+                  return C.apply(this, arguments);
+                }),
+            },
+            {
+              key: "resolveCancelerIfExists",
+              value: function (e) {
+                this.inFlightRequests.next(e);
+              },
+            },
+            {
+              key: "datasourceRequest",
+              value:
+                ((E = L(
+                  regeneratorRuntime.mark(function e(t) {
+                    var n,
+                      r,
+                      o,
+                      i,
+                      s = this;
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return (
+                                t.requestId &&
+                                  this.inFlightRequests.next(t.requestId),
+                                (t = this.parseDataSourceRequestOptions(
+                                  t,
+                                  null ===
+                                    (n = this.dependencies.contextSrv.user) ||
+                                    void 0 === n
+                                    ? void 0
+                                    : n.orgId,
+                                  this.noBackendCache
+                                )),
+                                (r = this.getFromFetchStream(t)),
+                                (o = r.pipe(
+                                  this.toDataSourceRequestFailureStream(t)
+                                )),
+                                (i = r.pipe(
+                                  Object(u.a)(function (e) {
+                                    return !0 === e.ok;
+                                  }),
+                                  Object(m.a)(function (e) {
+                                    return I({}, e);
+                                  }),
+                                  Object(g.a)(function (e) {
+                                    t.silent ||
+                                      s.dependencies.appEvents.emit(
+                                        x.CoreEvents.dsRequestResponse,
+                                        e
+                                      );
+                                  })
+                                )),
+                                e.abrupt(
+                                  "return",
+                                  Object(l.a)(i, o)
+                                    .pipe(
+                                      Object(d.a)(function (e) {
+                                        return (
+                                          "string" == typeof e.data &&
+                                            500 === e.status &&
+                                            (e.data = {
+                                              error: e.statusText,
+                                              response: e.data,
+                                            }),
+                                          e.data &&
+                                            !e.data.message &&
+                                            "string" == typeof e.data.error &&
+                                            (e.data.message = e.data.error),
+                                          t.silent ||
+                                            s.dependencies.appEvents.emit(
+                                              x.CoreEvents.dsRequestError,
+                                              e
+                                            ),
+                                          Object(a.a)(e)
+                                        );
+                                      }),
+                                      this.handleStreamCancellation(
+                                        t,
+                                        _.dataSourceRequest
+                                      )
+                                    )
+                                    .toPromise()
+                                )
+                              );
+                            case 6:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this
+                    );
+                  })
+                )),
+                function (e) {
+                  return E.apply(this, arguments);
+                }),
+            },
+            {
+              key: "loginPing",
+              value: function () {
+                return this.request({
+                  url: "/api/login/ping",
+                  method: "GET",
+                  retry: 1,
+                });
+              },
+            },
+            {
+              key: "search",
+              value: function (e) {
+                return this.get("/api/search", e);
+              },
+            },
+            {
+              key: "getDashboardBySlug",
+              value: function (e) {
+                return this.get("/api/dashboards/db/".concat(e));
+              },
+            },
+            {
+              key: "getDashboardByUid",
+              value: function (e) {
+                return this.get("/api/dashboards/uid/".concat(e));
+              },
+            },
+            {
+              key: "getFolderByUid",
+              value: function (e) {
+                return this.get("/api/folders/".concat(e));
+              },
+            },
+            {
+              key: "saveDashboard",
+              value: function (e) {
+                var t =
+                    arguments.length > 1 && void 0 !== arguments[1]
+                      ? arguments[1]
+                      : {},
+                  n = t.message,
+                  r = void 0 === n ? "" : n,
+                  a = t.folderId,
+                  o = t.overwrite,
+                  i = void 0 !== o && o;
+                return this.post("/api/dashboards/db/", {
+                  dashboard: e,
+                  folderId: a,
+                  overwrite: i,
+                  message: r,
+                });
+              },
+            },
+            {
+              key: "createFolder",
+              value: function (e) {
+                return this.post("/api/folders", e);
+              },
+            },
+            {
+              key: "deleteFolder",
+              value: function (e, t) {
+                return this.request({
+                  method: "DELETE",
+                  url: "/api/folders/".concat(e),
+                  showSuccessAlert: !0 === t,
+                });
+              },
+            },
+            {
+              key: "deleteDashboard",
+              value: function (e, t) {
+                return this.request({
+                  method: "DELETE",
+                  url: "/api/dashboards/uid/".concat(e),
+                  showSuccessAlert: !0 === t,
+                });
+              },
+            },
+            {
+              key: "deleteFoldersAndDashboards",
+              value: function (e, t) {
+                var n = [],
+                  r = !0,
+                  a = !1,
+                  o = void 0;
+                try {
+                  for (
+                    var i, l = e[Symbol.iterator]();
+                    !(r = (i = l.next()).done);
+                    r = !0
+                  ) {
+                    var s = i.value;
+                    n.push(
+                      this.createTask(this.deleteFolder.bind(this), !0, s, !0)
+                    );
+                  }
+                } catch (e) {
+                  (a = !0), (o = e);
+                } finally {
+                  try {
+                    r || null == l.return || l.return();
+                  } finally {
+                    if (a) throw o;
+                  }
+                }
+                var c = !0,
+                  u = !1,
+                  f = void 0;
+                try {
+                  for (
+                    var d, p = t[Symbol.iterator]();
+                    !(c = (d = p.next()).done);
+                    c = !0
+                  ) {
+                    var h = d.value;
+                    n.push(
+                      this.createTask(
+                        this.deleteDashboard.bind(this),
+                        !0,
+                        h,
+                        !0
+                      )
+                    );
+                  }
+                } catch (e) {
+                  (u = !0), (f = e);
+                } finally {
+                  try {
+                    c || null == p.return || p.return();
+                  } finally {
+                    if (u) throw f;
+                  }
+                }
+                return this.executeInOrder(n);
+              },
+            },
+            {
+              key: "moveDashboards",
+              value: function (e, t) {
+                var n = [],
+                  r = !0,
+                  a = !1,
+                  o = void 0;
+                try {
+                  for (
+                    var i, l = e[Symbol.iterator]();
+                    !(r = (i = l.next()).done);
+                    r = !0
+                  ) {
+                    var s = i.value;
+                    n.push(
+                      this.createTask(this.moveDashboard.bind(this), !0, s, t)
+                    );
+                  }
+                } catch (e) {
+                  (a = !0), (o = e);
+                } finally {
+                  try {
+                    r || null == l.return || l.return();
+                  } finally {
+                    if (a) throw o;
+                  }
+                }
+                return this.executeInOrder(n).then(function (e) {
+                  return {
+                    totalCount: e.length,
+                    successCount: e.filter(function (e) {
+                      return e.succeeded;
+                    }).length,
+                    alreadyInFolderCount: e.filter(function (e) {
+                      return e.alreadyInFolder;
+                    }).length,
+                  };
+                });
+              },
+            },
+            {
+              key: "moveDashboard",
+              value:
+                ((S = L(
+                  regeneratorRuntime.mark(function e(t, n) {
+                    var r, a, o, i, l;
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return (e.next = 2), this.getDashboardByUid(t);
+                            case 2:
+                              if (
+                                ((r = e.sent),
+                                (a = new O.a(r.dashboard, r.meta)),
+                                (r.meta.folderId || 0 !== n.id) &&
+                                  r.meta.folderId !== n.id)
+                              ) {
+                                e.next = 6;
+                                break;
+                              }
+                              return e.abrupt("return", {
+                                alreadyInFolder: !0,
+                              });
+                            case 6:
+                              return (
+                                (o = a.getSaveModelClone()),
+                                (i = { folderId: n.id, overwrite: !1 }),
+                                (e.prev = 8),
+                                (e.next = 11),
+                                this.saveDashboard(o, i)
+                              );
+                            case 11:
+                              return e.abrupt("return", { succeeded: !0 });
+                            case 14:
+                              if (
+                                ((e.prev = 14),
+                                (e.t0 = e.catch(8)),
+                                "plugin-dashboard" ===
+                                  (null === (l = e.t0.data) || void 0 === l
+                                    ? void 0
+                                    : l.status))
+                              ) {
+                                e.next = 18;
+                                break;
+                              }
+                              return e.abrupt("return", { succeeded: !1 });
+                            case 18:
+                              return (
+                                (e.t0.isHandled = !0),
+                                (i.overwrite = !0),
+                                (e.prev = 20),
+                                (e.next = 23),
+                                this.saveDashboard(o, i)
+                              );
+                            case 23:
+                              return e.abrupt("return", { succeeded: !0 });
+                            case 26:
+                              return (
+                                (e.prev = 26),
+                                (e.t1 = e.catch(20)),
+                                e.abrupt("return", { succeeded: !1 })
+                              );
+                            case 29:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this,
+                      [
+                        [8, 14],
+                        [20, 26],
+                      ]
+                    );
+                  })
+                )),
+                function (e, t) {
+                  return S.apply(this, arguments);
+                }),
+            },
+            {
+              key: "createTask",
+              value: function (e, t) {
+                for (
+                  var n = arguments.length,
+                    r = new Array(n > 2 ? n - 2 : 0),
+                    a = 2;
+                  a < n;
+                  a++
+                )
+                  r[a - 2] = arguments[a];
+                return (function () {
+                  var n = L(
+                    regeneratorRuntime.mark(function n(a) {
+                      var o;
+                      return regeneratorRuntime.wrap(
+                        function (n) {
+                          for (;;)
+                            switch ((n.prev = n.next)) {
+                              case 0:
+                                return (
+                                  (n.prev = 0), (n.next = 3), e.apply(void 0, r)
+                                );
+                              case 3:
+                                return (
+                                  (o = n.sent),
+                                  n.abrupt(
+                                    "return",
+                                    Array.prototype.concat(a, [o])
+                                  )
+                                );
+                              case 7:
+                                if (((n.prev = 7), (n.t0 = n.catch(0)), !t)) {
+                                  n.next = 11;
+                                  break;
+                                }
+                                return n.abrupt("return", a);
+                              case 11:
+                                throw n.t0;
+                              case 12:
+                              case "end":
+                                return n.stop();
+                            }
+                        },
+                        n,
+                        null,
+                        [[0, 7]]
+                      );
+                    })
+                  );
+                  return function (e) {
+                    return n.apply(this, arguments);
+                  };
+                })();
+              },
+            },
+            {
+              key: "executeInOrder",
+              value: function (e) {
+                return e.reduce(function (e, t) {
+                  return Promise.resolve(e).then(t);
+                }, []);
+              },
+            },
+          ]) && V(t.prototype, n),
+          j && V(t, j),
+          e
+        );
+      })();
+      j.b.factory("backendSrv", function () {
+        return $;
+      });
+      var $ = new B(),
+        q = function () {
+          return $;
+        };
+    },
+    NhjT: function (e, t) {
+      var n =
+        "public/app/plugins/datasource/elasticsearch/partials/bucket_agg.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=gf-form-inline>\n\t<div class=gf-form>\n\t\t<label class="gf-form-label query-keyword width-7">\n\t\t\t<span ng-show=isFirst>Group by</span>\n\t\t\t<span ng-hide=isFirst>Then by</span>\n\t\t</label>\n\n\t\t<gf-form-dropdown model=agg.type lookup-text=true get-options=getBucketAggTypes() on-change=onTypeChanged() allow-custom=false label-mode=true css-class=width-10>\n\t\t</gf-form-dropdown>\n\t\t<gf-form-dropdown ng-if=agg.field model=agg.field get-options=getFieldsInternal() on-change=onChange() allow-custom=false label-mode=true css-class=width-12>\n\t\t</gf-form-dropdown>\n\t</div>\n\n\t<div class="gf-form gf-form--grow">\n\t\t<label class="gf-form-label gf-form-label--grow">\n\t\t\t<a ng-click=toggleOptions()>\n\t\t\t\t<i class="fa fa-caret-down" ng-show=showOptions></i>\n\t\t\t\t<i class="fa fa-caret-right" ng-hide=showOptions></i>\n\t\t\t\t{{settingsLinkText}}\n\t\t\t</a>\n\t\t</label>\n\t</div>\n\n\t<div class=gf-form>\n\t\t<label class=gf-form-label ng-if=isFirst>\n\t\t\t<a class=pointer ng-click=addBucketAgg()><i class="fa fa-plus"></i></a>\n\t\t</label>\n\t\t<label class=gf-form-label ng-if="bucketAggCount > 1">\n\t\t\t<a class=pointer ng-click=removeBucketAgg()><i class="fa fa-minus"></i></a>\n\t\t</label>\n\t</div>\n</div>\n\n<div class=gf-form-group ng-if=showOptions>\n\t<div ng-if="agg.type === \'date_histogram\'">\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">Interval</label>\n\t\t\t<gf-form-dropdown model=agg.settings.interval get-options=getIntervalOptions() on-change=onChangeInternal() allow-custom=true label-mode=true css-class=width-12>\n\t\t\t</gf-form-dropdown>\n\t\t</div>\n\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">Min Doc Count</label>\n\t\t\t<input type=number class="gf-form-input max-width-12" ng-model=agg.settings.min_doc_count ng-blur=onChangeInternal()>\n\t\t</div>\n\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">\n\t\t\t\tTrim edges\n\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\tTrim the edges on the timeseries datapoints\n\t\t\t\t</info-popover>\n\t\t\t</label>\n\t\t\t<input class="gf-form-input max-width-12" type=number ng-model=agg.settings.trimEdges ng-change=onChangeInternal()>\n\t\t</div>\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">\n\t\t\t\tOffset\n\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\tChange the start value of each bucket by the specified positive (+) or negative offset (-) duration, such as 1h for an hour, or 1d for a day\n\t\t\t\t</info-popover>\n\t\t\t</label>\n\t\t\t<input class="gf-form-input max-width-12" type=text ng-model=agg.settings.offset ng-change=onChangeInternal()>\n\t\t</div>\n\n\t</div>\n\n\t<div ng-if="agg.type === \'histogram\'">\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">Interval</label>\n\t\t\t<input type=number class="gf-form-input max-width-12" ng-model=agg.settings.interval ng-blur=onChangeInternal()>\n\t\t</div>\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">Min Doc Count</label>\n\t\t\t<input type=number class="gf-form-input max-width-12" ng-model=agg.settings.min_doc_count ng-blur=onChangeInternal()>\n\t\t</div>\n\t</div>\n\n\t<div ng-if="agg.type === \'terms\'">\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">Order</label>\n\t\t\t<gf-form-dropdown model=agg.settings.order lookup-text=true get-options=getOrderOptions() on-change=onChangeInternal() label-mode=true css-class=width-12>\n\t\t\t</gf-form-dropdown>\n\t\t</div>\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">Size</label>\n\t\t\t<gf-form-dropdown model=agg.settings.size lookup-text=true get-options=getSizeOptions() on-change=onChangeInternal() label-mode=true allow-custom=true css-class=width-12>\n\t\t\t</gf-form-dropdown>\n\t\t</div>\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">Min Doc Count</label>\n\t\t\t<input type=number class="gf-form-input max-width-12" ng-model=agg.settings.min_doc_count ng-blur=onChangeInternal()>\n\t\t</div>\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">Order By</label>\n\t\t\t<gf-form-dropdown model=agg.settings.orderBy lookup-text=true get-options=getOrderByOptions() on-change=onChangeInternal() label-mode=true css-class=width-12>\n\t\t\t</gf-form-dropdown>\n\t\t</div>\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">\n\t\t\t\tMissing\n\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\tThe missing parameter defines how documents that are missing a value should be treated. By default they will be ignored but it is also possible to treat them as if they had a value\n\t\t\t\t</info-popover>\n\t\t\t</label>\n\t\t\t<input type=text class="gf-form-input max-width-12" empty-to-null ng-model=agg.settings.missing ng-blur=onChangeInternal() spellcheck=false>\n\t\t</div>\n\t</div>\n\n\t<div ng-if="agg.type === \'filters\'">\n\t\t<div class="gf-form-inline offset-width-7" ng-repeat="filter in agg.settings.filters">\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class="gf-form-label width-10">Query {{$index + 1}}</label>\n\t\t\t\t<input type=text class="gf-form-input max-width-12" ng-model=filter.query spellcheck=false placeholder="Lucene query" ng-blur=onChangeInternal()>\n\t\t\t\t<label class="gf-form-label width-10">Label {{$index + 1}}</label>\n\t\t\t\t<input type=text class="gf-form-input max-width-12" ng-model=filter.label spellcheck=false placeholder=Label ng-blur=onChangeInternal()>\n\t\t\t</div>\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class=gf-form-label ng-if=$first>\n\t\t\t\t\t<a class=pointer ng-click=addFiltersQuery()><i class="fa fa-plus"></i></a>\n\t\t\t\t</label>\n\t\t\t\t<label class=gf-form-label ng-if=!$first>\n\t\t\t\t\t<a class=pointer ng-click=removeFiltersQuery(filter)><i class="fa fa-minus"></i></a>\n\t\t\t\t</label>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div ng-if="agg.type === \'geohash_grid\'">\n\t\t<div class="gf-form offset-width-7">\n\t\t\t<label class="gf-form-label width-10">Precision</label>\n\t\t\t<input type=number class="gf-form-input max-width-12" ng-model=agg.settings.precision spellcheck=false placeholder=3 ng-blur=onChangeInternal()>\n\t\t</div>\n\t</div>\n\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    NnAq: function (e, t, n) {
+      "use strict";
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDDq"),
+        i = n("mNz5"),
+        l = n.n(i),
+        s = n("MIBK"),
+        c = n("4Qg+");
+      function u() {
+        var e = d([
+          "\n      display: inline-block;\n      position: relative;\n      font-size: ",
+          ";\n      min-height: ",
+          ";\n      color: ",
+          ";\n      padding: calc((",
+          " - ",
+          ") / 2) ",
+          " calc((",
+          " - ",
+          ") / 2)\n        ",
+          ";\n      line-height: 1;\n      margin-left: -1px;\n      border-radius: ",
+          ";\n      border: ",
+          ";\n      background: ",
+          ";\n      cursor: pointer;\n      z-index: 1;\n\n      user-select: none;\n\n      &:hover {\n        color: ",
+          ";\n        border: ",
+          ";\n        z-index: 2;\n      }\n    ",
+        ]);
+        return (
+          (u = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function f() {
+        var e = d([
+          "\n      position: absolute;\n      top: 0;\n      left: -100vw;\n      opacity: 0;\n      z-index: -1000;\n\n      &:checked + label {\n        border: ",
+          ";\n        color: ",
+          ";\n        text-shadow: ",
+          ";\n        background: ",
+          ";\n        z-index: 3;\n      }\n\n      &:focus + label {\n        ",
+          ";\n        z-index: 3;\n      }\n\n      &:disabled + label {\n        cursor: default;\n        background: ",
+          ";\n        color: ",
+          ";\n      }\n\n      &:enabled + label:hover {\n        text-shadow: ",
+          ";\n      }\n    ",
+        ]);
+        return (
+          (f = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function d(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var p = Object(s.g)(function (e, t) {
+          var n,
+            r = Object(c.c)(e, t),
+            a = r.fontSize,
+            i = r.height,
+            l = null !== (n = e.spacing[t]) && void 0 !== n ? n : e.spacing.md,
+            d = e.colors,
+            p = Object(s.e)({ light: d.gray33, dark: d.gray70 }, e.type),
+            h = Object(s.e)({ light: d.blueShade, dark: d.blueLight }, e.type),
+            m = Object(s.e)({ light: d.blueShade, dark: d.blueLight }, e.type),
+            g = Object(s.e)({ light: d.gray4, dark: d.gray25 }, e.type),
+            b = Object(s.e)({ light: d.gray70, dark: d.gray33 }, e.type),
+            v = Object(s.e)({ light: d.blueShade, dark: d.blueLight }, e.type),
+            y = Object(s.e)({ light: d.gray98, dark: d.gray10 }, e.type),
+            w = Object(s.e)({ light: d.gray95, dark: d.gray15 }, e.type),
+            O = Object(s.e)({ light: d.white, dark: d.gray05 }, e.type),
+            x = "1px solid ".concat(g),
+            k = "1px solid ".concat(v),
+            j = "1px solid ".concat(b),
+            S = "0 0 0.65px ".concat(h, ", 0 0 0.65px ").concat(h);
+          return {
+            radio: Object(o.css)(f(), k, m, S, O, Object(c.a)(e), w, p, S),
+            radioLabel: Object(o.css)(
+              u(),
+              a,
+              a,
+              p,
+              i,
+              a,
+              l,
+              i,
+              a,
+              l,
+              e.border.radius.sm,
+              x,
+              y,
+              h,
+              j
+            ),
+          };
+        }),
+        h = function (e) {
+          var t = e.children,
+            n = e.active,
+            r = void 0 !== n && n,
+            i = e.disabled,
+            l = void 0 !== i && i,
+            c = e.size,
+            u = void 0 === c ? "md" : c,
+            f = e.onChange,
+            d = e.id,
+            h = e.name,
+            m = void 0 === h ? void 0 : h,
+            g = Object(s.h)(),
+            b = p(g, u);
+          return a.a.createElement(
+            a.a.Fragment,
+            null,
+            a.a.createElement("input", {
+              type: "radio",
+              className: Object(o.cx)(b.radio),
+              onChange: f,
+              disabled: l,
+              id: d,
+              checked: r,
+              name: m,
+            }),
+            a.a.createElement(
+              "label",
+              { className: Object(o.cx)(b.radioLabel), htmlFor: d },
+              t
+            )
+          );
+        };
+      function m() {
+        var e = b([
+          "\n      display: flex;\n      flex-direction: row;\n      flex-wrap: nowrap;\n\n      label {\n        border-radius: 0px;\n\n        &:first-of-type {\n          border-radius: 2px 0px 0px 2px;\n        }\n\n        &:last-of-type {\n          border-radius: 0px 2px 2px 0px;\n        }\n      }\n    ",
+        ]);
+        return (
+          (m = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function g() {
+        var e = b([
+          "\n      display: flex;\n      flex-direction: row;\n      flex-wrap: nowrap;\n      position: relative;\n    ",
+        ]);
+        return (
+          (g = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function b(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      (h.displayName = "RadioButton"),
+        n.d(t, "a", function () {
+          return v;
+        });
+      function v(e) {
+        var t = e.options,
+          n = e.value,
+          i = e.onChange,
+          s = e.disabled,
+          c = e.disabledOptions,
+          u = e.size,
+          f = void 0 === u ? "md" : u,
+          d = Object(r.useCallback)(
+            function (e) {
+              return function () {
+                i && i(e.value);
+              };
+            },
+            [i]
+          ),
+          p = Object(r.useRef)(l()("radiogroup-")),
+          b = { wrapper: Object(o.css)(g()), radioGroup: Object(o.css)(m()) };
+        return a.a.createElement(
+          "div",
+          { className: b.radioGroup },
+          t.map(function (e) {
+            var t = c && e.value && c.includes(e.value);
+            return a.a.createElement(
+              h,
+              {
+                size: f,
+                disabled: t || s,
+                active: n === e.value,
+                key: e.label,
+                onChange: d(e),
+                id: "option-".concat(e.value),
+                name: p.current,
+              },
+              e.label
+            );
+          })
+        );
+      }
+      v.displayName = "RadioButtonGroup";
+    },
+    NoBN: function (e, t) {
+      var n = "public/app/plugins/panel/heatmap/module.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            "<div class=heatmap-wrapper>\n\t<div class=heatmap-canvas-wrapper>\n\n\t\t<div class=datapoints-warning ng-if=ctrl.dataWarning>\n\t\t\t<span class=small bs-tooltip=ctrl.dataWarning.tip>{{ctrl.dataWarning.title}}</span>\n\t\t</div>\n\n\t\t<div class=heatmap-panel ng-dblclick=ctrl.zoomOut()></div>\n\t</div>\n\t<div class=heatmap-legend-wrapper ng-if=ctrl.panel.legend.show>\n\t\t<heatmap-legend></heatmap-legend>\n\t</div>\n</div>\n<div class=clearfix></div>\n"
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    Nu4n: function (e, t) {
+      function n(e) {
+        var t = new Error("Cannot find module '" + e + "'");
+        throw ((t.code = "MODULE_NOT_FOUND"), t);
+      }
+      (n.keys = function () {
+        return [];
+      }),
+        (n.resolve = n),
+        (e.exports = n),
+        (n.id = "Nu4n");
+    },
+    O945: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return k;
+      }),
+        n.d(t, "b", function () {
+          return S;
+        });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("TSYQ"),
+        i = n.n(o),
+        l = n("LvDl"),
+        s = n.n(l),
+        c = n("WnbS"),
+        u = n("t8hP"),
+        f = n("NPB1"),
+        d = n("kDLi"),
+        p = n("Obii");
+      function h(e) {
+        return (h =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function m(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function g(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function b(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function v(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function y(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function w(e, t) {
+        return !t || ("object" !== h(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function O(e) {
+        return (O = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function x(e, t) {
+        return (x =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var k = (function (e) {
+          function t() {
+            var e, n;
+            v(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = w(
+                this,
+                (e = O(t)).call.apply(e, [this].concat(a))
+              )).element = null),
+              (n.angularQueryEditor = null),
+              (n.state = {
+                datasource: null,
+                isCollapsed: !1,
+                loadedDataSourceValue: void 0,
+                hasTextEditMode: !1,
+                data: null,
+              }),
+              (n.onToggleCollapse = function () {
+                n.setState({ isCollapsed: !n.state.isCollapsed });
+              }),
+              (n.onRunQuery = function () {
+                n.props.panel.refresh();
+              }),
+              (n.onToggleEditMode = function () {
+                n.angularScope &&
+                  n.angularScope.toggleEditorMode &&
+                  (n.angularScope.toggleEditorMode(),
+                  n.angularQueryEditor.digest()),
+                  n.state.isCollapsed && n.setState({ isCollapsed: !1 });
+              }),
+              (n.onRemoveQuery = function () {
+                n.props.onRemoveQuery(n.props.query);
+              }),
+              (n.onCopyQuery = function () {
+                var e = s.a.cloneDeep(n.props.query);
+                n.props.onAddQuery(e);
+              }),
+              (n.onDisableQuery = function () {
+                (n.props.query.hide = !n.props.query.hide),
+                  n.onRunQuery(),
+                  n.forceUpdate();
+              }),
+              n
+            );
+          }
+          var n, r, o, l, h;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && x(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value: function () {
+                  this.loadDatasource();
+                },
+              },
+              {
+                key: "componentWillUnmount",
+                value: function () {
+                  this.angularQueryEditor && this.angularQueryEditor.destroy();
+                },
+              },
+              {
+                key: "getAngularQueryComponentScope",
+                value: function () {
+                  var e = this.props,
+                    t = e.panel,
+                    n = e.query,
+                    r = e.dashboard;
+                  return {
+                    datasource: this.state.datasource,
+                    target: n,
+                    panel: t,
+                    dashboard: r,
+                    refresh: function () {
+                      return t.refresh();
+                    },
+                    render: function () {
+                      return t.render();
+                    },
+                    events: t.events,
+                    range: Object(f.a)().timeRange(),
+                  };
+                },
+              },
+              {
+                key: "loadDatasource",
+                value:
+                  ((l = regeneratorRuntime.mark(function e() {
+                    var t, n, r, a, o;
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return (
+                                (t = this.props),
+                                (n = t.query),
+                                (r = t.panel),
+                                (a = Object(c.a)()),
+                                (e.next = 4),
+                                a.get(n.datasource || r.datasource)
+                              );
+                            case 4:
+                              (o = e.sent),
+                                this.setState({
+                                  datasource: o,
+                                  loadedDataSourceValue: this.props
+                                    .dataSourceValue,
+                                  hasTextEditMode: s.a.has(
+                                    o,
+                                    "components.QueryCtrl.prototype.toggleEditorMode"
+                                  ),
+                                });
+                            case 6:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this
+                    );
+                  })),
+                  (h = function () {
+                    var e = this,
+                      t = arguments;
+                    return new Promise(function (n, r) {
+                      var a = l.apply(e, t);
+                      function o(e) {
+                        b(a, n, r, o, i, "next", e);
+                      }
+                      function i(e) {
+                        b(a, n, r, o, i, "throw", e);
+                      }
+                      o(void 0);
+                    });
+                  }),
+                  function () {
+                    return h.apply(this, arguments);
+                  }),
+              },
+              {
+                key: "componentDidUpdate",
+                value: function (e) {
+                  var t = this.state.loadedDataSourceValue,
+                    n = this.props,
+                    r = n.data,
+                    a = n.query,
+                    o = n.panel;
+                  if (
+                    (r !== e.data &&
+                      (this.setState({ data: S(r, a.refId) }),
+                      this.angularScope &&
+                        (this.angularScope.range = Object(f.a)().timeRange()),
+                      this.angularQueryEditor &&
+                        (function (e, t, n) {
+                          if (t !== j) {
+                            if (((j = t), t.state === p.LoadingState.Done)) {
+                              var r = t.series.map(function (e) {
+                                return Object(p.toLegacyResponseData)(e);
+                              });
+                              e.events.emit(p.PanelEvents.dataReceived, r);
+                            } else
+                              t.state === p.LoadingState.Error &&
+                                e.events.emit(p.PanelEvents.dataError, t.error);
+                            setTimeout(n.digest);
+                          }
+                        })(o, r, this.angularQueryEditor)),
+                    t !== this.props.dataSourceValue)
+                  )
+                    return (
+                      this.angularQueryEditor &&
+                        (this.angularQueryEditor.destroy(),
+                        (this.angularQueryEditor = null)),
+                      void this.loadDatasource()
+                    );
+                  if (this.element && !this.angularQueryEditor) {
+                    var i = Object(u.getAngularLoader)(),
+                      l = { ctrl: this.getAngularQueryComponentScope() };
+                    (this.angularQueryEditor = i.load(
+                      this.element,
+                      l,
+                      '<plugin-component type="query-ctrl" />'
+                    )),
+                      (this.angularScope = l.ctrl);
+                  }
+                },
+              },
+              {
+                key: "renderPluginEditor",
+                value: function () {
+                  var e = this,
+                    t = this.props,
+                    n = t.query,
+                    r = t.onChange,
+                    o = this.state,
+                    i = o.datasource,
+                    l = o.data;
+                  if (i.components.QueryCtrl)
+                    return a.a.createElement("div", {
+                      ref: function (t) {
+                        return (e.element = t);
+                      },
+                    });
+                  if (i.components.QueryEditor) {
+                    var s = i.components.QueryEditor;
+                    return a.a.createElement(s, {
+                      query: n,
+                      datasource: i,
+                      onChange: r,
+                      onRunQuery: this.onRunQuery,
+                      data: l,
+                    });
+                  }
+                  return a.a.createElement(
+                    "div",
+                    null,
+                    "Data source plugin does not export any Query Editor component"
+                  );
+                },
+              },
+              {
+                key: "renderCollapsedText",
+                value: function () {
+                  var e = this.state.datasource;
+                  return e.getQueryDisplayText
+                    ? e.getQueryDisplayText(this.props.query)
+                    : this.angularScope && this.angularScope.getCollapsedText
+                    ? this.angularScope.getCollapsedText()
+                    : null;
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this,
+                    t = this.props,
+                    n = t.query,
+                    r = t.inMixedMode,
+                    o = this.state,
+                    l = o.datasource,
+                    s = o.isCollapsed,
+                    c = o.hasTextEditMode,
+                    u = n.hide,
+                    f = i()("query-editor-row__body gf-form-query", {
+                      "query-editor-row__body--collapsed": s,
+                    }),
+                    p = i()("query-editor-row", {
+                      "query-editor-row--disabled": u,
+                      "gf-form-disabled": u,
+                    });
+                  return l
+                    ? a.a.createElement(
+                        "div",
+                        { className: p },
+                        a.a.createElement(
+                          "div",
+                          { className: "query-editor-row__header" },
+                          a.a.createElement(
+                            "div",
+                            {
+                              className: "query-editor-row__ref-id",
+                              onClick: this.onToggleCollapse,
+                            },
+                            s &&
+                              a.a.createElement("i", {
+                                className: "fa fa-caret-right",
+                              }),
+                            !s &&
+                              a.a.createElement("i", {
+                                className: "fa fa-caret-down",
+                              }),
+                            a.a.createElement("span", null, n.refId),
+                            r &&
+                              a.a.createElement(
+                                "em",
+                                { className: "query-editor-row__context-info" },
+                                " (",
+                                l.name,
+                                ")"
+                              ),
+                            u &&
+                              a.a.createElement(
+                                "em",
+                                { className: "query-editor-row__context-info" },
+                                " Disabled"
+                              )
+                          ),
+                          a.a.createElement(
+                            "div",
+                            {
+                              className: "query-editor-row__collapsed-text",
+                              onClick: this.onToggleEditMode,
+                            },
+                            s &&
+                              a.a.createElement(
+                                "div",
+                                null,
+                                this.renderCollapsedText()
+                              )
+                          ),
+                          a.a.createElement(
+                            "div",
+                            { className: "query-editor-row__actions" },
+                            c &&
+                              a.a.createElement(
+                                "button",
+                                {
+                                  className: "query-editor-row__action",
+                                  onClick: this.onToggleEditMode,
+                                  title: "Toggle text edit mode",
+                                },
+                                a.a.createElement("i", {
+                                  className: "fa fa-fw fa-pencil",
+                                })
+                              ),
+                            a.a.createElement(
+                              "button",
+                              {
+                                className: "query-editor-row__action",
+                                onClick: function () {
+                                  return e.props.onMoveQuery(n, 1);
+                                },
+                              },
+                              a.a.createElement("i", {
+                                className: "fa fa-fw fa-arrow-down",
+                              })
+                            ),
+                            a.a.createElement(
+                              "button",
+                              {
+                                className: "query-editor-row__action",
+                                onClick: function () {
+                                  return e.props.onMoveQuery(n, -1);
+                                },
+                              },
+                              a.a.createElement("i", {
+                                className: "fa fa-fw fa-arrow-up",
+                              })
+                            ),
+                            a.a.createElement(
+                              "button",
+                              {
+                                className: "query-editor-row__action",
+                                onClick: this.onCopyQuery,
+                                title: "Duplicate query",
+                              },
+                              a.a.createElement("i", {
+                                className: "fa fa-fw fa-copy",
+                              })
+                            ),
+                            a.a.createElement(
+                              "button",
+                              {
+                                className: "query-editor-row__action",
+                                onClick: this.onDisableQuery,
+                                title: "Disable/enable query",
+                              },
+                              u &&
+                                a.a.createElement("i", {
+                                  className: "fa fa-fw fa-eye-slash",
+                                }),
+                              !u &&
+                                a.a.createElement("i", {
+                                  className: "fa fa-fw fa-eye",
+                                })
+                            ),
+                            a.a.createElement(
+                              "button",
+                              {
+                                className: "query-editor-row__action",
+                                onClick: this.onRemoveQuery,
+                                title: "Remove query",
+                              },
+                              a.a.createElement("i", {
+                                className: "fa fa-fw fa-trash",
+                              })
+                            )
+                          )
+                        ),
+                        a.a.createElement(
+                          "div",
+                          { className: f },
+                          a.a.createElement(
+                            d.ErrorBoundaryAlert,
+                            null,
+                            this.renderPluginEditor()
+                          )
+                        )
+                      )
+                    : null;
+                },
+              },
+            ]) && y(n.prototype, r),
+            o && y(n, o),
+            t
+          );
+        })(r.PureComponent),
+        j = null;
+      function S(e, t) {
+        var n = e.series.filter(function (e) {
+          return e.refId === t;
+        });
+        if (n.length) {
+          var r = p.LoadingState.Done,
+            a = e.error && e.error.refId === t ? e.error : void 0;
+          return (
+            a && (r = p.LoadingState.Error),
+            (function (e) {
+              for (var t = 1; t < arguments.length; t++) {
+                var n = null != arguments[t] ? arguments[t] : {};
+                t % 2
+                  ? m(Object(n), !0).forEach(function (t) {
+                      g(e, t, n[t]);
+                    })
+                  : Object.getOwnPropertyDescriptors
+                  ? Object.defineProperties(
+                      e,
+                      Object.getOwnPropertyDescriptors(n)
+                    )
+                  : m(Object(n)).forEach(function (t) {
+                      Object.defineProperty(
+                        e,
+                        t,
+                        Object.getOwnPropertyDescriptor(n, t)
+                      );
+                    });
+              }
+              return e;
+            })({}, e, { state: r, series: n, error: a, timeRange: e.timeRange })
+          );
+        }
+      }
+    },
+    ODSy: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return p;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("lonE");
+      function i(e) {
+        return (i =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function l() {
+        return (l =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function s(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function c(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function u(e, t) {
+        return !t || ("object" !== i(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function f(e) {
+        return (f = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function d(e, t) {
+        return (d =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var p = (function (e) {
+        function t() {
+          return s(this, t), u(this, f(t).apply(this, arguments));
+        }
+        var n, r, i;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && d(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                return a.a.createElement(o.a, l({ inline: !0 }, this.props));
+              },
+            },
+          ]) && c(n.prototype, r),
+          i && c(n, i),
+          t
+        );
+      })(a.a.PureComponent);
+    },
+    OEPh: function (e, t) {
+      var n = "public/app/plugins/datasource/stackdriver/partials/config.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=gf-form-group>\n  <div class=grafana-info-box>\n    <h4>Stackdriver Authentication</h4>\n    <p>\n      There are two ways to authenticate the Stackdriver plugin - either by uploading a Service Account key file, or by\n      automatically retrieving credentials from the Google metadata server. The latter option is only available when\n      running Grafana on a GCE virtual machine.\n    </p>\n\n    <h5>Uploading a Service Account Key File</h5>\n    <p>\n      First you need to create a Google Cloud Platform (GCP) Service Account for the Project you want to show data for.\n      A Grafana datasource integrates with one GCP Project. If you want to visualize data from multiple GCP Projects\n      then you need to create one datasource per GCP Project.\n    </p>\n    <p>\n      The <strong>Monitoring Viewer</strong> role provides all the permissions that Grafana needs. The following API\n      needs to be enabled on GCP for the datasource to work:\n      <a class=external-link target=_blank href=https://console.cloud.google.com/apis/library/monitoring.googleapis.com>Monitoring API</a>\n    </p>\n\n    <h5>GCE Default Service Account</h5>\n    <p>\n      If Grafana is running on a Google Compute Engine (GCE) virtual machine, it is possible for Grafana to\n      automatically retrieve the default project id and authentication token from the metadata server. In order for this\n      to work, you need to make sure that you have a service account that is setup as the default account for the\n      virtual machine and that the service account has been given read access to the Stackdriver Monitoring API.\n    </p>\n\n    <p>\n      Detailed instructions on how to create a Service Account can be found\n      <a class=external-link target=_blank href=http://docs.grafana.org/datasources/stackdriver/ >in the documentation.</a>\n    </p>\n  </div>\n</div>\n\n<div class=gf-form-group>\n  <div class=gf-form>\n    <h3>Authentication</h3>\n    <info-popover mode=header>Upload your Service Account key file or paste in the contents of the file. The file contents will be encrypted\n      and saved in the Grafana database.</info-popover>\n  </div>\n\n  <div class=gf-form-inline>\n    <div class="gf-form max-width-30">\n      <span class="gf-form-label width-10">Authentication Type</span>\n      <div class="gf-form-select-wrapper max-width-24">\n        <select class=gf-form-input ng-change="ctrl.gceError = \'\'" ng-model=ctrl.current.jsonData.authenticationType ng-options="f.key as f.value for f in ctrl.authenticationTypes"></select>\n      </div>\n    </div>\n  </div>\n\n  <div ng-if="ctrl.current.jsonData.authenticationType === ctrl.defaultAuthenticationType && !ctrl.current.jsonData.clientEmail && !ctrl.inputDataValid">\n    <div class=gf-form-group ng-if=!ctrl.inputDataValid>\n      <div class=gf-form>\n        <form>\n          <dash-upload on-upload=ctrl.onUpload(dash) btn-text="Upload Service Account key file"></dash-upload>\n        </form>\n      </div>\n    </div>\n    <div class=gf-form-group>\n      <h5 class=section-heading ng-if=!ctrl.inputDataValid>Or paste Service Account key JSON</h5>\n      <div class=gf-form ng-if=!ctrl.inputDataValid>\n        <textarea rows=10 data-share-panel-url="" class=gf-form-input ng-model=ctrl.jsonText ng-paste=ctrl.onPasteJwt($event)></textarea>\n      </div>\n      <div ng-repeat="valError in ctrl.validationErrors" class="text-error p-l-1">\n        <i class="fa fa-warning"></i>\n        {{valError}}\n      </div>\n    </div>\n  </div>\n</div>\n\n<div class=gf-form-group ng-if="ctrl.current.jsonData.authenticationType === ctrl.defaultAuthenticationType && (ctrl.inputDataValid || ctrl.current.jsonData.clientEmail)">\n  <h6>Uploaded Key Details</h6>\n\n  <div class=gf-form>\n    <span class="gf-form-label width-10">Project</span>\n    <input class="gf-form-input width-40" disabled=disabled type=text ng-model=ctrl.current.jsonData.defaultProject />\n  </div>\n  <div class=gf-form>\n    <span class="gf-form-label width-10">Client Email</span>\n    <input class="gf-form-input width-40" disabled=disabled type=text ng-model=ctrl.current.jsonData.clientEmail />\n  </div>\n  <div class=gf-form>\n    <span class="gf-form-label width-10">Token URI</span>\n    <input class="gf-form-input width-40" disabled=disabled type=text ng-model=ctrl.current.jsonData.tokenUri />\n  </div>\n  <div class=gf-form ng-if=ctrl.current.secureJsonFields.privateKey>\n    <span class="gf-form-label width-10">Private Key</span>\n    <input type=text class="gf-form-input max-width-12" disabled=disabled value=configured />\n  </div>\n\n  <div class="gf-form width-18" style=margin-top:24px>\n    <a class="btn btn-secondary gf-form-btn" href=# ng-click=ctrl.resetValidationMessages()>Reset Service Account Key\n    </a>\n    <info-popover mode=right-normal>\n      Reset to clear the uploaded key and upload a new file.\n    </info-popover>\n  </div>\n</div>\n\n<p class=gf-form-label ng-hide="ctrl.current.secureJsonFields.privateKey || ctrl.current.jsonData.authenticationType !== ctrl.defaultAuthenticationType">\n  <i class="fa fa-save"></i> Do not forget to save your changes after uploading a file.\n</p>\n\n<div class=gf-form ng-if=ctrl.gceError>\n  <pre class="gf-form-pre alert alert-error">{{ctrl.gceError}}</pre>\n</div>\n\n<p class=gf-form-label ng-show="ctrl.current.jsonData.authenticationType !== ctrl.defaultAuthenticationType">\n  <i class="fa fa-save"></i> Verify GCE default service account by clicking Save & Test\n</p>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    OPwE: function (e, t) {
+      var n =
+        "public/app/features/manage-dashboards/partials/dashboard_list.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body">\n  <manage-dashboards/>\n</div>\n\n<footer/>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    OQpy: function (e, t) {},
+    OTXG: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return a;
+      }),
+        n.d(t, "c", function () {
+          return o;
+        }),
+        n.d(t, "d", function () {
+          return i;
+        }),
+        n.d(t, "g", function () {
+          return l;
+        }),
+        n.d(t, "f", function () {
+          return s;
+        }),
+        n.d(t, "h", function () {
+          return c;
+        }),
+        n.d(t, "i", function () {
+          return u;
+        }),
+        n.d(t, "k", function () {
+          return f;
+        }),
+        n.d(t, "l", function () {
+          return d;
+        }),
+        n.d(t, "m", function () {
+          return p;
+        }),
+        n.d(t, "n", function () {
+          return h;
+        }),
+        n.d(t, "o", function () {
+          return m;
+        }),
+        n.d(t, "r", function () {
+          return g;
+        }),
+        n.d(t, "q", function () {
+          return b;
+        }),
+        n.d(t, "s", function () {
+          return v;
+        }),
+        n.d(t, "v", function () {
+          return y;
+        }),
+        n.d(t, "w", function () {
+          return w;
+        }),
+        n.d(t, "y", function () {
+          return O;
+        }),
+        n.d(t, "A", function () {
+          return x;
+        }),
+        n.d(t, "B", function () {
+          return k;
+        }),
+        n.d(t, "C", function () {
+          return j;
+        }),
+        n.d(t, "u", function () {
+          return S;
+        }),
+        n.d(t, "H", function () {
+          return E;
+        }),
+        n.d(t, "F", function () {
+          return C;
+        }),
+        n.d(t, "D", function () {
+          return P;
+        }),
+        n.d(t, "G", function () {
+          return T;
+        }),
+        n.d(t, "E", function () {
+          return D;
+        }),
+        n.d(t, "t", function () {
+          return A;
+        }),
+        n.d(t, "p", function () {
+          return _;
+        }),
+        n.d(t, "j", function () {
+          return N;
+        }),
+        n.d(t, "z", function () {
+          return M;
+        }),
+        n.d(t, "e", function () {
+          return I;
+        }),
+        n.d(t, "b", function () {
+          return R;
+        }),
+        n.d(t, "x", function () {
+          return F;
+        });
+      var r = n("i7Pf"),
+        a = Object(r.b)("explore/addQueryRow"),
+        o = Object(r.b)("explore/changeMode"),
+        i = Object(r.b)("explore/changeQuery"),
+        l = Object(r.b)("explore/changeSize"),
+        s = Object(r.b)("explore/changeRefreshInterval"),
+        c = Object(r.b)("explore/clearQueries"),
+        u = Object(r.b)("explore/highlightLogsExpression"),
+        f = Object(r.b)("explore/initializeExplore"),
+        d = Object(r.b)("explore/loadDatasourceMissing"),
+        p = Object(r.b)("explore/loadDatasourcePending"),
+        h = Object(r.b)("explore/loadDatasourceReady"),
+        m = Object(r.b)("explore/modifyQueries"),
+        g = Object(r.b)("explore/queryStreamUpdated"),
+        b = Object(r.b)("explore/queryStoreSubscription"),
+        v = Object(r.b)("explore/removeQueryRow"),
+        y = Object(r.b)("explore/scanStart"),
+        w = Object(r.b)("explore/scanStop"),
+        O = Object(r.b)("explore/setQueries"),
+        x = Object(r.b)("explore/splitClose"),
+        k = Object(r.b)("explore/splitOpen"),
+        j = Object(r.b)("explore/syncTimes"),
+        S = Object(r.b)("explore/richHistoryUpdated"),
+        E = Object(r.b)("explore/updateUIState"),
+        C = Object(r.b)("explore/toggleTable"),
+        P = Object(r.b)("explore/toggleGraph"),
+        T = Object(r.b)("explore/updateDatasourceInstance"),
+        D = Object(r.b)("explore/toggleLogLevel"),
+        A = Object(r.b)("explore/resetExplore"),
+        _ = Object(r.b)("explore/queriesImported"),
+        N = Object(r.b)("explore/historyUpdated"),
+        M = Object(r.b)("explore/setUrlReplaced"),
+        I = Object(r.b)("explore/changeRange"),
+        R = Object(r.b)("changeLoadingState"),
+        F = Object(r.b)("explore/setPausedState");
+    },
+    Obii: function (e, t, n) {
+      "use strict";
+      n.r(t);
+      var r = n("spX/");
+      n.d(t, "getMappedValue", function () {
+        return r.w;
+      }),
+        n.d(t, "getFlotPairs", function () {
+          return r.s;
+        }),
+        n.d(t, "getFlotPairsConstant", function () {
+          return r.t;
+        }),
+        n.d(t, "Registry", function () {
+          return r.d;
+        }),
+        n.d(t, "onUpdateDatasourceOption", function () {
+          return r.F;
+        }),
+        n.d(t, "onUpdateDatasourceJsonDataOption", function () {
+          return r.C;
+        }),
+        n.d(t, "onUpdateDatasourceSecureJsonDataOption", function () {
+          return r.H;
+        }),
+        n.d(t, "onUpdateDatasourceJsonDataOptionSelect", function () {
+          return r.E;
+        }),
+        n.d(t, "onUpdateDatasourceJsonDataOptionChecked", function () {
+          return r.D;
+        }),
+        n.d(t, "onUpdateDatasourceSecureJsonDataOptionSelect", function () {
+          return r.I;
+        }),
+        n.d(t, "onUpdateDatasourceResetOption", function () {
+          return r.G;
+        }),
+        n.d(t, "updateDatasourcePluginOption", function () {
+          return r.N;
+        }),
+        n.d(t, "updateDatasourcePluginJsonDataOption", function () {
+          return r.M;
+        }),
+        n.d(t, "updateDatasourcePluginSecureJsonDataOption", function () {
+          return r.P;
+        }),
+        n.d(t, "updateDatasourcePluginResetOption", function () {
+          return r.O;
+        }),
+        n.d(t, "deprecationWarning", function () {
+          return r.i;
+        }),
+        n.d(t, "CSVHeaderStyle", function () {
+          return r.a;
+        }),
+        n.d(t, "readCSV", function () {
+          return r.K;
+        }),
+        n.d(t, "CSVReader", function () {
+          return r.b;
+        }),
+        n.d(t, "toCSV", function () {
+          return r.L;
+        }),
+        n.d(t, "getLogLevel", function () {
+          return r.u;
+        }),
+        n.d(t, "getLogLevelFromKey", function () {
+          return r.v;
+        }),
+        n.d(t, "addLogLevelToSeries", function () {
+          return r.e;
+        }),
+        n.d(t, "LogsParsers", function () {
+          return r.c;
+        }),
+        n.d(t, "calculateFieldStats", function () {
+          return r.f;
+        }),
+        n.d(t, "calculateLogsLabelStats", function () {
+          return r.g;
+        }),
+        n.d(t, "calculateStats", function () {
+          return r.h;
+        }),
+        n.d(t, "getParser", function () {
+          return r.y;
+        }),
+        n.d(t, "parseLabels", function () {
+          return r.J;
+        }),
+        n.d(t, "findCommonLabels", function () {
+          return r.j;
+        }),
+        n.d(t, "findUniqueLabels", function () {
+          return r.k;
+        }),
+        n.d(t, "formatLabels", function () {
+          return r.l;
+        }),
+        n.d(t, "objRemoveUndefined", function () {
+          return r.B;
+        }),
+        n.d(t, "getColorDefinitionByName", function () {
+          return r.o;
+        }),
+        n.d(t, "getColorDefinition", function () {
+          return r.n;
+        }),
+        n.d(t, "getColorName", function () {
+          return r.r;
+        }),
+        n.d(t, "getColorByName", function () {
+          return r.m;
+        }),
+        n.d(t, "getColorFromHexRgbOrName", function () {
+          return r.q;
+        }),
+        n.d(t, "getColorForTheme", function () {
+          return r.p;
+        }),
+        n.d(t, "getNamedColorPalette", function () {
+          return r.x;
+        }),
+        n.d(t, "getSeriesTimeStep", function () {
+          return r.z;
+        }),
+        n.d(t, "hasMsResolution", function () {
+          return r.A;
+        });
+      var a = n("KgU3");
+      for (var o in a)
+        [
+          "getMappedValue",
+          "getFlotPairs",
+          "getFlotPairsConstant",
+          "Registry",
+          "onUpdateDatasourceOption",
+          "onUpdateDatasourceJsonDataOption",
+          "onUpdateDatasourceSecureJsonDataOption",
+          "onUpdateDatasourceJsonDataOptionSelect",
+          "onUpdateDatasourceJsonDataOptionChecked",
+          "onUpdateDatasourceSecureJsonDataOptionSelect",
+          "onUpdateDatasourceResetOption",
+          "updateDatasourcePluginOption",
+          "updateDatasourcePluginJsonDataOption",
+          "updateDatasourcePluginSecureJsonDataOption",
+          "updateDatasourcePluginResetOption",
+          "deprecationWarning",
+          "CSVHeaderStyle",
+          "readCSV",
+          "CSVReader",
+          "toCSV",
+          "getLogLevel",
+          "getLogLevelFromKey",
+          "addLogLevelToSeries",
+          "LogsParsers",
+          "calculateFieldStats",
+          "calculateLogsLabelStats",
+          "calculateStats",
+          "getParser",
+          "parseLabels",
+          "findCommonLabels",
+          "findUniqueLabels",
+          "formatLabels",
+          "objRemoveUndefined",
+          "getColorDefinitionByName",
+          "getColorDefinition",
+          "getColorName",
+          "getColorByName",
+          "getColorFromHexRgbOrName",
+          "getColorForTheme",
+          "getNamedColorPalette",
+          "getSeriesTimeStep",
+          "hasMsResolution",
+          "default",
+        ].indexOf(o) < 0 &&
+          (function (e) {
+            n.d(t, e, function () {
+              return a[e];
+            });
+          })(o);
+      var i = n("pFCG");
+      n.d(t, "ArrayVector", function () {
+        return i.b;
+      }),
+        n.d(t, "CircularVector", function () {
+          return i.c;
+        }),
+        n.d(t, "SortedVector", function () {
+          return i.f;
+        }),
+        n.d(t, "AppendedVectors", function () {
+          return i.a;
+        }),
+        n.d(t, "ConstantVector", function () {
+          return i.d;
+        }),
+        n.d(t, "ScaledVector", function () {
+          return i.e;
+        });
+      var l = n("8//q");
+      n.d(t, "guessFieldTypeFromValue", function () {
+        return l.r;
+      }),
+        n.d(t, "guessFieldTypeForField", function () {
+          return l.q;
+        }),
+        n.d(t, "guessFieldTypes", function () {
+          return l.s;
+        }),
+        n.d(t, "isTableData", function () {
+          return l.u;
+        }),
+        n.d(t, "isDataFrame", function () {
+          return l.t;
+        }),
+        n.d(t, "toDataFrame", function () {
+          return l.y;
+        }),
+        n.d(t, "toLegacyResponseData", function () {
+          return l.A;
+        }),
+        n.d(t, "sortDataFrame", function () {
+          return l.x;
+        }),
+        n.d(t, "reverseDataFrame", function () {
+          return l.w;
+        }),
+        n.d(t, "getTimeField", function () {
+          return l.n;
+        }),
+        n.d(t, "getDataFrameRow", function () {
+          return l.l;
+        }),
+        n.d(t, "toDataFrameDTO", function () {
+          return l.z;
+        }),
+        n.d(t, "DataFrameView", function () {
+          return l.b;
+        }),
+        n.d(t, "FieldCache", function () {
+          return l.c;
+        }),
+        n.d(t, "CircularDataFrame", function () {
+          return l.a;
+        }),
+        n.d(t, "MISSING_VALUE", function () {
+          return l.d;
+        }),
+        n.d(t, "MutableDataFrame", function () {
+          return l.e;
+        }),
+        n.d(t, "createDimension", function () {
+          return l.h;
+        }),
+        n.d(t, "getColumnsFromDimension", function () {
+          return l.k;
+        }),
+        n.d(t, "getColumnFromDimension", function () {
+          return l.j;
+        }),
+        n.d(t, "getValueFromDimension", function () {
+          return l.o;
+        }),
+        n.d(t, "getAllValuesFromDimension", function () {
+          return l.i;
+        }),
+        n.d(t, "getDimensionByName", function () {
+          return l.m;
+        }),
+        n.d(t, "base64StringToArrowTable", function () {
+          return l.g;
+        }),
+        n.d(t, "arrowTableToDataFrame", function () {
+          return l.f;
+        }),
+        n.d(t, "grafanaDataFrameToArrowTable", function () {
+          return l.p;
+        }),
+        n.d(t, "resultsToDataFrames", function () {
+          return l.v;
+        });
+      var s = n("2wGe");
+      n.d(t, "FilterFieldsByNameTransformerOptions", function () {
+        return s.c;
+      }),
+        n.d(t, "FilterFramesByRefIdTransformerOptions", function () {
+          return s.d;
+        }),
+        n.d(t, "ReduceTransformerOptions", function () {
+          return s.g;
+        }),
+        n.d(t, "MatcherID", function () {
+          return s.f;
+        }),
+        n.d(t, "FieldMatcherID", function () {
+          return s.b;
+        }),
+        n.d(t, "FrameMatcherID", function () {
+          return s.e;
+        }),
+        n.d(t, "DataTransformerID", function () {
+          return s.a;
+        }),
+        n.d(t, "fieldMatchers", function () {
+          return s.i;
+        }),
+        n.d(t, "frameMatchers", function () {
+          return s.k;
+        }),
+        n.d(t, "getFieldMatcher", function () {
+          return s.l;
+        }),
+        n.d(t, "getFrameMatchers", function () {
+          return s.m;
+        }),
+        n.d(t, "transformDataFrame", function () {
+          return s.o;
+        }),
+        n.d(t, "transformersRegistry", function () {
+          return s.p;
+        }),
+        n.d(t, "ReducerID", function () {
+          return s.h;
+        }),
+        n.d(t, "reduceField", function () {
+          return s.n;
+        }),
+        n.d(t, "fieldReducers", function () {
+          return s.j;
+        });
+      var c = n("IjGO");
+      n.d(t, "dateMath", function () {
+        return c.d;
+      }),
+        n.d(t, "rangeUtil", function () {
+          return c.k;
+        }),
+        n.d(t, "ISO_8601", function () {
+          return c.b;
+        }),
+        n.d(t, "setLocale", function () {
+          return c.l;
+        }),
+        n.d(t, "getLocaleData", function () {
+          return c.h;
+        }),
+        n.d(t, "isDateTime", function () {
+          return c.j;
+        }),
+        n.d(t, "toUtc", function () {
+          return c.n;
+        }),
+        n.d(t, "toDuration", function () {
+          return c.m;
+        }),
+        n.d(t, "dateTime", function () {
+          return c.e;
+        }),
+        n.d(t, "dateTimeAsMoment", function () {
+          return c.f;
+        }),
+        n.d(t, "dateTimeForTimeZone", function () {
+          return c.g;
+        }),
+        n.d(t, "getTimeZoneGroups", function () {
+          return c.i;
+        }),
+        n.d(t, "DEFAULT_DATE_TIME_FORMAT", function () {
+          return c.a;
+        }),
+        n.d(t, "MS_DATE_TIME_FORMAT", function () {
+          return c.c;
+        });
+      var u = n("Cawo");
+      n.d(t, "escapeStringForRegex", function () {
+        return u.a;
+      }),
+        n.d(t, "unEscapeStringFromRegex", function () {
+          return u.m;
+        }),
+        n.d(t, "stringStartsAsRegEx", function () {
+          return u.g;
+        }),
+        n.d(t, "stringToJsRegex", function () {
+          return u.h;
+        }),
+        n.d(t, "stringToMs", function () {
+          return u.i;
+        }),
+        n.d(t, "toNumberString", function () {
+          return u.l;
+        }),
+        n.d(t, "toIntegerOrUndefined", function () {
+          return u.k;
+        }),
+        n.d(t, "toFloatOrUndefined", function () {
+          return u.j;
+        }),
+        n.d(t, "setMarkdownOptions", function () {
+          return u.f;
+        }),
+        n.d(t, "renderMarkdown", function () {
+          return u.e;
+        }),
+        n.d(t, "findHighlightChunksInText", function () {
+          return u.b;
+        }),
+        n.d(t, "findMatchesInText", function () {
+          return u.c;
+        }),
+        n.d(t, "parseFlags", function () {
+          return u.d;
+        });
+      var f = n("+ujO");
+      n.d(t, "formattedValueToString", function () {
+        return f.a;
+      }),
+        n.d(t, "toFixed", function () {
+          return f.h;
+        }),
+        n.d(t, "toFixedScaled", function () {
+          return f.i;
+        }),
+        n.d(t, "toFixedUnit", function () {
+          return f.j;
+        }),
+        n.d(t, "scaledUnits", function () {
+          return f.f;
+        }),
+        n.d(t, "locale", function () {
+          return f.e;
+        }),
+        n.d(t, "simpleCountUnit", function () {
+          return f.g;
+        }),
+        n.d(t, "getValueFormat", function () {
+          return f.b;
+        }),
+        n.d(t, "getValueFormatterIndex", function () {
+          return f.d;
+        }),
+        n.d(t, "getValueFormats", function () {
+          return f.c;
+        });
+      var d = n("+iHc");
+      n.d(t, "applyFieldOverrides", function () {
+        return d.f;
+      }),
+        n.d(t, "validateFieldConfig", function () {
+          return d.o;
+        }),
+        n.d(t, "VAR_SERIES_NAME", function () {
+          return d.e;
+        }),
+        n.d(t, "VAR_FIELD_NAME", function () {
+          return d.d;
+        }),
+        n.d(t, "VAR_CALC", function () {
+          return d.b;
+        }),
+        n.d(t, "VAR_CELL_PREFIX", function () {
+          return d.c;
+        }),
+        n.d(t, "DEFAULT_FIELD_DISPLAY_VALUES_LIMIT", function () {
+          return d.a;
+        }),
+        n.d(t, "getFieldDisplayValues", function () {
+          return d.k;
+        }),
+        n.d(t, "getDisplayValueAlignmentFactors", function () {
+          return d.j;
+        }),
+        n.d(t, "getDisplayProcessor", function () {
+          return d.i;
+        }),
+        n.d(t, "getDecimalsForValue", function () {
+          return d.h;
+        }),
+        n.d(t, "getScaleCalculator", function () {
+          return d.l;
+        }),
+        n.d(t, "getActiveThreshold", function () {
+          return d.g;
+        }),
+        n.d(t, "sortThresholds", function () {
+          return d.m;
+        }),
+        n.d(t, "standardFieldConfigEditorRegistry", function () {
+          return d.n;
+        });
+    },
+    Opuj: function (e, t, n) {
+      "use strict";
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDLi");
+      function i(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function l(e) {
+        var t = e.projectName,
+          n = e.datasource,
+          r = e.onChange,
+          l = e.templateVariableOptions;
+        return a.a.createElement(
+          "div",
+          { className: "gf-form-inline" },
+          a.a.createElement(
+            "span",
+            { className: "gf-form-label width-9 query-keyword" },
+            "Project"
+          ),
+          a.a.createElement(o.SegmentAsync, {
+            allowCustomValue: !0,
+            onChange: function (e) {
+              var t = e.value;
+              return r(t);
+            },
+            loadOptions: function () {
+              return n.getProjects().then(function (e) {
+                return [{ label: "Template Variables", options: l }].concat(
+                  i(e)
+                );
+              });
+            },
+            value: t,
+            placeholder: "Select Project",
+          }),
+          a.a.createElement(
+            "div",
+            { className: "gf-form gf-form--grow" },
+            a.a.createElement("div", {
+              className: "gf-form-label gf-form-label--grow",
+            })
+          )
+        );
+      }
+      var s = n("LvDl"),
+        c = n.n(s);
+      function u(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function f(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function d(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? f(Object(n), !0).forEach(function (t) {
+                p(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : f(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function p(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function h(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function m(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function g(e) {
+        var t = m(
+            Object(r.useState)({
+              metricDescriptors: [],
+              metrics: [],
+              services: [],
+              service: "",
+              metric: "",
+              metricDescriptor: null,
+              projectName: null,
+            }),
+            2
+          ),
+          n = t[0],
+          i = t[1],
+          l = n.services,
+          s = n.service,
+          f = n.metrics,
+          p = e.metricType,
+          g = e.templateVariableOptions,
+          b = e.projectName,
+          v = (function () {
+            var t,
+              r =
+                ((t = regeneratorRuntime.mark(function t() {
+                  var r, a, o, l, s;
+                  return regeneratorRuntime.wrap(function (t) {
+                    for (;;)
+                      switch ((t.prev = t.next)) {
+                        case 0:
+                          if (!b) {
+                            t.next = 9;
+                            break;
+                          }
+                          return (
+                            (t.next = 3),
+                            e.datasource.getMetricTypes(e.projectName)
+                          );
+                        case 3:
+                          (r = t.sent),
+                            (a = x(r)),
+                            (o = w(r)),
+                            (l = o.length > 0 ? o[0].service : ""),
+                            (s = y(r, e.metricType)),
+                            i(
+                              d({}, n, {
+                                metricDescriptors: r,
+                                services: a,
+                                metrics: o,
+                                service: l,
+                                metricDescriptor: s,
+                              })
+                            );
+                        case 9:
+                        case "end":
+                          return t.stop();
+                      }
+                  }, t);
+                })),
+                function () {
+                  var e = this,
+                    n = arguments;
+                  return new Promise(function (r, a) {
+                    var o = t.apply(e, n);
+                    function i(e) {
+                      h(o, r, a, i, l, "next", e);
+                    }
+                    function l(e) {
+                      h(o, r, a, i, l, "throw", e);
+                    }
+                    i(void 0);
+                  });
+                });
+            return function () {
+              return r.apply(this, arguments);
+            };
+          })();
+        Object(r.useEffect)(
+          function () {
+            v();
+          },
+          [b]
+        );
+        var y = function (t, n) {
+            return t.find(function (t) {
+              return t.type === e.templateSrv.replace(n);
+            });
+          },
+          w = function (t) {
+            var n = y(t, e.metricType);
+            return n
+              ? t
+                  .filter(function (e) {
+                    return e.service === n.service;
+                  })
+                  .map(function (e) {
+                    return {
+                      service: e.service,
+                      value: e.type,
+                      label: e.displayName,
+                      description: e.description,
+                    };
+                  })
+              : [];
+          },
+          O = function (t) {
+            var r = t.value,
+              a =
+                arguments.length > 1 && void 0 !== arguments[1]
+                  ? arguments[1]
+                  : {},
+              o = y(n.metricDescriptors, r);
+            i(d({}, n, { metricDescriptor: o }, a)),
+              e.onChange(d({}, o, { type: r }));
+          },
+          x = function (e) {
+            var t = e.map(function (e) {
+              return {
+                value: e.service,
+                label: c.a.startCase(e.serviceShortName),
+              };
+            });
+            return t.length > 0
+              ? c.a.uniqBy(t, function (e) {
+                  return e.value;
+                })
+              : [];
+          };
+        return a.a.createElement(
+          a.a.Fragment,
+          null,
+          a.a.createElement(
+            "div",
+            { className: "gf-form-inline" },
+            a.a.createElement(
+              "span",
+              { className: "gf-form-label width-9 query-keyword" },
+              "Service"
+            ),
+            a.a.createElement(o.Segment, {
+              onChange: function (t) {
+                var r = t.value,
+                  a = n.metricDescriptors,
+                  o = e.metricType,
+                  l = e.templateSrv,
+                  s = a
+                    .filter(function (e) {
+                      return e.service === l.replace(r);
+                    })
+                    .map(function (e) {
+                      return {
+                        service: e.service,
+                        value: e.type,
+                        label: e.displayName,
+                        description: e.description,
+                      };
+                    });
+                s.length > 0 &&
+                !s.some(function (e) {
+                  return e.value === l.replace(o);
+                })
+                  ? O(s[0], { service: r, metrics: s })
+                  : i(d({}, n, { service: r, metrics: s }));
+              },
+              value: [].concat(u(l), u(g)).find(function (e) {
+                return e.value === s;
+              }),
+              options: [{ label: "Template Variables", options: g }].concat(
+                u(l)
+              ),
+              placeholder: "Select Services",
+            }),
+            a.a.createElement(
+              "div",
+              { className: "gf-form gf-form--grow" },
+              a.a.createElement("div", {
+                className: "gf-form-label gf-form-label--grow",
+              })
+            )
+          ),
+          a.a.createElement(
+            "div",
+            { className: "gf-form-inline" },
+            a.a.createElement(
+              "span",
+              { className: "gf-form-label width-9 query-keyword" },
+              "Metric"
+            ),
+            a.a.createElement(o.Segment, {
+              className: "query-part",
+              onChange: O,
+              value: [].concat(u(f), u(g)).find(function (e) {
+                return e.value === p;
+              }),
+              options: [{ label: "Template Variables", options: g }].concat(
+                u(f)
+              ),
+              placeholder: "Select Metric",
+            }),
+            a.a.createElement(
+              "div",
+              { className: "gf-form gf-form--grow" },
+              a.a.createElement("div", {
+                className: "gf-form-label gf-form-label--grow",
+              })
+            )
+          ),
+          e.children(n.metricDescriptor)
+        );
+      }
+      function b(e) {
+        return (b =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function v(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function y(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function w(e, t) {
+        return !t || ("object" !== b(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function O(e) {
+        return (O = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function x(e, t) {
+        return (x =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var k = (function (e) {
+          function t() {
+            var e, n;
+            v(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = w(
+                this,
+                (e = O(t)).call.apply(e, [this].concat(a))
+              )).state = { displayHelp: !1, displaRawQuery: !1 }),
+              (n.onHelpClicked = function () {
+                n.setState({ displayHelp: !n.state.displayHelp });
+              }),
+              (n.onRawQueryClicked = function () {
+                n.setState({ displaRawQuery: !n.state.displaRawQuery });
+              }),
+              n
+            );
+          }
+          var n, r, o;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && x(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "shouldComponentUpdate",
+                value: function (e) {
+                  return null !== e.metricDescriptor;
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this.state,
+                    t = e.displayHelp,
+                    n = e.displaRawQuery,
+                    r = this.props,
+                    o = r.rawQuery,
+                    i = r.lastQueryError;
+                  return a.a.createElement(
+                    a.a.Fragment,
+                    null,
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form-inline" },
+                      a.a.createElement(
+                        "div",
+                        { className: "gf-form", onClick: this.onHelpClicked },
+                        a.a.createElement(
+                          "label",
+                          { className: "gf-form-label query-keyword pointer" },
+                          "Show Help ",
+                          a.a.createElement("i", {
+                            className: "fa fa-caret-".concat(
+                              t ? "down" : "right"
+                            ),
+                          })
+                        )
+                      ),
+                      o &&
+                        a.a.createElement(
+                          "div",
+                          {
+                            className: "gf-form",
+                            onClick: this.onRawQueryClicked,
+                          },
+                          a.a.createElement(
+                            "label",
+                            { className: "gf-form-label query-keyword" },
+                            "Raw Query ",
+                            a.a.createElement("i", {
+                              className: "fa fa-caret-".concat(
+                                n ? "down" : "right"
+                              ),
+                              "ng-show": "ctrl.showHelp",
+                            })
+                          )
+                        ),
+                      a.a.createElement(
+                        "div",
+                        { className: "gf-form gf-form--grow" },
+                        a.a.createElement("div", {
+                          className: "gf-form-label gf-form-label--grow",
+                        })
+                      )
+                    ),
+                    o &&
+                      n &&
+                      a.a.createElement(
+                        "div",
+                        { className: "gf-form" },
+                        a.a.createElement(
+                          "pre",
+                          { className: "gf-form-pre" },
+                          o
+                        )
+                      ),
+                    t &&
+                      a.a.createElement(
+                        "div",
+                        { className: "gf-form grafana-info-box alert-info" },
+                        a.a.createElement(
+                          "div",
+                          null,
+                          a.a.createElement("h5", null, "Alias Patterns"),
+                          "Format the legend keys any way you want by using alias patterns. Format the legend keys any way you want by using alias patterns.",
+                          a.a.createElement("br", null),
+                          " ",
+                          a.a.createElement("br", null),
+                          "Example:",
+                          a.a.createElement(
+                            "code",
+                            null,
+                            "{{metricDescriptor.name}} - {{metricDescriptor.label.instance_name}}"
+                          ),
+                          a.a.createElement("br", null),
+                          "Result:   ",
+                          a.a.createElement(
+                            "code",
+                            null,
+                            "cpu/usage_time - server1-europe-west-1"
+                          ),
+                          a.a.createElement("br", null),
+                          a.a.createElement("br", null),
+                          a.a.createElement("strong", null, "Patterns"),
+                          a.a.createElement("br", null),
+                          a.a.createElement(
+                            "ul",
+                            null,
+                            a.a.createElement(
+                              "li",
+                              null,
+                              a.a.createElement(
+                                "code",
+                                null,
+                                "{{metricDescriptor.type}}"
+                              ),
+                              " = metric type e.g. compute.googleapis.com/instance/cpu/usage_time"
+                            ),
+                            a.a.createElement(
+                              "li",
+                              null,
+                              a.a.createElement(
+                                "code",
+                                null,
+                                "{{metricDescriptor.name}}"
+                              ),
+                              " = name part of metric e.g. instance/cpu/usage_time"
+                            ),
+                            a.a.createElement(
+                              "li",
+                              null,
+                              a.a.createElement(
+                                "code",
+                                null,
+                                "{{metricDescriptor.service}}"
+                              ),
+                              " = service part of metric e.g. compute"
+                            ),
+                            a.a.createElement(
+                              "li",
+                              null,
+                              a.a.createElement(
+                                "code",
+                                null,
+                                "{{metricDescriptor.label.label_name}}"
+                              ),
+                              " = Metric label metadata e.g. metricDescriptor.label.instance_name"
+                            ),
+                            a.a.createElement(
+                              "li",
+                              null,
+                              a.a.createElement(
+                                "code",
+                                null,
+                                "{{resource.label.label_name}}"
+                              ),
+                              " = Resource label metadata e.g. resource.label.zone"
+                            ),
+                            a.a.createElement(
+                              "li",
+                              null,
+                              a.a.createElement(
+                                "code",
+                                null,
+                                "{{metadata.system_labels.name}}"
+                              ),
+                              " = Meta data system labels e.g. metadata.system_labels.name. For this to work, the needs to be included in the group by"
+                            ),
+                            a.a.createElement(
+                              "li",
+                              null,
+                              a.a.createElement(
+                                "code",
+                                null,
+                                "{{metadata.user_labels.name}}"
+                              ),
+                              " = Meta data user labels e.g. metadata.user_labels.name. For this to work, the needs to be included in the group by"
+                            ),
+                            a.a.createElement(
+                              "li",
+                              null,
+                              a.a.createElement("code", null, "{{bucket}}"),
+                              " = bucket boundary for distribution metrics when using a heatmap in Grafana"
+                            )
+                          )
+                        )
+                      ),
+                    i &&
+                      a.a.createElement(
+                        "div",
+                        { className: "gf-form" },
+                        a.a.createElement(
+                          "pre",
+                          { className: "gf-form-pre alert alert-error" },
+                          i
+                        )
+                      )
+                  );
+                },
+              },
+            ]) && y(n.prototype, r),
+            o && y(n, o),
+            t
+          );
+        })(a.a.Component),
+        j = n("PQjG"),
+        S = n("7Nqv");
+      function E(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      var C = "-- remove group by --",
+        P = { label: C, value: C },
+        T = function (e) {
+          var t = e.groupBys,
+            n = void 0 === t ? [] : t,
+            r = e.values,
+            i = void 0 === r ? [] : r,
+            l = e.onChange,
+            s = e.variableOptionGroup,
+            c = [P, s].concat(E(Object(j.h)([].concat(E(n), E(S.e)))));
+          return a.a.createElement(
+            "div",
+            { className: "gf-form-inline" },
+            a.a.createElement(
+              "label",
+              { className: "gf-form-label query-keyword width-9" },
+              "Group By"
+            ),
+            i &&
+              i.map(function (e, t) {
+                return a.a.createElement(o.Segment, {
+                  allowCustomValue: !0,
+                  key: e + t,
+                  value: e,
+                  options: c,
+                  onChange: function (e) {
+                    var n = e.value;
+                    return l(
+                      n === C
+                        ? i.filter(function (e, n) {
+                            return n !== t;
+                          })
+                        : i.map(function (e, r) {
+                            return r === t ? n : e;
+                          })
+                    );
+                  },
+                });
+              }),
+            i.length !== n.length &&
+              a.a.createElement(o.Segment, {
+                Component: a.a.createElement(
+                  "a",
+                  { className: "gf-form-label query-part" },
+                  a.a.createElement("i", { className: "fa fa-plus" })
+                ),
+                allowCustomValue: !0,
+                onChange: function (e) {
+                  var t = e.value;
+                  return l([].concat(E(i), [t]));
+                },
+                options: [s].concat(
+                  E(
+                    Object(j.h)(
+                      [].concat(
+                        E(
+                          n.filter(function (e) {
+                            return !i.includes(e);
+                          })
+                        ),
+                        E(S.e)
+                      )
+                    )
+                  )
+                ),
+              }),
+            a.a.createElement(
+              "div",
+              { className: "gf-form gf-form--grow" },
+              a.a.createElement("label", {
+                className: "gf-form-label gf-form-label--grow",
+              })
+            )
+          );
+        };
+      function D(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function A(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? D(Object(n), !0).forEach(function (t) {
+                _(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : D(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function _(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function N(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function M(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      var I = {
+          label: "-- remove filter --",
+          value: "-- remove filter --",
+          icon: "fa fa-remove",
+        },
+        R = ["=", "!=", "=~", "!=~"],
+        F = function (e) {
+          return c.a.flatten(
+            e.map(function (e) {
+              return [e.key, e.operator, e.value, e.condition];
+            })
+          );
+        },
+        L = function (e) {
+          var t = e.labels,
+            n = void 0 === t ? {} : t,
+            i = e.filters,
+            l = e.onChange,
+            s = e.variableOptionGroup,
+            u = (function (e) {
+              return c.a.chunk(e, 4).map(function (e) {
+                var t = M(e, 4),
+                  n = t[0],
+                  r = t[1],
+                  a = t[2],
+                  o = t[3];
+                return {
+                  key: n,
+                  operator: r,
+                  value: a,
+                  condition: void 0 === o ? "AND" : o,
+                };
+              });
+            })(i),
+            f = [I, s].concat(N(Object(j.h)(Object.keys(n))));
+          return a.a.createElement(
+            "div",
+            { className: "gf-form-inline" },
+            a.a.createElement(
+              "label",
+              { className: "gf-form-label query-keyword width-9" },
+              "Filter"
+            ),
+            u.map(function (e, t) {
+              var i = e.key,
+                c = e.operator,
+                d = e.value,
+                p = e.condition;
+              return a.a.createElement(
+                r.Fragment,
+                { key: t },
+                a.a.createElement(o.Segment, {
+                  allowCustomValue: !0,
+                  value: i,
+                  options: f,
+                  onChange: function (e) {
+                    var n = e.value;
+                    l(
+                      F(
+                        "-- remove filter --" === n
+                          ? u.filter(function (e, n) {
+                              return n !== t;
+                            })
+                          : u.map(function (e, r) {
+                              return r === t
+                                ? {
+                                    key: n,
+                                    operator: c,
+                                    condition: p,
+                                    value: "",
+                                  }
+                                : e;
+                            })
+                      )
+                    );
+                  },
+                }),
+                a.a.createElement(o.Segment, {
+                  value: c,
+                  className: "gf-form-label query-segment-operator",
+                  options: R.map(j.i),
+                  onChange: function (e) {
+                    var n = e.value;
+                    return l(
+                      F(
+                        u.map(function (e, r) {
+                          return r === t ? A({}, e, { operator: n }) : e;
+                        })
+                      )
+                    );
+                  },
+                }),
+                a.a.createElement(o.Segment, {
+                  allowCustomValue: !0,
+                  value: d,
+                  placeholder: "add filter value",
+                  options: n.hasOwnProperty(i)
+                    ? [s].concat(N(n[i].map(j.i)))
+                    : [s],
+                  onChange: function (e) {
+                    var n = e.value;
+                    return l(
+                      F(
+                        u.map(function (e, r) {
+                          return r === t ? A({}, e, { value: n }) : e;
+                        })
+                      )
+                    );
+                  },
+                }),
+                u.length > 1 &&
+                  t + 1 !== u.length &&
+                  a.a.createElement(
+                    "label",
+                    { className: "gf-form-label query-keyword" },
+                    p
+                  )
+              );
+            }),
+            Object.values(u).every(function (e) {
+              return e.value;
+            }) &&
+              a.a.createElement(o.Segment, {
+                allowCustomValue: !0,
+                Component: a.a.createElement(
+                  "a",
+                  { className: "gf-form-label query-part" },
+                  a.a.createElement("i", { className: "fa fa-plus" })
+                ),
+                options: [s].concat(N(Object(j.h)(Object.keys(n)))),
+                onChange: function (e) {
+                  var t = e.value;
+                  return l(
+                    F(
+                      [].concat(N(u), [
+                        { key: t, operator: "=", condition: "AND", value: "" },
+                      ])
+                    )
+                  );
+                },
+              }),
+            a.a.createElement(
+              "div",
+              { className: "gf-form gf-form--grow" },
+              a.a.createElement("label", {
+                className: "gf-form-label gf-form-label--grow",
+              })
+            )
+          );
+        },
+        V = function () {
+          return a.a.createElement(
+            "div",
+            { className: "gf-form grafana-info-box alert-info" },
+            a.a.createElement(
+              "div",
+              null,
+              a.a.createElement("h5", null, "Annotation Query Format"),
+              a.a.createElement(
+                "p",
+                null,
+                "An annotation is an event that is overlaid on top of graphs. Annotation rendering is expensive so it is important to limit the number of rows returned.",
+                " "
+              ),
+              a.a.createElement(
+                "p",
+                null,
+                "The Title and Text fields support templating and can use data returned from the query. For example, the Title field could have the following text:"
+              ),
+              a.a.createElement(
+                "code",
+                null,
+                "{{metric.type}}",
+                " has value: ",
+                "{{metric.value}}"
+              ),
+              a.a.createElement(
+                "p",
+                null,
+                "Example Result: ",
+                a.a.createElement(
+                  "code",
+                  null,
+                  "monitoring.googleapis.com/uptime_check/http_status has this value: 502"
+                )
+              ),
+              a.a.createElement("label", null, "Patterns:"),
+              a.a.createElement(
+                "p",
+                null,
+                a.a.createElement("code", null, "{{metric.value}}"),
+                " = value of the metric/point"
+              ),
+              a.a.createElement(
+                "p",
+                null,
+                a.a.createElement("code", null, "{{metric.type}}"),
+                " = metric type e.g. compute.googleapis.com/instance/cpu/usage_time"
+              ),
+              a.a.createElement(
+                "p",
+                null,
+                a.a.createElement("code", null, "{{metric.name}}"),
+                " = name part of metric e.g. instance/cpu/usage_time"
+              ),
+              a.a.createElement(
+                "p",
+                null,
+                a.a.createElement("code", null, "{{metric.service}}"),
+                " = service part of metric e.g. compute"
+              ),
+              a.a.createElement(
+                "p",
+                null,
+                a.a.createElement("code", null, "{{metric.label.label_name}}"),
+                " = Metric label metadata e.g. metric.label.instance_name"
+              ),
+              a.a.createElement(
+                "p",
+                null,
+                a.a.createElement(
+                  "code",
+                  null,
+                  "{{resource.label.label_name}}"
+                ),
+                " = Resource label metadata e.g. resource.label.zone"
+              )
+            )
+          );
+        };
+      function B(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      var $ = function (e) {
+          var t = e.perSeriesAligner,
+            n = e.templateVariableOptions,
+            r = e.onChange,
+            i = e.alignOptions;
+          return a.a.createElement(
+            a.a.Fragment,
+            null,
+            a.a.createElement(
+              "div",
+              { className: "gf-form-inline" },
+              a.a.createElement(
+                "div",
+                { className: "gf-form offset-width-9" },
+                a.a.createElement(
+                  "label",
+                  { className: "gf-form-label query-keyword width-15" },
+                  "Aligner"
+                ),
+                a.a.createElement(o.Segment, {
+                  onChange: function (e) {
+                    var t = e.value;
+                    return r(t);
+                  },
+                  value: [].concat(B(i), B(n)).find(function (e) {
+                    return e.value === t;
+                  }),
+                  options: [
+                    { label: "Template Variables", options: n },
+                    { label: "Alignment options", expanded: !0, options: i },
+                  ],
+                  placeholder: "Select Alignment",
+                })
+              )
+            )
+          );
+        },
+        q = n("PbtU");
+      function U(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function z(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function H(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var G = function (e) {
+        var t = e.alignmentPeriod,
+          n = e.templateSrv,
+          r = e.templateVariableOptions,
+          i = e.onChange,
+          l = e.perSeriesAligner,
+          s = e.usedAlignmentPeriod,
+          c = S.b.find(function (e) {
+            return e.value === n.replace(l);
+          }),
+          u = ""
+            .concat(q.a.secondsToHms(s), " interval (")
+            .concat(c ? c.text : "", ")"),
+          f = S.c.map(function (e) {
+            return (function (e) {
+              for (var t = 1; t < arguments.length; t++) {
+                var n = null != arguments[t] ? arguments[t] : {};
+                t % 2
+                  ? z(Object(n), !0).forEach(function (t) {
+                      H(e, t, n[t]);
+                    })
+                  : Object.getOwnPropertyDescriptors
+                  ? Object.defineProperties(
+                      e,
+                      Object.getOwnPropertyDescriptors(n)
+                    )
+                  : z(Object(n)).forEach(function (t) {
+                      Object.defineProperty(
+                        e,
+                        t,
+                        Object.getOwnPropertyDescriptor(n, t)
+                      );
+                    });
+              }
+              return e;
+            })({}, e, { label: e.text });
+          });
+        return a.a.createElement(
+          a.a.Fragment,
+          null,
+          a.a.createElement(
+            "div",
+            { className: "gf-form-inline" },
+            a.a.createElement(
+              "label",
+              { className: "gf-form-label query-keyword width-9" },
+              "Alignment Period"
+            ),
+            a.a.createElement(o.Segment, {
+              onChange: function (e) {
+                var t = e.value;
+                return i(t);
+              },
+              value: [].concat(U(f), U(r)).find(function (e) {
+                return e.value === t;
+              }),
+              options: [
+                { label: "Template Variables", options: r },
+                { label: "Aggregations", expanded: !0, options: f },
+              ],
+              placeholder: "Select Alignment",
+            }),
+            a.a.createElement(
+              "div",
+              { className: "gf-form gf-form--grow" },
+              s &&
+                a.a.createElement(
+                  "label",
+                  { className: "gf-form-label gf-form-label--grow" },
+                  u
+                )
+            )
+          )
+        );
+      };
+      function W(e) {
+        return (W =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Q(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Y(e, t) {
+        return !t || ("object" !== W(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function K(e) {
+        return (K = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function J(e, t) {
+        return (J =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Z = (function (e) {
+        function t(e) {
+          var n;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            ((n = Y(this, K(t).call(this, e))).onChange = function (e) {
+              n.setState({ value: e.target.value }),
+                n.propagateOnChange(e.target.value);
+            }),
+            (n.propagateOnChange = Object(s.debounce)(n.props.onChange, 500)),
+            (n.state = { value: "" }),
+            n
+          );
+        }
+        var n, r, i;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && J(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "componentDidMount",
+              value: function () {
+                this.setState({ value: this.props.value });
+              },
+            },
+            {
+              key: "UNSAFE_componentWillReceiveProps",
+              value: function (e) {
+                e.value !== this.props.value &&
+                  this.setState({ value: e.value });
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                return a.a.createElement(
+                  a.a.Fragment,
+                  null,
+                  a.a.createElement(
+                    "div",
+                    { className: "gf-form-inline" },
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form" },
+                      a.a.createElement(
+                        "label",
+                        { className: "gf-form-label query-keyword width-9" },
+                        "Alias By"
+                      ),
+                      a.a.createElement(o.Input, {
+                        type: "text",
+                        className: "gf-form-input width-24",
+                        value: this.state.value,
+                        onChange: this.onChange,
+                      })
+                    ),
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form gf-form--grow" },
+                      a.a.createElement("div", {
+                        className: "gf-form-label gf-form-label--grow",
+                      })
+                    )
+                  )
+                );
+              },
+            },
+          ]) && Q(n.prototype, r),
+          i && Q(n, i),
+          t
+        );
+      })(r.Component);
+      function X(e) {
+        return (X =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function ee(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function te(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function ne(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function re(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function ae(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function oe(e, t) {
+        return !t || ("object" !== X(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function ie(e) {
+        return (ie = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function le(e, t) {
+        return (le =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var se = (function (e) {
+          function t() {
+            var e, n;
+            re(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = oe(
+                this,
+                (e = ie(t)).call.apply(e, [this].concat(a))
+              )).state = { aggOptions: [], displayAdvancedOptions: !1 }),
+              (n.onToggleDisplayAdvanced = function () {
+                n.setState(function (e) {
+                  return { displayAdvancedOptions: !e.displayAdvancedOptions };
+                });
+              }),
+              n
+            );
+          }
+          var n, r, i;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && le(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value: function () {
+                  this.setAggOptions(this.props);
+                },
+              },
+              {
+                key: "UNSAFE_componentWillReceiveProps",
+                value: function (e) {
+                  this.setAggOptions(e);
+                },
+              },
+              {
+                key: "setAggOptions",
+                value: function (e) {
+                  var t = e.metricDescriptor,
+                    n = [];
+                  t &&
+                    (n = Object(j.b)(t.valueType, t.metricKind).map(function (
+                      e
+                    ) {
+                      return (function (e) {
+                        for (var t = 1; t < arguments.length; t++) {
+                          var n = null != arguments[t] ? arguments[t] : {};
+                          t % 2
+                            ? te(Object(n), !0).forEach(function (t) {
+                                ne(e, t, n[t]);
+                              })
+                            : Object.getOwnPropertyDescriptors
+                            ? Object.defineProperties(
+                                e,
+                                Object.getOwnPropertyDescriptors(n)
+                              )
+                            : te(Object(n)).forEach(function (t) {
+                                Object.defineProperty(
+                                  e,
+                                  t,
+                                  Object.getOwnPropertyDescriptor(n, t)
+                                );
+                              });
+                        }
+                        return e;
+                      })({}, e, { label: e.text });
+                    })),
+                    this.setState({ aggOptions: n });
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this.state,
+                    t = e.displayAdvancedOptions,
+                    n = e.aggOptions,
+                    r = this.props,
+                    i = r.templateVariableOptions,
+                    l = r.onChange,
+                    s = r.crossSeriesReducer;
+                  return a.a.createElement(
+                    a.a.Fragment,
+                    null,
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form-inline" },
+                      a.a.createElement(
+                        "label",
+                        { className: "gf-form-label query-keyword width-9" },
+                        "Aggregation"
+                      ),
+                      a.a.createElement(o.Segment, {
+                        onChange: function (e) {
+                          var t = e.value;
+                          return l(t);
+                        },
+                        value: [].concat(ee(n), ee(i)).find(function (e) {
+                          return e.value === s;
+                        }),
+                        options: [
+                          { label: "Template Variables", options: i },
+                          { label: "Aggregations", expanded: !0, options: n },
+                        ],
+                        placeholder: "Select Reducer",
+                      }),
+                      a.a.createElement(
+                        "div",
+                        { className: "gf-form gf-form--grow" },
+                        a.a.createElement(
+                          "label",
+                          { className: "gf-form-label gf-form-label--grow" },
+                          a.a.createElement(
+                            "a",
+                            { onClick: this.onToggleDisplayAdvanced },
+                            a.a.createElement(
+                              a.a.Fragment,
+                              null,
+                              a.a.createElement("i", {
+                                className: "fa fa-caret-".concat(
+                                  t ? "down" : "right"
+                                ),
+                              }),
+                              " Advanced Options"
+                            )
+                          )
+                        )
+                      )
+                    ),
+                    this.props.children(this.state.displayAdvancedOptions)
+                  );
+                },
+              },
+            ]) && ae(n.prototype, r),
+            i && ae(n, i),
+            t
+          );
+        })(a.a.Component),
+        ce = function (e) {
+          var t = e.label,
+            n = e.onValueChange,
+            r = e.value,
+            o = e.options;
+          return a.a.createElement(
+            "div",
+            { className: "gf-form max-width-21" },
+            a.a.createElement(
+              "span",
+              { className: "gf-form-label width-10 query-keyword" },
+              t
+            ),
+            a.a.createElement(
+              "div",
+              { className: "gf-form-select-wrapper max-width-12" },
+              a.a.createElement(
+                "select",
+                {
+                  className: "gf-form-input",
+                  required: !0,
+                  onChange: n,
+                  value: r,
+                },
+                o.map(function (e, t) {
+                  var n = e.value,
+                    r = e.name;
+                  return a.a.createElement("option", { key: t, value: n }, r);
+                })
+              )
+            )
+          );
+        };
+      n.d(t, "j", function () {
+        return l;
+      }),
+        n.d(t, "i", function () {
+          return g;
+        }),
+        n.d(t, "h", function () {
+          return k;
+        }),
+        n.d(t, "g", function () {
+          return T;
+        }),
+        n.d(t, "f", function () {
+          return L;
+        }),
+        n.d(t, "e", function () {
+          return V;
+        }),
+        n.d(t, "d", function () {
+          return $;
+        }),
+        n.d(t, "c", function () {
+          return G;
+        }),
+        n.d(t, "b", function () {
+          return Z;
+        }),
+        n.d(t, "a", function () {
+          return se;
+        }),
+        n.d(t, "k", function () {
+          return ce;
+        });
+    },
+    P20H: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return r;
+      });
+      var r = function (e) {
+        return "query" === e.type;
+      };
+    },
+    PGgk: function (e, t) {},
+    PQb9: function (e, t) {
+      var n =
+        "public/app/plugins/datasource/mssql/partials/annotations.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '\n<div class=gf-form-group>\n  <div class=gf-form-inline>\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<textarea rows=10 class=gf-form-input ng-model=ctrl.annotation.rawQuery spellcheck=false placeholder="query expression" data-min-length=0 data-items=100 ng-model-onblur ng-change=ctrl.panelCtrl.refresh()></textarea>\n\t\t</div>\n\t</div>\n\n  <div class=gf-form-inline>\n    <div class=gf-form>\n      <label class="gf-form-label query-keyword" ng-click="ctrl.showHelp = !ctrl.showHelp">\n        Show Help\n        <i class="fa fa-caret-down" ng-show=ctrl.showHelp></i>\n        <i class="fa fa-caret-right" ng-hide=ctrl.showHelp></i>\n      </label>\n\t\t</div>\n  </div>\n\n  <div class=gf-form ng-show=ctrl.showHelp>\n\t\t<pre class="gf-form-pre alert alert-info"><h6>Annotation Query Format</h6>\nAn annotation is an event that is overlaid on top of graphs. The query can have up to four columns per row, the <b>time</b> column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.\n\n- column with alias: <b>time</b> for the annotation event time. Use epoch time or any native date data type.\n- column with alias: <b>timeend</b> for the annotation event end time. Use epoch time or any native date data type.\n- column with alias: <b>text</b> for the annotation text.\n- column with alias: <b>tags</b> for annotation tags. This is a comma separated string of tags e.g. \'tag1,tag2\'.\n\n\nMacros:\n- $__time(column) -&gt; column AS time\n- $__timeEpoch(column) -&gt; DATEDIFF(second, \'1970-01-01\', column) AS time\n- $__timeFilter(column) -&gt; column BETWEEN \'2017-04-21T05:01:17Z\' AND \'2017-04-21T05:01:17Z\'\n- $__unixEpochFilter(column) -&gt; column &gt;= 1492750877 AND column &lt;= 1492750877\n- $__unixEpochNanoFilter(column) -&gt;  column &gt;= 1494410783152415214 AND column &lt;= 1494497183142514872\n\nOr build your own conditionals using these macros which just return the values:\n- $__timeFrom() -&gt;  \'2017-04-21T05:01:17Z\'\n- $__timeTo() -&gt;  \'2017-04-21T05:01:17Z\'\n- $__unixEpochFrom() -&gt; 1492750877\n- $__unixEpochTo() -&gt; 1492750877\n- $__unixEpochNanoFrom() -&gt;  1494410783152415214\n- $__unixEpochNanoTo() -&gt;  1494497183142514872\n\t\t</pre>\n\t</div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    PQjG: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return f;
+      }),
+        n.d(t, "g", function () {
+          return d;
+        }),
+        n.d(t, "f", function () {
+          return p;
+        }),
+        n.d(t, "c", function () {
+          return h;
+        }),
+        n.d(t, "b", function () {
+          return m;
+        }),
+        n.d(t, "e", function () {
+          return g;
+        }),
+        n.d(t, "d", function () {
+          return b;
+        }),
+        n.d(t, "h", function () {
+          return v;
+        }),
+        n.d(t, "i", function () {
+          return y;
+        });
+      var r = n("LvDl"),
+        a = n.n(r),
+        o = n("7Nqv");
+      function i(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function l(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function s(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function c(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function u(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      var f = function (e) {
+          return a.a.uniqBy(e, "service");
+        },
+        d = function (e, t) {
+          return e.filter(function (e) {
+            return e.service === t;
+          });
+        },
+        p = function (e, t, n, r) {
+          var a = d(e, r).map(function (e) {
+              return { value: e.type, name: e.displayName };
+            }),
+            o = a.some(function (e) {
+              return e.value === n;
+            });
+          return { metricTypes: a, selectedMetricType: o ? t : a[0].value };
+        },
+        h = function (e, t) {
+          return e
+            ? o.b.filter(function (n) {
+                return (
+                  -1 !== n.valueTypes.indexOf(e) &&
+                  -1 !== n.metricKinds.indexOf(t)
+                );
+              })
+            : [];
+        },
+        m = function (e, t) {
+          return t
+            ? o.a.filter(function (n) {
+                return (
+                  -1 !== n.valueTypes.indexOf(e) &&
+                  -1 !== n.metricKinds.indexOf(t)
+                );
+              })
+            : [];
+        },
+        g = (function () {
+          var e,
+            t =
+              ((e = regeneratorRuntime.mark(function e(t, n, r) {
+                var a;
+                return regeneratorRuntime.wrap(function (e) {
+                  for (;;)
+                    switch ((e.prev = e.next)) {
+                      case 0:
+                        return (
+                          (e.next = 3),
+                          t.getLabels(n, "handleLabelKeysQuery", r)
+                        );
+                      case 3:
+                        return (
+                          (a = e.sent),
+                          e.abrupt(
+                            "return",
+                            [].concat(c(Object.keys(a)), c(o.e))
+                          )
+                        );
+                      case 5:
+                      case "end":
+                        return e.stop();
+                    }
+                }, e);
+              })),
+              function () {
+                var t = this,
+                  n = arguments;
+                return new Promise(function (r, a) {
+                  var o = e.apply(t, n);
+                  function i(e) {
+                    u(o, r, a, i, l, "next", e);
+                  }
+                  function l(e) {
+                    u(o, r, a, i, l, "throw", e);
+                  }
+                  i(void 0);
+                });
+              });
+          return function (e, n, r) {
+            return t.apply(this, arguments);
+          };
+        })(),
+        b = function (e, t) {
+          var n = e.valueType,
+            r = e.metricKind,
+            a = e.perSeriesAligner,
+            o = h(n, r).map(function (e) {
+              return (function (e) {
+                for (var t = 1; t < arguments.length; t++) {
+                  var n = null != arguments[t] ? arguments[t] : {};
+                  t % 2
+                    ? l(Object(n), !0).forEach(function (t) {
+                        s(e, t, n[t]);
+                      })
+                    : Object.getOwnPropertyDescriptors
+                    ? Object.defineProperties(
+                        e,
+                        Object.getOwnPropertyDescriptors(n)
+                      )
+                    : l(Object(n)).forEach(function (t) {
+                        Object.defineProperty(
+                          e,
+                          t,
+                          Object.getOwnPropertyDescriptor(n, t)
+                        );
+                      });
+                }
+                return e;
+              })({}, e, { label: e.text });
+            });
+          return (
+            o.some(function (e) {
+              return e.value === t.replace(a);
+            }) || (a = o.length > 0 ? o[0].value : ""),
+            { alignOptions: o, perSeriesAligner: a }
+          );
+        },
+        v = function (e) {
+          var t = e.reduce(function (e, t) {
+            var n = t.split(".").map(a.a.startCase),
+              r = (2 === n.length ? n : a.a.initial(n)).join(" "),
+              o = { value: t, label: t };
+            return e[r] ? (e[r] = [].concat(c(e[r]), [o])) : (e[r] = [o]), e;
+          }, {});
+          return Object.entries(t).map(function (e) {
+            var t = i(e, 2);
+            return { label: t[0], options: t[1], expanded: !0 };
+          }, []);
+        },
+        y = function (e) {
+          return { label: e, value: e };
+        };
+    },
+    PSiG: function (e, t, n) {
+      "use strict";
+      function r(e, t, n, r) {
+        for (var a in n)
+          n.hasOwnProperty(a) && (e[a] = void 0 === t[a] ? n[a] : t[a]);
+      }
+      n.d(t, "a", function () {
+        return r;
+      });
+    },
+    PVeq: function (e, t, n) {
+      "use strict";
+      var r = n("KHwQ"),
+        a = n.n(r),
+        o = n("LvDl"),
+        i = n.n(o),
+        l = n("1gCF"),
+        s = n("GQ3c");
+      function c(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var u = (function () {
+        function e(t, n) {
+          var r = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.variableSrv = t),
+            (this.$location = n),
+            (this.annotations = this.dashboard.templating.list),
+            (this.variables = this.variableSrv.variables),
+            (this.submenuEnabled = this.dashboard.meta.submenuEnabled),
+            this.dashboard.events.on(
+              s.CoreEvents.submenuVisibilityChanged,
+              function (e) {
+                r.submenuEnabled = e;
+              }
+            ),
+            (this.selectors = l.a.pages.Dashboard.SubMenu.selectors);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["variableSrv", "$location"]),
+          (t = e),
+          (n = [
+            {
+              key: "annotationStateChanged",
+              value: function () {
+                this.dashboard.startRefresh();
+              },
+            },
+            {
+              key: "variableUpdated",
+              value: function (e) {
+                this.variableSrv.variableUpdated(e, !0);
+              },
+            },
+            {
+              key: "openEditView",
+              value: function (e) {
+                var t = i.a.extend(this.$location.search(), { editview: e });
+                this.$location.search(t);
+              },
+            },
+          ]) && c(t.prototype, n),
+          r && c(t, r),
+          e
+        );
+      })();
+      a.a
+        .module("grafana.directives")
+        .directive("dashboardSubmenu", function () {
+          return {
+            restrict: "E",
+            templateUrl:
+              "public/app/features/dashboard/components/SubMenu/template.html",
+            controller: u,
+            bindToController: !0,
+            controllerAs: "ctrl",
+            scope: { dashboard: "=" },
+          };
+        });
+      var f = n("q1tI"),
+        d = n.n(f),
+        p = n("t8hP");
+      function h(e) {
+        return (h =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function m(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function g(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function b(e, t) {
+        return !t || ("object" !== h(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function v(e) {
+        return (v = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function y(e, t) {
+        return (y =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var w = (function (e) {
+        function t() {
+          return m(this, t), b(this, v(t).apply(this, arguments));
+        }
+        var n, r, a;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && y(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "componentDidMount",
+              value: function () {
+                var e = Object(p.getAngularLoader)(),
+                  t = { dashboard: this.props.dashboard };
+                this.angularCmp = e.load(
+                  this.element,
+                  t,
+                  '<dashboard-submenu dashboard="dashboard" />'
+                );
+              },
+            },
+            {
+              key: "componentWillUnmount",
+              value: function () {
+                this.angularCmp && this.angularCmp.destroy();
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this;
+                return d.a.createElement("div", {
+                  ref: function (t) {
+                    return (e.element = t);
+                  },
+                });
+              },
+            },
+          ]) && g(n.prototype, r),
+          a && g(n, a),
+          t
+        );
+      })(f.PureComponent);
+      n.d(t, "a", function () {
+        return w;
+      });
+    },
+    PbtU: function (e, t, n) {
+      "use strict";
+      var r = n("LvDl"),
+        a = n("Obii"),
+        o = {
+          valueFormats: {},
+          regexEscape: function (e) {
+            return e.replace(/[\\^$*+?.()|[\]{}\/]/g, "\\$&");
+          },
+          round_interval: function (e) {
+            switch (!0) {
+              case e < 15:
+                return 10;
+              case e < 35:
+                return 20;
+              case e < 75:
+                return 50;
+              case e < 150:
+                return 100;
+              case e < 350:
+                return 200;
+              case e < 750:
+                return 500;
+              case e < 1500:
+                return 1e3;
+              case e < 3500:
+                return 2e3;
+              case e < 7500:
+                return 5e3;
+              case e < 12500:
+                return 1e4;
+              case e < 17500:
+                return 15e3;
+              case e < 25e3:
+                return 2e4;
+              case e < 45e3:
+                return 3e4;
+              case e < 9e4:
+                return 6e4;
+              case e < 21e4:
+                return 12e4;
+              case e < 45e4:
+                return 3e5;
+              case e < 75e4:
+                return 6e5;
+              case e < 105e4:
+                return 9e5;
+              case e < 15e5:
+                return 12e5;
+              case e < 27e5:
+                return 18e5;
+              case e < 54e5:
+                return 36e5;
+              case e < 9e6:
+                return 72e5;
+              case e < 162e5:
+                return 108e5;
+              case e < 324e5:
+                return 216e5;
+              case e < 864e5:
+                return 432e5;
+              case e < 6048e5:
+                return 864e5;
+              case e < 18144e5:
+                return 6048e5;
+              case e < 36288e5:
+                return 2592e6;
+              default:
+                return 31536e6;
+            }
+          },
+          secondsToHms: function (e) {
+            var t = Math.floor(e / 31536e3);
+            if (t) return t + "y";
+            var n = Math.floor((e % 31536e3) / 86400);
+            if (n) return n + "d";
+            var r = Math.floor(((e % 31536e3) % 86400) / 3600);
+            if (r) return r + "h";
+            var a = Math.floor((((e % 31536e3) % 86400) % 3600) / 60);
+            if (a) return a + "m";
+            var o = Math.floor((((e % 31536e3) % 86400) % 3600) % 60);
+            if (o) return o + "s";
+            var i = Math.floor(1e3 * e);
+            return i ? i + "ms" : "less than a millisecond";
+          },
+          secondsToHhmmss: function (e) {
+            var t = [],
+              n = Math.floor(e / 3600),
+              r = Math.floor((e % 3600) / 60),
+              a = Math.floor((e % 3600) % 60);
+            return (
+              n > 9 ? t.push("" + n) : t.push("0" + n),
+              r > 9 ? t.push("" + r) : t.push("0" + r),
+              a > 9 ? t.push("" + a) : t.push("0" + a),
+              t.join(":")
+            );
+          },
+          to_percent: function (e, t) {
+            return Math.floor((e / t) * 1e4) / 100 + "%";
+          },
+          addslashes: function (e) {
+            return (e = (e = (e = (e = e.replace(/\\/g, "\\\\")).replace(
+              /\'/g,
+              "\\'"
+            )).replace(/\"/g, '\\"')).replace(/\0/g, "\\0"));
+          },
+          interval_regex: /(\d+(?:\.\d+)?)(ms|[Mwdhmsy])/,
+          intervals_in_seconds: {
+            y: 31536e3,
+            M: 2592e3,
+            w: 604800,
+            d: 86400,
+            h: 3600,
+            m: 60,
+            s: 1,
+            ms: 0.001,
+          },
+          calculateInterval: function (e, t, n) {
+            var r,
+              a = 1;
+            return (
+              n &&
+                (">" === n[0] && (n = n.slice(1)), (a = o.interval_to_ms(n))),
+              a >
+                (r = o.round_interval(
+                  (e.to.valueOf() - e.from.valueOf()) / t
+                )) && (r = a),
+              { intervalMs: r, interval: o.secondsToHms(r / 1e3) }
+            );
+          },
+          describe_interval: function (e) {
+            var t = e.match(o.interval_regex);
+            if (t && Object(r.has)(o.intervals_in_seconds, t[2]))
+              return {
+                sec: o.intervals_in_seconds[t[2]],
+                type: t[2],
+                count: parseInt(t[1], 10),
+              };
+            throw new Error(
+              'Invalid interval string, expecting a number followed by one of "Mwdhmsy"'
+            );
+          },
+          interval_to_ms: function (e) {
+            var t = o.describe_interval(e);
+            return 1e3 * t.sec * t.count;
+          },
+          interval_to_seconds: function (e) {
+            var t = o.describe_interval(e);
+            return t.sec * t.count;
+          },
+          query_color_dot: function (e, t) {
+            return (
+              '<div class="icon-circle" style="' +
+              [
+                "display:inline-block",
+                "color:" + e,
+                "font-size:" + t + "px",
+              ].join(";") +
+              '"></div>'
+            );
+          },
+          slugifyForUrl: function (e) {
+            return e
+              .toLowerCase()
+              .replace(/[^\w ]+/g, "")
+              .replace(/ +/g, "-");
+          },
+          stringToJsRegex: function (e) {
+            return (
+              Object(a.deprecationWarning)(
+                "kbn.ts",
+                "kbn.stringToJsRegex()",
+                "@grafana/data"
+              ),
+              Object(a.stringToJsRegex)(e)
+            );
+          },
+          toFixed: function (e, t) {
+            if (null === e) return "";
+            var n = t ? Math.pow(10, Math.max(0, t)) : 1,
+              r = String(Math.round(e * n) / n);
+            if (-1 !== r.indexOf("e") || 0 === e) return r;
+            if (null != t) {
+              var a = r.indexOf("."),
+                o = -1 === a ? 0 : r.length - a - 1;
+              if (o < t) return (o ? r : r + ".") + String(n).substr(1, t - o);
+            }
+            return r;
+          },
+          toFixedScaled: function (e, t, n, r, a) {
+            return null === n ? o.toFixed(e, t) + a : o.toFixed(e, n + r) + a;
+          },
+          roundValue: function (e, t) {
+            if (null === e) return null;
+            var n = Math.pow(10, t),
+              r = (n * e).toFixed(t);
+            return Math.round(parseFloat(r)) / n;
+          },
+          getUnitFormats: function () {
+            return Object(a.getValueFormats)();
+          },
+        };
+      "undefined" != typeof Proxy
+        ? (o.valueFormats = new Proxy(o.valueFormats, {
+            get: function (e, t, n) {
+              if ("string" != typeof t)
+                throw {
+                  message: "Value format ".concat(
+                    String(t),
+                    " is not a string"
+                  ),
+                };
+              var r = Object(a.getValueFormat)(t);
+              return r
+                ? function (e, t, n, o) {
+                    return Object(a.formattedValueToString)(
+                      r(e, t, n, o ? "utc" : "browser")
+                    );
+                  }
+                : Reflect.get(e, t, n);
+            },
+          }))
+        : (o.valueFormats = Object(a.getValueFormatterIndex)()),
+        (t.a = o);
+    },
+    Pfkp: function (e, t) {
+      var n =
+        "public/app/plugins/datasource/elasticsearch/partials/metric_agg.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=gf-form-inline ng-class="{\'gf-form-disabled\': agg.hide}">\n\t<div class=gf-form>\n\t\t<label class="gf-form-label query-keyword width-7">\n\t\t\tMetric\n\t\t\t&nbsp;\n\t\t\t<a ng-click=toggleShowMetric() bs-tooltip="\'Click to toggle show / hide metric\'">\n\t\t\t\t<i class="fa fa-eye" ng-hide=agg.hide></i>\n\t\t\t\t<i class="fa fa-eye-slash" ng-show=agg.hide></i>\n\t\t\t</a>\n\t\t</label>\n\t</div>\n\n\t<div class=gf-form>\n\t\t<metric-segment-model property=agg.type options=metricAggTypes on-change=onTypeChange() custom=false css-class=width-10></metric-segment-model>\n\t\t<metric-segment-model ng-if=aggDef.requiresField property=agg.field get-options=getFieldsInternal() on-change=onChange() css-class=width-12></metric-segment-model>\n\t\t<metric-segment-model ng-if="aggDef.isPipelineAgg && !aggDef.supportsMultipleBucketPaths" property=agg.pipelineAgg options=pipelineAggOptions on-change=onChangeInternal() custom=false css-class=width-12></metric-segment-model>\n\t</div>\n\n  <div class="gf-form gf-form--grow" ng-if="aggDef.isPipelineAgg && aggDef.supportsMultipleBucketPaths">\n\t\t<label class="gf-form-label gf-form-label--grow">\n\t\t\t<a ng-click=toggleVariables()>\n\t\t\t\t<i class="fa fa-caret-down" ng-show=showVariables></i>\n\t\t\t\t<i class="fa fa-caret-right" ng-hide=showVariables></i>\n        {{variablesLinkText}}\n\t\t\t</a>\n\t\t</label>\n\t</div>\n\n\t<div class="gf-form gf-form--grow">\n\t\t<label class="gf-form-label gf-form-label--grow">\n\t\t\t<a ng-click=toggleOptions() ng-if=settingsLinkText>\n\t\t\t\t<i class="fa fa-caret-down" ng-show=showOptions></i>\n\t\t\t\t<i class="fa fa-caret-right" ng-hide=showOptions></i>\n\t\t\t\t\t{{settingsLinkText}}\n\t\t\t</a>\n\t\t</label>\n\t</div>\n\n\t<div class=gf-form>\n\t\t<label class=gf-form-label ng-if=isFirst>\n\t\t\t<a class=pointer ng-click=addMetricAgg()><i class="fa fa-plus"></i></a>\n\t\t</label>\n\t\t<label class=gf-form-label ng-if=!isSingle>\n\t\t\t<a class=pointer ng-click=removeMetricAgg()><i class="fa fa-minus"></i></a>\n\t\t</label>\n\t</div>\n</div>\n\n<div class=gf-form-group ng-if=showVariables>\n\t<elastic-pipeline-variables variables=agg.pipelineVariables options=pipelineAggOptions on-change=onChangeInternal() />\n  <div class="gf-form offset-width-7">\n    <label class="gf-form-label width-10">\n      Script\n      <info-popover mode=right-normal>\n        Elasticsearch v5.0 and above: Scripting language is Painless. Use <i>params.&lt;var&gt;</i> to reference a variable.<br/><br/>\n        Elasticsearch pre-v5.0: Scripting language is per default Groovy if not changed. For Groovy use <i>&lt;var&gt;</i> to reference a variable.\n      </info-popover>\n    </label>\n    <input type=text class="gf-form-input max-width-24" empty-to-null ng-model=agg.settings.script ng-blur=onChangeInternal() spellcheck=false placeholder="params.var1 / params.var2">\n  </div>\n</div>\n\n<div class=gf-form-group ng-if=showOptions>\n\t<div class="gf-form offset-width-7" ng-if="agg.type === \'derivative\'">\n\t\t<label class="gf-form-label width-10">Unit</label>\n\t\t<input type=text class="gf-form-input max-width-12" ng-model=agg.settings.unit ng-blur=onChangeInternal() spellcheck=false>\n\t</div>\n\n  <div ng-if="agg.type === \'moving_avg\'">\n    <div class="gf-form offset-width-7">\n      <label class="gf-form-label width-10">Model</label>\n      <metric-segment-model property=agg.settings.model options=movingAvgModelTypes on-change=onChangeClearInternal() custom=false css-class=width-12></metric-segment-model>\n    </div>\n\n    <div class="gf-form offset-width-7">\n      <label class="gf-form-label width-10">Window</label>\n      <input type=number class="gf-form-input max-width-12" ng-model=agg.settings.window ng-blur=onChangeInternal() spellcheck=false>\n    </div>\n\n    <div class="gf-form offset-width-7">\n      <label class="gf-form-label width-10">Predict</label>\n      <input type=number class="gf-form-input max-width-12" ng-model=agg.settings.predict ng-blur=onChangeInternal() spellcheck=false>\n    </div>\n\n\n    <div class="gf-form offset-width-7" ng-repeat="setting in modelSettings">\n      <label class="gf-form-label width-10">{{setting.text}}</label>\n      <input type=number class="gf-form-input max-width-12" ng-model=agg.settings.settings[setting.value] ng-blur=onChangeInternal() spellcheck=false>\n    </div>\n\n    <gf-form-switch ng-if="agg.settings.model == \'holt_winters\'" class="gf-form offset-width-7" label=Pad label-class=width-10 checked=agg.settings.settings.pad on-change=onChangeInternal()></gf-form-switch>\n    <gf-form-switch ng-if="agg.settings.model.match(\'ewma|holt_winters|holt\') !== null" class="gf-form offset-width-7" label=Minimize label-class=width-10 checked=agg.settings.minimize on-change=onChangeInternal()></gf-form-switch>\n  </div>\n\n  <div class="gf-form offset-width-7" ng-if="agg.type === \'percentiles\'">\n    <label class="gf-form-label width-10">Percentiles</label>\n    <input type=text class="gf-form-input max-width-12" ng-model=agg.settings.percents array-join ng-blur=onChange()>\n  </div>\n  <div class="gf-form offset-width-7" ng-if="agg.type === \'raw_document\'">\n    <label class="gf-form-label width-10">Size</label>\n    <input type=number class="gf-form-input max-width-12" ng-model=agg.settings.size ng-blur=onChange()>\n  </div>\n\n\n  <div class="gf-form offset-width-7" ng-if="agg.type === \'cardinality\'">\n    <label class="gf-form-label width-10">Precision threshold</label>\n    <input type=number class="gf-form-input max-width-12" ng-model=agg.settings.precision_threshold ng-blur=onChange()>\n  </div>\n\n  <div ng-if="agg.type === \'extended_stats\'">\n    <gf-form-switch ng-repeat="stat in extendedStats" class="gf-form offset-width-7" label={{stat.text}} label-class=width-10 checked=agg.meta[stat.value] on-change=onChangeInternal()></gf-form-switch>\n\n    <div class="gf-form offset-width-7">\n      <label class="gf-form-label width-10">Sigma</label>\n      <input type=number class="gf-form-input max-width-12" placeholder=3 ng-model=agg.settings.sigma ng-blur=onChange()>\n    </div>\n  </div>\n\n  <div class="gf-form offset-width-7" ng-if=aggDef.supportsInlineScript>\n    <label class="gf-form-label width-10">Script</label>\n    <input type=text class="gf-form-input max-width-12" empty-to-null ng-model=agg.inlineScript ng-blur=onChangeInternal() spellcheck=false placeholder="_value * 1">\n  </div>\n\n  <div class="gf-form offset-width-7" ng-if=aggDef.supportsMissing>\n\t\t<label class="gf-form-label width-10">\n\t\t\tMissing\n\t\t\t<tip>The missing parameter defines how documents that are missing a value should be treated. By default they will be ignored but it is also possible to treat them as if they had a value</tip>\n\t\t</label>\n\t\t<input type=number class="gf-form-input max-width-12" empty-to-null ng-model=agg.settings.missing ng-blur=onChangeInternal() spellcheck=false>\n  </div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    Q8uG: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return o;
+      });
+      var r = n("txxJ"),
+        a = n("t/ct");
+      function o(e, t, n) {
+        r.c.directive(e, [
+          "reactDirective",
+          function (e) {
+            return e(Object(a.b)(t), n);
+          },
+        ]);
+      }
+    },
+    QBcC: function (e, t) {
+      var n = "public/app/features/org/partials/select_org.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<page-header model=navModel></page-header>\n\n<div class="page-container page-body">\n\n\t<div class=signup>\n\t\t<div class=login-form>\n\n\t\t\t<div class=modal-tagline>\n\t\t\t\tYou have been added to another Organization due to an open invitation!\n\n\t\t\t\tPlease select which organization you want to <br>\n\t\t\t\tuse right now (you can change this later at any time).\n\t\t\t</div>\n\n\t\t\t<div style="display:inline-block;width:400px;margin:30px 0">\n\t\t\t\t<div ng-repeat="org in orgs">\n\t\t\t\t\t<a ng-click=setUsingOrg(org) class="btn btn-primary">\n\t\t\t\t\t\t{{org.name}} ({{org.role}})\n\t\t\t\t\t</a>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<footer/>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    QGP0: function (e, t, n) {
+      "use strict";
+      var r, a;
+      n.d(t, "b", function () {
+        return r;
+      }),
+        n.d(t, "a", function () {
+          return a;
+        }),
+        (function (e) {
+          (e.Thresholds = "thresholds"),
+            (e.Scheme = "scheme"),
+            (e.Fixed = "fixed");
+        })(r || (r = {})),
+        (function (e) {
+          (e.BrBG = "BrBG"),
+            (e.PRGn = "PRGn"),
+            (e.PiYG = "PiYG"),
+            (e.PuOr = "PuOr"),
+            (e.RdBu = "RdBu"),
+            (e.RdGy = "RdGy"),
+            (e.RdYlBu = "RdYlBu"),
+            (e.RdYlGn = "RdYlGn"),
+            (e.Spectral = "Spectral"),
+            (e.BuGn = "BuGn"),
+            (e.BuPu = "BuPu"),
+            (e.GnBu = "GnBu"),
+            (e.OrRd = "OrRd"),
+            (e.PuBuGn = "PuBuGn"),
+            (e.PuBu = "PuBu"),
+            (e.PuRd = "PuRd"),
+            (e.RdPu = "RdPu"),
+            (e.YlGnBu = "YlGnBu"),
+            (e.YlGn = "YlGn"),
+            (e.YlOrBr = "YlOrBr"),
+            (e.YlOrRd = "YlOrRd"),
+            (e.Blues = "Blues"),
+            (e.Greens = "Greens"),
+            (e.Greys = "Greys"),
+            (e.Purples = "Purples"),
+            (e.Reds = "Reds"),
+            (e.Oranges = "Oranges");
+        })(a || (a = {}));
+    },
+    QH30: function (e, t) {
+      var n = "public/app/features/admin/partials/edit_user.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<page-header model=navModel></page-header>\n\n<div class="page-container page-body">\n  <h3 class=page-sub-heading>Edit User</h3>\n\n  <form name=userForm class=gf-form-group>\n    <div class=gf-form>\n      <span class="gf-form-label width-10">Name</span>\n      <input type=text required ng-model=user.name class="gf-form-input max-width-25"/>\n    </div>\n    <div class=gf-form>\n      <span class="gf-form-label width-10">Email</span>\n      <input type=email ng-model=user.email class="gf-form-input max-width-25"/>\n    </div>\n    <div class=gf-form>\n      <span class="gf-form-label width-10">Username</span>\n      <input type=text ng-model=user.login class="gf-form-input max-width-25"/>\n    </div>\n\n    <div class=gf-form-button-row>\n      <button type=submit class="btn btn-primary" ng-click=update() ng-show=!createMode>Update</button>\n    </div>\n  </form>\n\n  <h3 class=page-heading>Change password</h3>\n\n  <form name=passwordForm class=gf-form-group>\n    <div class=gf-form>\n      <span class="gf-form-label width-10">New password</span>\n      <input type=password required ng-minlength=4 ng-model=password class="gf-form-input max-width-25"/>\n    </div>\n\n    <div class=gf-form-button-row>\n      <button type=submit class="btn btn-primary" ng-click=setPassword()>Update</button>\n    </div>\n  </form>\n\n  <h3 class=page-heading>Permissions</h3>\n\n  <form name=passwordForm class=gf-form-group>\n    <div class=gf-form>\n      <gf-form-switch class=gf-form label="Grafana Admin" checked=permissions.isGrafanaAdmin switch-class=max-width-6 on-change=updatePermissions()></gf-form-switch>\n    </div>\n  </form>\n\n  <h3 class=page-heading>Organizations</h3>\n\n  <form name=addOrgForm class=gf-form-group>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <span class=gf-form-label>Add</span>\n        <input type=text ng-model=newOrg.name bs-typeahead=searchOrgs required class="gf-form-input max-width-20" placeholder="organization name"/>\n      </div>\n      <div class=gf-form>\n        <span class=gf-form-label>Role</span>\n        <span class=gf-form-select-wrapper>\n          <select type=text ng-model=newOrg.role class="gf-form-input width-10" ng-options="f for f in [\'Viewer\', \'Editor\', \'Admin\']"></select>\n        </span>\n      </div>\n      <div class=gf-form>\n        <button class="btn btn-primary gf-form-btn" ng-click=addOrgUser()>Add</button>\n      </div>\n    </div>\n  </form>\n\n  <div class=gf-form-group>\n    <table class=filter-table>\n      <thead>\n        <tr>\n          <th>Name</th>\n          <th>Role</th>\n          <th></th>\n        </tr>\n      </thead>\n      <tr ng-repeat="org in orgs">\n        <td>{{org.name}} <span class="label label-info" ng-show="org.orgId === user.orgId">Current</span></td>\n        <td>\n          <div class=gf-form>\n            <span class=gf-form-select-wrapper>\n              <select type=text ng-model=org.role class="gf-form-input max-width-12" ng-options="f for f in [\'Viewer\', \'Editor\', \'Admin\']" ng-change=updateOrgUser(org)>\n              </select>\n            </span>\n          </div>\n        </td>\n        <td style=width:1%>\n          <a ng-click=removeOrgUser(org) class="btn btn-danger btn-small">\n            <i class="fa fa-remove"></i>\n          </a>\n        </td>\n      </tr>\n    </table>\n  </div>\n\n  <h3 class=page-heading>Sessions</h3>\n\n  <div class=gf-form-group>\n    <div class=gf-form>\n      <table class="filter-table form-inline">\n        <thead>\n          <tr>\n            <th>Last seen</th>\n            <th>Logged on</th>\n            <th>IP address</th>\n            <th>Browser &amp; OS</th>\n            <th></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr ng-repeat="session in sessions">\n            <td ng-if=session.isActive>Now</td>\n            <td ng-if=!session.isActive>{{session.seenAt}}</td>\n            <td>{{session.createdAt}}</td>\n            <td>{{session.clientIp}}</td>\n            <td>{{session.browser}} on {{session.os}} {{session.osVersion}}</td>\n            <td>\n              <button class="btn btn-danger btn-small" ng-click=revokeUserSession(session.id)>\n                <i class="fa fa-power-off"></i>\n              </button>\n            </td>\n          </tr>\n        </tbody>\n      </table>\n    </div>\n    <div class=gf-form-button-row>\n      <button ng-if=sessions.length class="btn btn-danger" ng-click=revokeAllUserSessions()>\n        Logout user from all devices\n      </button>\n    </div>\n  </div>\n\n\n  <h3 class=page-heading>User status</h3>\n\n  <div class=gf-form-group>\n    <div class=gf-form-button-row>\n      <button type=submit class="btn btn-danger" ng-if=!user.isDisabled ng-click=disableUser($event) bs-tooltip="user.isExternal ? \'External user cannot be enabled or disabled\' : \'\'" ng-class="{\'disabled\': user.isExternal}">\n        Disable\n      </button>\n      <button type=submit class="btn btn-primary" ng-if=user.isDisabled ng-click=disableUser($event) bs-tooltip="user.isExternal ? \'External user cannot be enabled or disabled\' : \'\'" ng-class="{\'disabled\': user.isExternal}">\n        Enable\n      </button>\n      <button type=submit class="btn btn-danger" ng-click=deleteUser(user) ng-show=!createMode>Delete User</button>\n    </div>\n  </div>\n</div>\n\n<footer/>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    QJHg: function (e, t, n) {
+      "use strict";
+      var r = n("LvDl"),
+        a = n.n(r),
+        o = n("kDLi"),
+        i = n("Obii"),
+        l = n("ZFWI");
+      var s,
+        c = n("VX0D"),
+        u = n("m257"),
+        f = n("66yP");
+      function d(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function p(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? d(Object(n), !0).forEach(function (t) {
+                h(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : d(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function h(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      n.d(t, "b", function () {
+        return y;
+      }),
+        n.d(t, "c", function () {
+          return w;
+        }),
+        n.d(t, "a", function () {
+          return x;
+        });
+      var m,
+        g,
+        b =
+          (h((s = {}), i.LogLevel.critical, o.colors[7]),
+          h(s, i.LogLevel.warning, o.colors[1]),
+          h(s, i.LogLevel.error, o.colors[4]),
+          h(s, i.LogLevel.info, o.colors[0]),
+          h(s, i.LogLevel.debug, o.colors[5]),
+          h(s, i.LogLevel.trace, o.colors[2]),
+          h(
+            s,
+            i.LogLevel.unknown,
+            ((m = "#8e8e8e"),
+            (g = "#dde4ed"),
+            l.b.bootData.user.lightTheme ? g : m)
+          ),
+          s),
+        v = /\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-6]\d[,\.]\d+([+-][0-2]\d:[0-5]\d|Z)/g;
+      function y(e, t) {
+        return t === i.LogsDedupStrategy.none
+          ? e
+          : e.reduce(function (e, n, r) {
+              var a = p({}, n),
+                o = e[e.length - 1];
+              return (
+                r > 0 &&
+                (function (e, t, n) {
+                  switch (n) {
+                    case i.LogsDedupStrategy.exact:
+                      return e.entry.replace(v, "") === t.entry.replace(v, "");
+                    case i.LogsDedupStrategy.numbers:
+                      return (
+                        e.entry.replace(/\d/g, "") ===
+                        t.entry.replace(/\d/g, "")
+                      );
+                    case i.LogsDedupStrategy.signature:
+                      return (
+                        e.entry.replace(/\w/g, "") ===
+                        t.entry.replace(/\w/g, "")
+                      );
+                    default:
+                      return !1;
+                  }
+                })(n, o, t)
+                  ? o.duplicates++
+                  : ((a.duplicates = 0), e.push(a)),
+                e
+              );
+            }, []);
+      }
+      function w(e, t) {
+        return 0 === t.size
+          ? e
+          : e.filter(function (e) {
+              return !t.has(e.logLevel);
+            });
+      }
+      function O(e) {
+        return (
+          e.fields.some(function (e) {
+            return e.type === i.FieldType.time;
+          }) &&
+          e.fields.some(function (e) {
+            return e.type === i.FieldType.string;
+          })
+        );
+      }
+      function x(e, t, n) {
+        var r = (function (e) {
+            var t = [],
+              n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done);
+                r = !0
+              ) {
+                var s = i.value;
+                O(s) ? n.push(s) : t.push(s);
+              }
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return { logSeries: n, metricSeries: t };
+          })(e),
+          l = r.logSeries,
+          s = r.metricSeries,
+          d = (function (e) {
+            if (0 === e.length) return;
+            var t = [],
+              n = e.map(function (e) {
+                var n = new i.FieldCache(e),
+                  r = n.getFirstFieldOfType(i.FieldType.string);
+                return (
+                  r.labels && t.push(r.labels),
+                  {
+                    series: e,
+                    timeField: n.getFirstFieldOfType(i.FieldType.time),
+                    stringField: r,
+                    logLevelField: n.getFieldByName("level"),
+                    idField: k(n),
+                  }
+                );
+              }),
+              r = t.length > 0 ? Object(i.findCommonLabels)(t) : {},
+              l = [],
+              s = !1,
+              f = !0,
+              d = !1,
+              p = void 0;
+            try {
+              for (
+                var h, m = n[Symbol.iterator]();
+                !(f = (h = m.next()).done);
+                f = !0
+              ) {
+                var g = h.value,
+                  b = g.timeField,
+                  v = g.stringField,
+                  y = g.logLevelField,
+                  w = g.idField,
+                  O = g.series,
+                  x = v.labels,
+                  j = Object(i.findUniqueLabels)(x, r);
+                Object.keys(j).length > 0 && (s = !0);
+                var S = void 0;
+                x &&
+                  -1 !== Object.keys(x).indexOf("level") &&
+                  (S = Object(i.getLogLevelFromKey)(x.level));
+                for (var E = 0; E < O.length; E++) {
+                  var C = b.values.get(E),
+                    P = Object(i.dateTime)(C),
+                    T = v.values.get(E),
+                    D = "string" == typeof T ? T : JSON.stringify(T),
+                    A = Object(c.b)(D),
+                    _ = O.meta && O.meta.searchWords ? O.meta.searchWords : [],
+                    N = i.LogLevel.unknown;
+                  (N =
+                    y && y.values.get(E)
+                      ? Object(i.getLogLevelFromKey)(y.values.get(E))
+                      : S || Object(i.getLogLevel)(D)),
+                    l.push({
+                      entryFieldIndex: v.index,
+                      rowIndex: E,
+                      dataFrame: O,
+                      logLevel: N,
+                      timeFromNow: P.fromNow(),
+                      timeEpochMs: P.valueOf(),
+                      timeLocal: P.format("YYYY-MM-DD HH:mm:ss"),
+                      timeUtc: Object(i.toUtc)(P.valueOf()).format(
+                        "YYYY-MM-DD HH:mm:ss"
+                      ),
+                      uniqueLabels: j,
+                      hasAnsi: A,
+                      searchWords: _,
+                      entry: A ? o.ansicolor.strip(D) : D,
+                      raw: D,
+                      labels: v.labels,
+                      uid: w ? w.values.get(E) : E.toString(),
+                    });
+                }
+              }
+            } catch (e) {
+              (d = !0), (p = e);
+            } finally {
+              try {
+                f || null == m.return || m.return();
+              } finally {
+                if (d) throw p;
+              }
+            }
+            var M = Object(u.g)(l),
+              I = [];
+            a.a.size(r) > 0 &&
+              I.push({
+                label: "Common labels",
+                value: r,
+                kind: i.LogsMetaKind.LabelsMap,
+              });
+            var R = e.filter(function (e) {
+                return e.meta && e.meta.limit;
+              }),
+              F = Object.values(
+                R.reduce(function (e, t) {
+                  return (e[t.refId] = t.meta.limit), e;
+                }, {})
+              ).reduce(function (e, t) {
+                return e + t;
+              }, 0);
+            R.length > 0 &&
+              I.push({
+                label: "Limit",
+                value: "".concat(F, " (").concat(M.length, " returned)"),
+                kind: i.LogsMetaKind.String,
+              });
+            return { hasUniqueLabels: s, meta: I, rows: M };
+          })(l);
+        return d
+          ? (0 === s.length
+              ? (d.series = (function (e, t, n) {
+                  var r = {},
+                    a = 10 * t,
+                    o = [],
+                    l = e.sort(u.v),
+                    s = !0,
+                    c = !1,
+                    f = void 0;
+                  try {
+                    for (
+                      var d, h = l[Symbol.iterator]();
+                      !(s = (d = h.next()).done);
+                      s = !0
+                    ) {
+                      var m = d.value,
+                        g = r[m.logLevel];
+                      g ||
+                        ((r[m.logLevel] = g = {
+                          lastTs: null,
+                          datapoints: [],
+                          alias: m.logLevel,
+                          target: m.logLevel,
+                          color: b[m.logLevel],
+                        }),
+                        o.push(g));
+                      var v = Math.floor(m.timeEpochMs / a) * a;
+                      v === g.lastTs
+                        ? g.datapoints[g.datapoints.length - 1][0]++
+                        : (g.datapoints.push([1, v]), (g.lastTs = v));
+                      var y = !0,
+                        w = !1,
+                        O = void 0;
+                      try {
+                        for (
+                          var x, k = o[Symbol.iterator]();
+                          !(y = (x = k.next()).done);
+                          y = !0
+                        ) {
+                          var j = x.value;
+                          j !== g &&
+                            j.lastTs !== v &&
+                            (j.datapoints.push([0, v]), (j.lastTs = v));
+                        }
+                      } catch (e) {
+                        (w = !0), (O = e);
+                      } finally {
+                        try {
+                          y || null == k.return || k.return();
+                        } finally {
+                          if (w) throw O;
+                        }
+                      }
+                    }
+                  } catch (e) {
+                    (c = !0), (f = e);
+                  } finally {
+                    try {
+                      s || null == h.return || h.return();
+                    } finally {
+                      if (c) throw f;
+                    }
+                  }
+                  return o.map(function (e, t) {
+                    e.datapoints.sort(function (e, t) {
+                      return e[1] - t[1];
+                    });
+                    var r = Object(i.toDataFrame)(e),
+                      a = Object(i.getFlotPairs)({
+                        xField: r.fields[1],
+                        yField: r.fields[0],
+                        nullValueMode: i.NullValueMode.Null,
+                      }),
+                      o = r.fields[1];
+                    o.display = Object(i.getDisplayProcessor)({
+                      field: o,
+                      timeZone: n,
+                    });
+                    var l = r.fields[0];
+                    return (
+                      (l.config = p({}, l.config, { color: e.color })),
+                      {
+                        color: e.color,
+                        label: e.alias,
+                        data: a,
+                        isVisible: !0,
+                        yAxis: { index: 1, min: 0, tickDecimals: 0 },
+                        seriesIndex: t,
+                        timeField: o,
+                        valueField: l,
+                        timeStep: 0,
+                      }
+                    );
+                  });
+                })(d.rows, t, n))
+              : (d.series = Object(f.a)(
+                  s,
+                  n,
+                  {},
+                  { showBars: !0, showLines: !1, showPoints: !1 },
+                  { asTable: !1, isVisible: !0, placement: "under" }
+                )),
+            d)
+          : { hasUniqueLabels: !1, rows: [], meta: [], series: [] };
+      }
+      function k(e) {
+        for (var t = 0, n = ["id"]; t < n.length; t++) {
+          var r = n[t],
+            a = e.getFieldByName(r);
+          if (a) return a;
+        }
+      }
+    },
+    QNPh: function (e, t, n) {
+      "use strict";
+      n.d(t, "b", function () {
+        return l;
+      }),
+        n.d(t, "a", function () {
+          return s;
+        }),
+        n.d(t, "c", function () {
+          return c;
+        }),
+        n.d(t, "d", function () {
+          return u;
+        });
+      var r = n("LvDl"),
+        a = n.n(r);
+      function o(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function i(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      var l = function e(t) {
+          i(this, e),
+            (this.type = t.type),
+            (this.params = t.params),
+            (this.defaultParams = t.defaultParams),
+            (this.renderer = t.renderer),
+            (this.category = t.category),
+            (this.addStrategy = t.addStrategy);
+        },
+        s = (function () {
+          function e(t, n) {
+            if ((i(this, e), (this.part = t), (this.def = n), !this.def))
+              throw { message: "Could not find query part " + t.type };
+            (t.params = t.params || a.a.clone(this.def.defaultParams)),
+              (this.params = t.params),
+              this.updateText();
+          }
+          var t, n, r;
+          return (
+            (t = e),
+            (n = [
+              {
+                key: "render",
+                value: function (e) {
+                  return this.def.renderer(this, e);
+                },
+              },
+              {
+                key: "hasMultipleParamsInString",
+                value: function (e, t) {
+                  return (
+                    -1 !== e.indexOf(",") &&
+                    this.def.params[t + 1] &&
+                    this.def.params[t + 1].optional
+                  );
+                },
+              },
+              {
+                key: "updateParam",
+                value: function (e, t) {
+                  var n = this;
+                  this.hasMultipleParamsInString(e, t)
+                    ? a.a.each(e.split(","), function (e, t) {
+                        n.updateParam(e.trim(), t);
+                      })
+                    : ("" === e && this.def.params[t].optional
+                        ? this.params.splice(t, 1)
+                        : (this.params[t] = e),
+                      (this.part.params = this.params),
+                      this.updateText());
+                },
+              },
+              {
+                key: "updateText",
+                value: function () {
+                  if (0 !== this.params.length) {
+                    var e = this.def.type + "(";
+                    (e += this.params.join(", ")), (e += ")"), (this.text = e);
+                  } else this.text = this.def.type + "()";
+                },
+              },
+            ]) && o(t.prototype, n),
+            r && o(t, r),
+            e
+          );
+        })();
+      function c(e, t) {
+        var n = e.def.type + "(",
+          r = a.a.map(e.params, function (t, n) {
+            var r = e.def.params[n];
+            return (
+              "time" === r.type && "auto" === t && (t = "$__interval"),
+              "single" === r.quote
+                ? "'" + t + "'"
+                : "double" === r.quote
+                ? '"' + t + '"'
+                : t
+            );
+          });
+        return t && r.unshift(t), n + r.join(", ") + ")";
+      }
+      function u(e, t) {
+        return t + " " + e.params[0];
+      }
+    },
+    QNe1: function (e, t) {},
+    QOF1: function (e, t, n) {
+      "use strict";
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDLi"),
+        i = n("1gCF"),
+        l = n("Obii"),
+        s = n("t8hP"),
+        c = n("0Mjz"),
+        u = n("NPB1"),
+        f = n("5kRJ");
+      function d(e, t, n, r) {
+        var a = Object(c.b)(),
+          o = Object(u.a)().timeRange();
+        return (
+          (a.from = o.from.valueOf()),
+          (a.to = o.to.valueOf()),
+          (a.orgId = s.config.bootData.user.orgId),
+          e || (delete a.from, delete a.to),
+          t && f.b.fillVariableValuesForUrl(a),
+          "current" !== n && (a.theme = n),
+          r
+            ? ((a.panelId = r.id), (a.fullscreen = !0))
+            : (delete a.panelId, delete a.fullscreen),
+          a
+        );
+      }
+      function p() {
+        var e = window.location.href,
+          t = e.indexOf("?");
+        return -1 !== t && (e = e.substring(0, t)), e;
+      }
+      function h(e, t, n, r) {
+        var a = p(),
+          o = d(e, t, n, r),
+          i = a.replace(
+            s.config.appSubUrl + "/dashboard/",
+            s.config.appSubUrl + "/dashboard-solo/"
+          );
+        return (
+          (i = i.replace(
+            s.config.appSubUrl + "/d/",
+            s.config.appSubUrl + "/d-solo/"
+          )),
+          delete o.fullscreen,
+          delete o.edit,
+          Object(c.a)(i, Object(c.d)(o))
+        );
+      }
+      function m(e, t, n, r) {
+        var a = h(e, t, n, r).replace(
+          s.config.appSubUrl + "/dashboard-solo/",
+          s.config.appSubUrl + "/render/dashboard-solo/"
+        );
+        return (
+          (a = a.replace(
+            s.config.appSubUrl + "/d-solo/",
+            s.config.appSubUrl + "/render/d-solo/"
+          )),
+          (a +=
+            "&width=1000&height=500" +
+            (function () {
+              var e =
+                "&tz=UTC" +
+                encodeURIComponent(Object(l.dateTime)().format("Z"));
+              if (!window.Intl) return e;
+              var t = window.Intl.DateTimeFormat();
+              if (!t.resolvedOptions) return e;
+              var n = t.resolvedOptions();
+              if (!n.timeZone) return e;
+              return "&tz=" + encodeURIComponent(n.timeZone);
+            })()),
+          (a += "&timeout=3600")
+        );
+      }
+      var g = n("HJRA");
+      function b(e) {
+        return (b =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function v(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function y(e, t) {
+        return !t || ("object" !== b(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function w(e) {
+        return (w = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function O(e, t) {
+        return (O =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var x = [
+          { label: "current", value: "current" },
+          { label: "dark", value: "dark" },
+          { label: "light", value: "light" },
+        ],
+        k = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = y(this, w(t).call(this, e))).buildUrl = function () {
+                var e = n.props.panel,
+                  t = n.state,
+                  r = t.useCurrentTimeRange,
+                  a = t.includeTemplateVars,
+                  o = t.selectedTheme,
+                  i = (function (e, t, n, r) {
+                    var a = p(),
+                      o = d(e, t, n, r);
+                    return Object(c.a)(a, Object(c.d)(o));
+                  })(r, a, o.value, e),
+                  l = m(r, a, o.value, e);
+                n.setState({ shareUrl: i, imageUrl: l });
+              }),
+              (n.onUseCurrentTimeRangeChange = function () {
+                n.setState({
+                  useCurrentTimeRange: !n.state.useCurrentTimeRange,
+                });
+              }),
+              (n.onIncludeTemplateVarsChange = function () {
+                n.setState({
+                  includeTemplateVars: !n.state.includeTemplateVars,
+                });
+              }),
+              (n.onThemeChange = function (e) {
+                n.setState({ selectedTheme: e });
+              }),
+              (n.onShareUrlCopy = function () {
+                g.a.emit(l.AppEvents.alertSuccess, [
+                  "Content copied to clipboard",
+                ]);
+              }),
+              (n.getShareUrl = function () {
+                return n.state.shareUrl;
+              }),
+              (n.state = {
+                useCurrentTimeRange: !0,
+                includeTemplateVars: !0,
+                selectedTheme: x[0],
+                shareUrl: "",
+                imageUrl: "",
+              }),
+              n
+            );
+          }
+          var n, r, s;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && O(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value: function () {
+                  this.buildUrl();
+                },
+              },
+              {
+                key: "componentDidUpdate",
+                value: function (e, t) {
+                  var n = this.state,
+                    r = n.useCurrentTimeRange,
+                    a = n.includeTemplateVars,
+                    o = n.selectedTheme;
+                  (t.useCurrentTimeRange === r &&
+                    t.includeTemplateVars === a &&
+                    t.selectedTheme.value === o.value) ||
+                    this.buildUrl();
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props.panel,
+                    t = this.state,
+                    n = t.useCurrentTimeRange,
+                    r = t.includeTemplateVars,
+                    l = t.selectedTheme,
+                    s = t.shareUrl,
+                    c = t.imageUrl,
+                    u = i.a.pages.SharePanelModal.selectors;
+                  return a.a.createElement(
+                    "div",
+                    { className: "share-modal-body" },
+                    a.a.createElement(
+                      "div",
+                      { className: "share-modal-header" },
+                      a.a.createElement(
+                        "div",
+                        { className: "share-modal-big-icon" },
+                        a.a.createElement("i", {
+                          className: "gicon gicon-link",
+                        })
+                      ),
+                      a.a.createElement(
+                        "div",
+                        { className: "share-modal-content" },
+                        a.a.createElement(
+                          "p",
+                          { className: "share-modal-info-text" },
+                          "Create a direct link to this dashboard or panel, customized with the options below."
+                        ),
+                        a.a.createElement(
+                          "div",
+                          { className: "gf-form-group" },
+                          a.a.createElement(o.Switch, {
+                            labelClass: "width-12",
+                            label: "Current time range",
+                            checked: n,
+                            onChange: this.onUseCurrentTimeRangeChange,
+                          }),
+                          a.a.createElement(o.Switch, {
+                            labelClass: "width-12",
+                            label: "Template variables",
+                            checked: r,
+                            onChange: this.onIncludeTemplateVarsChange,
+                          }),
+                          a.a.createElement(
+                            "div",
+                            { className: "gf-form" },
+                            a.a.createElement(
+                              "label",
+                              { className: "gf-form-label width-12" },
+                              "Theme"
+                            ),
+                            a.a.createElement(o.Select, {
+                              width: 10,
+                              options: x,
+                              value: l,
+                              onChange: this.onThemeChange,
+                            })
+                          )
+                        ),
+                        a.a.createElement(
+                          "div",
+                          null,
+                          a.a.createElement(
+                            "div",
+                            { className: "gf-form-group" },
+                            a.a.createElement(
+                              "div",
+                              { className: "gf-form-inline" },
+                              a.a.createElement(
+                                "div",
+                                { className: "gf-form gf-form--grow" },
+                                a.a.createElement("input", {
+                                  type: "text",
+                                  className: "gf-form-input",
+                                  defaultValue: s,
+                                })
+                              ),
+                              a.a.createElement(
+                                "div",
+                                { className: "gf-form" },
+                                a.a.createElement(
+                                  o.ClipboardButton,
+                                  {
+                                    variant: "inverse",
+                                    getText: this.getShareUrl,
+                                    onClipboardCopy: this.onShareUrlCopy,
+                                  },
+                                  "Copy"
+                                )
+                              )
+                            )
+                          )
+                        ),
+                        e &&
+                          a.a.createElement(
+                            "div",
+                            { className: "gf-form" },
+                            a.a.createElement(
+                              "a",
+                              {
+                                href: c,
+                                target: "_blank",
+                                "aria-label": u.linkToRenderedImage,
+                              },
+                              a.a.createElement("i", {
+                                className: "fa fa-camera",
+                              }),
+                              " Direct link rendered image"
+                            )
+                          )
+                      )
+                    )
+                  );
+                },
+              },
+            ]) && v(n.prototype, r),
+            s && v(n, s),
+            t
+          );
+        })(r.PureComponent);
+      function j(e) {
+        return (j =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function S(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function E(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              S(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              S(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function C(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function P(e, t) {
+        return !t || ("object" !== j(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function T(e) {
+        return (T = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function D(e, t) {
+        return (D =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var A = [
+          { label: "Never", value: 0 },
+          { label: "1 Hour", value: 3600 },
+          { label: "1 Day", value: 86400 },
+          { label: "7 Days", value: 604800 },
+        ],
+        _ = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = P(this, T(t).call(this, e))).createSnapshot = function (e) {
+                return function () {
+                  var t = n.state.timeoutSeconds;
+                  (n.dashboard.snapshot = { timestamp: new Date() }),
+                    e ||
+                      (n.dashboard.snapshot.originalUrl = window.location.href),
+                    n.setState({ isLoading: !0 }),
+                    n.dashboard.startRefresh(),
+                    setTimeout(function () {
+                      n.saveSnapshot(n.dashboard, e);
+                    }, 1e3 * t);
+                };
+              }),
+              (n.saveSnapshot = (function () {
+                var e = E(
+                  regeneratorRuntime.mark(function e(t, r) {
+                    var a, o, i, l;
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return (
+                                (a = n.state.snapshotExpires),
+                                (o = n.dashboard.getSaveModelClone()),
+                                n.scrubDashboard(o),
+                                (i = {
+                                  dashboard: o,
+                                  name: o.title,
+                                  expires: a,
+                                  external: r,
+                                }),
+                                (e.prev = 4),
+                                (e.next = 7),
+                                Object(s.getBackendSrv)().post(
+                                  "/api/snapshots",
+                                  i
+                                )
+                              );
+                            case 7:
+                              (l = e.sent),
+                                n.setState({
+                                  deleteUrl: l.deleteUrl,
+                                  snapshotUrl: l.url,
+                                  step: 2,
+                                });
+                            case 9:
+                              return (
+                                (e.prev = 9),
+                                n.setState({ isLoading: !1 }),
+                                e.finish(9)
+                              );
+                            case 12:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      null,
+                      [[4, , 9, 12]]
+                    );
+                  })
+                );
+                return function (t, n) {
+                  return e.apply(this, arguments);
+                };
+              })()),
+              (n.scrubDashboard = function (e) {
+                var t = n.props.panel,
+                  r = n.state.snapshotName;
+                (e.title = r),
+                  (e.time = Object(u.a)().timeRange()),
+                  e.panels.forEach(function (e) {
+                    (e.targets = []), (e.links = []), (e.datasource = null);
+                  });
+                var a = e.annotations.list.filter(function (e) {
+                  return e.enable;
+                });
+                if (
+                  ((e.annotations.list = a.map(function (e) {
+                    return {
+                      name: e.name,
+                      enable: e.enable,
+                      iconColor: e.iconColor,
+                      snapshotData: e.snapshotData,
+                      type: e.type,
+                      builtIn: e.builtIn,
+                      hide: e.hide,
+                    };
+                  })),
+                  e.getVariables().forEach(function (e) {
+                    (e.query = ""), (e.options = e.current), (e.refresh = !1);
+                  }),
+                  t)
+                ) {
+                  var o = t.getSaveModel();
+                  (o.gridPos.w = 24),
+                    (o.gridPos.x = 0),
+                    (o.gridPos.y = 0),
+                    (o.gridPos.h = 20),
+                    (e.panels = [o]);
+                }
+                delete n.dashboard.snapshot,
+                  n.dashboard.forEachPanel(function (e) {
+                    delete e.snapshotData;
+                  }),
+                  n.dashboard.annotations.list.forEach(function (e) {
+                    delete e.snapshotData;
+                  });
+              }),
+              (n.deleteSnapshot = E(
+                regeneratorRuntime.mark(function e() {
+                  var t;
+                  return regeneratorRuntime.wrap(function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (
+                            (t = n.state.deleteUrl),
+                            (e.next = 3),
+                            Object(s.getBackendSrv)().get(t)
+                          );
+                        case 3:
+                          n.setState({ step: 3 });
+                        case 4:
+                        case "end":
+                          return e.stop();
+                      }
+                  }, e);
+                })
+              )),
+              (n.getSnapshotUrl = function () {
+                return n.state.snapshotUrl;
+              }),
+              (n.onSnapshotNameChange = function (e) {
+                n.setState({ snapshotName: e.target.value });
+              }),
+              (n.onTimeoutChange = function (e) {
+                n.setState({ timeoutSeconds: Number(e.target.value) });
+              }),
+              (n.onExpireChange = function (e) {
+                n.setState({
+                  selectedExpireOption: e,
+                  snapshotExpires: e.value,
+                });
+              }),
+              (n.onSnapshotUrlCopy = function () {
+                g.a.emit(l.AppEvents.alertSuccess, [
+                  "Content copied to clipboard",
+                ]);
+              }),
+              (n.dashboard = e.dashboard),
+              (n.state = {
+                isLoading: !1,
+                step: 1,
+                selectedExpireOption: A[0],
+                snapshotExpires: A[0].value,
+                snapshotName: e.dashboard.title,
+                timeoutSeconds: 4,
+                snapshotUrl: "",
+                deleteUrl: "",
+                externalEnabled: !1,
+                sharingButtonText: "",
+              }),
+              n
+            );
+          }
+          var n, r, i, c;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && D(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value: function () {
+                  this.getSnaphotShareOptions();
+                },
+              },
+              {
+                key: "getSnaphotShareOptions",
+                value:
+                  ((c = E(
+                    regeneratorRuntime.mark(function e() {
+                      var t;
+                      return regeneratorRuntime.wrap(
+                        function (e) {
+                          for (;;)
+                            switch ((e.prev = e.next)) {
+                              case 0:
+                                return (
+                                  (e.next = 2),
+                                  Object(s.getBackendSrv)().get(
+                                    "/api/snapshot/shared-options"
+                                  )
+                                );
+                              case 2:
+                                (t = e.sent),
+                                  this.setState({
+                                    sharingButtonText: t.externalSnapshotName,
+                                    externalEnabled: t.externalEnabled,
+                                  });
+                              case 4:
+                              case "end":
+                                return e.stop();
+                            }
+                        },
+                        e,
+                        this
+                      );
+                    })
+                  )),
+                  function () {
+                    return c.apply(this, arguments);
+                  }),
+              },
+              {
+                key: "renderStep1",
+                value: function () {
+                  var e = this.props.onDismiss,
+                    t = this.state,
+                    n = t.snapshotName,
+                    r = t.selectedExpireOption,
+                    i = t.timeoutSeconds,
+                    l = t.isLoading,
+                    s = t.sharingButtonText,
+                    c = t.externalEnabled;
+                  return a.a.createElement(
+                    a.a.Fragment,
+                    null,
+                    a.a.createElement(
+                      "div",
+                      null,
+                      a.a.createElement(
+                        "p",
+                        { className: "share-modal-info-text" },
+                        "A snapshot is an instant way to share an interactive dashboard publicly. When created, we",
+                        " ",
+                        a.a.createElement(
+                          "strong",
+                          null,
+                          "strip sensitive data"
+                        ),
+                        " like queries (metric, template and annotation) and panel links, leaving only the visible metric data and series names embedded into your dashboard."
+                      ),
+                      a.a.createElement(
+                        "p",
+                        { className: "share-modal-info-text" },
+                        "Keep in mind, your ",
+                        a.a.createElement(
+                          "strong",
+                          null,
+                          "snapshot can be viewed by anyone"
+                        ),
+                        " that has the link and can reach the URL. Share wisely."
+                      )
+                    ),
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form-group share-modal-options" },
+                      a.a.createElement(
+                        "div",
+                        { className: "gf-form", "ng-if": "step === 1" },
+                        a.a.createElement(
+                          "label",
+                          { className: "gf-form-label width-12" },
+                          "Snapshot name"
+                        ),
+                        a.a.createElement(o.Input, {
+                          width: 15,
+                          value: n,
+                          onChange: this.onSnapshotNameChange,
+                        })
+                      ),
+                      a.a.createElement(
+                        "div",
+                        { className: "gf-form", "ng-if": "step === 1" },
+                        a.a.createElement(
+                          "label",
+                          { className: "gf-form-label width-12" },
+                          "Expire"
+                        ),
+                        a.a.createElement(o.Select, {
+                          width: 15,
+                          options: A,
+                          value: r,
+                          onChange: this.onExpireChange,
+                        })
+                      )
+                    ),
+                    a.a.createElement(
+                      "p",
+                      { className: "share-modal-info-text" },
+                      "You may need to configure the timeout value if it takes a long time to collect your dashboard's metrics."
+                    ),
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form-group share-modal-options" },
+                      a.a.createElement(
+                        "div",
+                        { className: "gf-form" },
+                        a.a.createElement(
+                          "span",
+                          { className: "gf-form-label width-12" },
+                          "Timeout (seconds)"
+                        ),
+                        a.a.createElement(o.Input, {
+                          type: "number",
+                          width: 15,
+                          value: i,
+                          onChange: this.onTimeoutChange,
+                        })
+                      )
+                    ),
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form-button-row" },
+                      a.a.createElement(
+                        o.Button,
+                        {
+                          className: "width-10",
+                          variant: "primary",
+                          disabled: l,
+                          onClick: this.createSnapshot(),
+                        },
+                        "Local Snapshot"
+                      ),
+                      c &&
+                        a.a.createElement(
+                          o.Button,
+                          {
+                            className: "width-16",
+                            variant: "secondary",
+                            disabled: l,
+                            onClick: this.createSnapshot(!0),
+                          },
+                          s
+                        ),
+                      a.a.createElement(
+                        o.Button,
+                        { variant: "inverse", onClick: e },
+                        "Cancel"
+                      )
+                    )
+                  );
+                },
+              },
+              {
+                key: "renderStep2",
+                value: function () {
+                  var e = this.state.snapshotUrl;
+                  return a.a.createElement(
+                    a.a.Fragment,
+                    null,
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form", style: { marginTop: "40px" } },
+                      a.a.createElement(
+                        "div",
+                        { className: "gf-form-row" },
+                        a.a.createElement(
+                          "a",
+                          {
+                            href: e,
+                            className: "large share-modal-link",
+                            target: "_blank",
+                          },
+                          a.a.createElement("i", {
+                            className: "fa fa-external-link-square",
+                          }),
+                          " ",
+                          e
+                        ),
+                        a.a.createElement("br", null),
+                        a.a.createElement(
+                          o.ClipboardButton,
+                          {
+                            variant: "inverse",
+                            getText: this.getSnapshotUrl,
+                            onClipboardCopy: this.onSnapshotUrlCopy,
+                          },
+                          "Copy Link"
+                        )
+                      )
+                    ),
+                    a.a.createElement(
+                      "div",
+                      {
+                        className: "pull-right",
+                        "ng-if": "step === 2",
+                        style: { padding: "5px" },
+                      },
+                      "Did you make a mistake?",
+                      " ",
+                      a.a.createElement(
+                        o.LinkButton,
+                        {
+                          variant: "link",
+                          target: "_blank",
+                          onClick: this.deleteSnapshot,
+                        },
+                        "delete snapshot."
+                      )
+                    )
+                  );
+                },
+              },
+              {
+                key: "renderStep3",
+                value: function () {
+                  return a.a.createElement(
+                    "div",
+                    { className: "share-modal-header" },
+                    a.a.createElement(
+                      "p",
+                      { className: "share-modal-info-text" },
+                      "The snapshot has now been deleted. If it you have already accessed it once, It might take up to an hour before it is removed from browser caches or CDN caches."
+                    )
+                  );
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this.state,
+                    t = e.isLoading,
+                    n = e.step;
+                  return a.a.createElement(
+                    "div",
+                    { className: "share-modal-body" },
+                    a.a.createElement(
+                      "div",
+                      { className: "share-modal-header" },
+                      a.a.createElement(
+                        "div",
+                        { className: "share-modal-big-icon" },
+                        t
+                          ? a.a.createElement("i", {
+                              className: "fa fa-spinner fa-spin",
+                            })
+                          : a.a.createElement("i", {
+                              className: "gicon gicon-snapshots",
+                            })
+                      ),
+                      a.a.createElement(
+                        "div",
+                        { className: "share-modal-content" },
+                        1 === n && this.renderStep1(),
+                        2 === n && this.renderStep2(),
+                        3 === n && this.renderStep3()
+                      )
+                    )
+                  );
+                },
+              },
+            ]) && C(n.prototype, r),
+            i && C(n, i),
+            t
+          );
+        })(r.PureComponent),
+        N = n("JEAp"),
+        M = n("zogf"),
+        I = n("GQ3c");
+      function R(e) {
+        return (R =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function F(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function L(e, t) {
+        return !t || ("object" !== R(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function V(e) {
+        return (V = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function B(e, t) {
+        return (B =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var $ = (function (e) {
+        function t(e) {
+          var n;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            ((n = L(
+              this,
+              V(t).call(this, e)
+            )).onShareExternallyChange = function () {
+              n.setState({ shareExternally: !n.state.shareExternally });
+            }),
+            (n.onSaveAsFile = function () {
+              var e = n.props.dashboard;
+              n.state.shareExternally
+                ? n.exporter.makeExportable(e).then(function (e) {
+                    n.openSaveAsDialog(e);
+                  })
+                : n.openSaveAsDialog(e.getSaveModelClone());
+            }),
+            (n.onViewJson = function () {
+              var e = n.props.dashboard;
+              n.state.shareExternally
+                ? n.exporter.makeExportable(e).then(function (e) {
+                    n.openJsonModal(e);
+                  })
+                : n.openJsonModal(e.getSaveModelClone());
+            }),
+            (n.openSaveAsDialog = function (e) {
+              var t = JSON.stringify(e, null, 2),
+                n = new Blob([t], { type: "application/json;charset=utf-8" }),
+                r = new Date().getTime();
+              Object(N.saveAs)(n, "".concat(e.title, "-").concat(r, ".json"));
+            }),
+            (n.openJsonModal = function (e) {
+              var t = { object: e, enableCopy: !0 };
+              g.a.emit(I.CoreEvents.showModal, {
+                src: "public/app/partials/edit_json.html",
+                model: t,
+              }),
+                n.props.onDismiss();
+            }),
+            (n.state = { shareExternally: !1 }),
+            (n.exporter = new M.a()),
+            n
+          );
+        }
+        var n, r, i;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && B(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e = this.props.onDismiss,
+                  t = this.state.shareExternally;
+                return a.a.createElement(
+                  "div",
+                  { className: "share-modal-body" },
+                  a.a.createElement(
+                    "div",
+                    { className: "share-modal-header" },
+                    a.a.createElement(
+                      "div",
+                      { className: "share-modal-big-icon" },
+                      a.a.createElement("i", {
+                        className: "fa fa-cloud-upload",
+                      })
+                    ),
+                    a.a.createElement(
+                      "div",
+                      { className: "share-modal-content" },
+                      a.a.createElement(o.Switch, {
+                        labelClass: "width-16",
+                        label: "Export for sharing externally",
+                        checked: t,
+                        onChange: this.onShareExternallyChange,
+                      }),
+                      a.a.createElement(
+                        "div",
+                        { className: "gf-form-button-row" },
+                        a.a.createElement(
+                          o.Button,
+                          { variant: "primary", onClick: this.onSaveAsFile },
+                          "Save to file"
+                        ),
+                        a.a.createElement(
+                          o.Button,
+                          { variant: "secondary", onClick: this.onViewJson },
+                          "View JSON"
+                        ),
+                        a.a.createElement(
+                          o.Button,
+                          { variant: "inverse", onClick: e },
+                          "Cancel"
+                        )
+                      )
+                    )
+                  )
+                );
+              },
+            },
+          ]) && F(n.prototype, r),
+          i && F(n, i),
+          t
+        );
+      })(r.PureComponent);
+      function q(e) {
+        return (q =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function U(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function z(e, t) {
+        return !t || ("object" !== q(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function H(e) {
+        return (H = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function G(e, t) {
+        return (G =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var W = [
+          { label: "current", value: "current" },
+          { label: "dark", value: "dark" },
+          { label: "light", value: "light" },
+        ],
+        Q = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = z(this, H(t).call(this, e))).buildIframeHtml = function () {
+                var e = n.props.panel,
+                  t = n.state,
+                  r = (function (e, t, n, r) {
+                    return (
+                      '<iframe src="' +
+                      h(e, t, n, r) +
+                      '" width="450" height="200" frameborder="0"></iframe>'
+                    );
+                  })(
+                    t.useCurrentTimeRange,
+                    t.includeTemplateVars,
+                    t.selectedTheme.value,
+                    e
+                  );
+                n.setState({ iframeHtml: r });
+              }),
+              (n.onUseCurrentTimeRangeChange = function () {
+                n.setState(
+                  { useCurrentTimeRange: !n.state.useCurrentTimeRange },
+                  n.buildIframeHtml
+                );
+              }),
+              (n.onIncludeTemplateVarsChange = function () {
+                n.setState(
+                  { includeTemplateVars: !n.state.includeTemplateVars },
+                  n.buildIframeHtml
+                );
+              }),
+              (n.onThemeChange = function (e) {
+                n.setState({ selectedTheme: e }, n.buildIframeHtml);
+              }),
+              (n.state = {
+                useCurrentTimeRange: !0,
+                includeTemplateVars: !0,
+                selectedTheme: W[0],
+                iframeHtml: "",
+              }),
+              n
+            );
+          }
+          var n, r, i;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && G(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value: function () {
+                  this.buildIframeHtml();
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this.state,
+                    t = e.useCurrentTimeRange,
+                    n = e.includeTemplateVars,
+                    r = e.selectedTheme,
+                    i = e.iframeHtml;
+                  return a.a.createElement(
+                    "div",
+                    { className: "share-modal-body" },
+                    a.a.createElement(
+                      "div",
+                      { className: "share-modal-header" },
+                      a.a.createElement(
+                        "div",
+                        { className: "share-modal-big-icon" },
+                        a.a.createElement("i", {
+                          className: "gicon gicon-link",
+                        })
+                      ),
+                      a.a.createElement(
+                        "div",
+                        { className: "share-modal-content" },
+                        a.a.createElement(
+                          "div",
+                          { className: "gf-form-group" },
+                          a.a.createElement(o.Switch, {
+                            labelClass: "width-12",
+                            label: "Current time range",
+                            checked: t,
+                            onChange: this.onUseCurrentTimeRangeChange,
+                          }),
+                          a.a.createElement(o.Switch, {
+                            labelClass: "width-12",
+                            label: "Template variables",
+                            checked: n,
+                            onChange: this.onIncludeTemplateVarsChange,
+                          }),
+                          a.a.createElement(
+                            "div",
+                            { className: "gf-form" },
+                            a.a.createElement(
+                              "label",
+                              { className: "gf-form-label width-12" },
+                              "Theme"
+                            ),
+                            a.a.createElement(o.Select, {
+                              width: 10,
+                              options: W,
+                              value: r,
+                              onChange: this.onThemeChange,
+                            })
+                          )
+                        ),
+                        a.a.createElement(
+                          "p",
+                          { className: "share-modal-info-text" },
+                          "The html code below can be pasted and included in another web page. Unless anonymous access is enabled, the user viewing that page need to be signed into grafana for the graph to load."
+                        ),
+                        a.a.createElement(
+                          "div",
+                          { className: "gf-form-group gf-form--grow" },
+                          a.a.createElement(
+                            "div",
+                            { className: "gf-form" },
+                            a.a.createElement("textarea", {
+                              rows: 5,
+                              "data-share-panel-url": !0,
+                              className: "gf-form-input",
+                              defaultValue: i,
+                            })
+                          )
+                        )
+                      )
+                    )
+                  );
+                },
+              },
+            ]) && U(n.prototype, r),
+            i && U(n, i),
+            t
+          );
+        })(r.PureComponent);
+      function Y(e) {
+        return (Y =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function K(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function J(e, t) {
+        return !t || ("object" !== Y(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Z(e) {
+        return (Z = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function X(e, t) {
+        return (X =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      n.d(t, "a", function () {
+        return le;
+      });
+      var ee = [
+          { label: "Link", value: "link", component: k },
+          { label: "Snapshot", value: "snapshot", component: _ },
+        ],
+        te = [{ label: "Export", value: "export", component: $ }],
+        ne = [{ label: "Embed", value: "embed", component: Q }],
+        re = [],
+        ae = [];
+      function oe(e) {
+        var t = ie(e);
+        return { tabs: t, activeTab: t[0].value };
+      }
+      function ie(e) {
+        var t = e.panel,
+          n = [].concat(ee);
+        return (
+          t
+            ? (n.push.apply(n, ne), n.push.apply(n, ae))
+            : (n.push.apply(n, te), n.push.apply(n, re)),
+          n
+        );
+      }
+      var le = (function (e) {
+        function t(e) {
+          var n;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            ((n = J(this, Z(t).call(this, e))).onDismiss = function () {
+              n.setState(oe(n.props)), n.props.onDismiss();
+            }),
+            (n.onSelectTab = function (e) {
+              n.setState({ activeTab: e.value });
+            }),
+            (n.state = oe(e)),
+            n
+          );
+        }
+        var n, r, i;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && X(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "getTabs",
+              value: function () {
+                return ie(this.props);
+              },
+            },
+            {
+              key: "getActiveTab",
+              value: function () {
+                var e = this.state,
+                  t = e.tabs,
+                  n = e.activeTab;
+                return t.find(function (e) {
+                  return e.value === n;
+                });
+              },
+            },
+            {
+              key: "renderTitle",
+              value: function () {
+                var e = this.props.panel,
+                  t = this.state.activeTab,
+                  n = e ? "Share Panel" : "Share",
+                  r = this.getTabs();
+                return a.a.createElement(o.ModalTabsHeader, {
+                  title: n,
+                  icon: "share-square-o",
+                  tabs: r,
+                  activeTab: t,
+                  onChangeTab: this.onSelectTab,
+                });
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.dashboard,
+                  n = e.panel,
+                  r = this.getActiveTab(),
+                  i = null == r ? void 0 : r.component;
+                return a.a.createElement(
+                  o.Modal,
+                  {
+                    isOpen: !0,
+                    title: this.renderTitle(),
+                    onDismiss: this.onDismiss,
+                  },
+                  a.a.createElement(
+                    o.TabContent,
+                    null,
+                    a.a.createElement(i, {
+                      dashboard: t,
+                      panel: n,
+                      onDismiss: this.onDismiss,
+                    })
+                  )
+                );
+              },
+            },
+          ]) && K(n.prototype, r),
+          i && K(n, i),
+          t
+        );
+      })(a.a.Component);
+    },
+    QQVG: function (e, t, n) {
+      "use strict";
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDLi"),
+        i = n("kDDq");
+      function l() {
+        var e = u(["\n        margin-bottom: 20px;\n      "]);
+        return (
+          (l = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function s() {
+        var e = u(["\n  max-width: 700px;\n  margin: 0 auto;\n"]);
+        return (
+          (s = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function c() {
+        var e = u(["\n  text-align: center;\n"]);
+        return (
+          (c = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function u(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var f = Object(i.css)(c()),
+        d = Object(i.css)(s());
+      t.a = function (e) {
+        var t = e.title,
+          n = e.buttonIcon,
+          s = e.buttonLink,
+          c = e.buttonTitle,
+          u = e.onClick,
+          p = e.proTip,
+          h = e.proTipLink,
+          m = e.proTipLinkTitle,
+          g = e.proTipTarget,
+          b = e.infoBox,
+          v = e.infoBoxTitle,
+          y = Object(r.useContext)(o.ThemeContext),
+          w = function () {
+            return a.a.createElement(
+              a.a.Fragment,
+              null,
+              p
+                ? a.a.createElement(
+                    "span",
+                    { key: "proTipFooter" },
+                    a.a.createElement("i", { className: "fa fa-rocket" }),
+                    a.a.createElement(a.a.Fragment, null, " ProTip: ", p, " "),
+                    a.a.createElement(
+                      "a",
+                      { href: h, target: g, className: "text-link" },
+                      m
+                    )
+                  )
+                : "",
+              b
+                ? a.a.createElement(
+                    "div",
+                    {
+                      key: "infoBoxHtml",
+                      className: "grafana-info-box ".concat(d),
+                    },
+                    v && a.a.createElement("h5", null, v),
+                    a.a.createElement("div", { dangerouslySetInnerHTML: b })
+                  )
+                : ""
+            );
+          },
+          O = w() ? "" : Object(i.css)(l()),
+          x = a.a.createElement(
+            o.LinkButton,
+            {
+              size: "lg",
+              onClick: u,
+              href: s,
+              icon: n,
+              className: O,
+              "aria-label": "Call to action button ".concat(c),
+            },
+            c
+          );
+        return a.a.createElement(o.CallToActionCard, {
+          className: f,
+          message: t,
+          footer: w(),
+          callToActionElement: x,
+          theme: y,
+        });
+      };
+    },
+    Qhie: function (e, t) {
+      angular.module("$strap.config", []).value("$strapConfig", {}),
+        angular.module("$strap.filters", ["$strap.config"]),
+        angular.module("$strap.directives", ["$strap.config"]),
+        angular.module("$strap", [
+          "$strap.filters",
+          "$strap.directives",
+          "$strap.config",
+        ]),
+        angular.module("$strap.directives").factory("$modal", [
+          "$rootScope",
+          "$compile",
+          "$http",
+          "$timeout",
+          "$q",
+          "$templateCache",
+          "$strapConfig",
+          function (e, t, n, r, a, o, i) {
+            return function (l) {
+              return new (function (l) {
+                var s = angular.extend({ show: !0 }, i.modal, l),
+                  c = s.scope ? s.scope : e.$new(),
+                  u = s.template;
+                return a
+                  .when(
+                    s.templateHtml ||
+                      o.get(u) ||
+                      n.get(u, { cache: !0 }).then(function (e) {
+                        return e.data;
+                      })
+                  )
+                  .then(function (e) {
+                    var n = c.$id;
+                    u &&
+                      (n += u.replace(".html", "").replace(/[\/|\.|:]/g, "-"));
+                    var a = $('<div class="modal hide" tabindex="-1"></div>')
+                      .attr("id", n)
+                      .html(e);
+                    return (
+                      s.modalClass && a.addClass(s.modalClass),
+                      $("body").append(a),
+                      r(function () {
+                        t(a)(c);
+                      }),
+                      (c.$modal = function (e) {
+                        a.modal(e);
+                      }),
+                      angular.forEach(["show", "hide"], function (e) {
+                        c[e] = function () {
+                          a.modal(e);
+                        };
+                      }),
+                      (c.dismiss = c.hide),
+                      angular.forEach(
+                        ["show", "shown", "hide", "hidden"],
+                        function (e) {
+                          a.on(e, function (t) {
+                            c.$emit("modal-" + e, t);
+                          });
+                        }
+                      ),
+                      a.on("shown", function (e) {
+                        $("input[autofocus], textarea[autofocus]", a)
+                          .first()
+                          .trigger("focus");
+                      }),
+                      a.on("hidden", function (e) {
+                        s.persist || c.$destroy();
+                      }),
+                      c.$on("$destroy", function () {
+                        a.remove();
+                      }),
+                      a.modal(s),
+                      a
+                    );
+                  });
+              })(l);
+            };
+          },
+        ]),
+        angular.module("$strap.directives").directive("bsTooltip", [
+          "$parse",
+          "$compile",
+          function (e, t) {
+            return {
+              restrict: "A",
+              scope: !0,
+              link: function (t, n, r, a) {
+                var o = e(r.bsTooltip),
+                  i = (o.assign, o(t));
+                t.$watch(r.bsTooltip, function (e, t) {
+                  e !== t && (i = e);
+                }),
+                  n.on("show", function (e) {
+                    $(".tooltip.in").each(function () {
+                      var e = $(this),
+                        t = e.data("tooltip");
+                      t && !t.$element.is(n) && e.tooltip("hide");
+                    });
+                  }),
+                  n.tooltip({
+                    title: function () {
+                      return angular.isFunction(i)
+                        ? i.apply(null, arguments)
+                        : i;
+                    },
+                    html: !0,
+                    container: "body",
+                  }),
+                  (n.data("tooltip").show = function () {
+                    var e = $.fn.tooltip.Constructor.prototype.show.apply(
+                      this,
+                      arguments
+                    );
+                    return this.tip().data("tooltip", this), e;
+                  }),
+                  (t._tooltip = function (e) {
+                    n.tooltip(e);
+                  }),
+                  (t.hide = function () {
+                    n.tooltip("hide");
+                  }),
+                  (t.show = function () {
+                    n.tooltip("show");
+                  }),
+                  (t.dismiss = t.hide);
+              },
+            };
+          },
+        ]),
+        angular.module("$strap.directives").directive("bsTypeahead", [
+          "$parse",
+          function (e) {
+            return {
+              restrict: "A",
+              require: "?ngModel",
+              link: function (t, n, r, a) {
+                var o = e(r.bsTypeahead),
+                  i = (o.assign, o(t));
+                t.$watch(r.bsTypeahead, function (e, t) {
+                  e !== t && (i = e);
+                }),
+                  n.attr("data-provide", "typeahead"),
+                  n.typeahead({
+                    source: function (e) {
+                      return angular.isFunction(i)
+                        ? i.apply(null, arguments)
+                        : i;
+                    },
+                    minLength: r.minLength || 1,
+                    items: r.items,
+                    updater: function (e) {
+                      return (
+                        a &&
+                          t.$apply(function () {
+                            a.$setViewValue(e);
+                          }),
+                        t.$emit("typeahead-updated", e),
+                        e
+                      );
+                    },
+                  });
+                var l = n.data("typeahead");
+                (l.lookup = function (e) {
+                  var t;
+                  return (
+                    (this.query = this.$element.val() || ""),
+                    this.query.length < this.options.minLength
+                      ? this.shown
+                        ? this.hide()
+                        : this
+                      : (t = $.isFunction(this.source)
+                          ? this.source(this.query, $.proxy(this.process, this))
+                          : this.source)
+                      ? this.process(t)
+                      : this
+                  );
+                }),
+                  r.matchAll &&
+                    (l.matcher = function (e) {
+                      return !0;
+                    }),
+                  "0" === r.minLength &&
+                    setTimeout(function () {
+                      n.on("focus", function () {
+                        0 === n.val().length &&
+                          setTimeout(n.typeahead.bind(n, "lookup"), 200);
+                      });
+                    });
+              },
+            };
+          },
+        ]);
+    },
+    Qinm: function (e, t) {
+      var n =
+        "public/app/plugins/datasource/grafana-azure-monitor-datasource/partials/annotations.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=gf-form-group>\n  <div class=gf-form>\n    <label class="gf-form-label query-keyword width-9">Service</label>\n    <div class="gf-form-select-wrapper gf-form-select-wrapper--caret-indent">\n      <select class="gf-form-input service-dropdown" ng-model=ctrl.annotation.queryType ng-options="f as f for f in [\'Application Insights\', \'Azure Monitor\', \'Azure Log Analytics\']"></select>\n    </div>\n  </div>\n  <div class=gf-form ng-show="ctrl.annotation.queryType === \'Azure Log Analytics\'">\n    <label class="gf-form-label query-keyword width-9">Subscription</label>\n    <div class="gf-form-select-wrapper gf-form-select-wrapper--caret-indent">\n      <select class="gf-form-input service-dropdown" ng-model=ctrl.annotation.subscription ng-options="f.value as f.text for f in ctrl.subscriptions" ng-change=ctrl.onSubscriptionChange()></select>\n    </div>\n  </div>\n  <div ng-show="ctrl.annotation.queryType === \'Azure Log Analytics\'">\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-9">Workspace</label>\n        <div class="gf-form-select-wrapper gf-form-select-wrapper--caret-indent">\n          <select class="gf-form-input min-width-12" ng-model=ctrl.annotation.workspace ng-options="f.value as f.text for f in ctrl.workspaces"></select>\n        </div>\n      </div>\n      <div class=gf-form>\n        <div class=width-1></div>\n      </div>\n      <div class=gf-form>\n        <button class="btn btn-primary width-10" ng-click=ctrl.panelCtrl.refresh()>Run</button>\n      </div>\n      <div class=gf-form>\n        <label class=gf-form-label>(Run Query: Shift+Enter, Trigger Suggestion: Ctrl+Space)</label>\n      </div>\n    </div>\n    <kusto-editor class="gf-form gf-form--grow" query=ctrl.annotation.rawQuery variables=ctrl.templateVariables change=ctrl.onLogAnalyticsQueryChange getschema=ctrl.getAzureLogAnalyticsSchema />\n  </div>\n\n  <div class=gf-form-inline ng-show="ctrl.annotation.queryType !== \'Azure Log Analytics\'">\n    <div class="gf-form gf-form--grow">\n      <label class=gf-form-label>No annotations support for {{ctrl.annotation.queryType}}</label>\n    </div>\n  </div>\n\n  <div class=gf-form-inline>\n    <div class=gf-form>\n      <label class="gf-form-label query-keyword" ng-click="ctrl.showHelp = !ctrl.showHelp">\n        Show Help\n        <i class="fa fa-caret-down" ng-show=ctrl.showHelp></i>\n        <i class="fa fa-caret-right" ng-hide=ctrl.showHelp></i>\n      </label>\n    </div>\n  </div>\n\n  <div class=gf-form ng-show=ctrl.showHelp>\n    <pre class="gf-form-pre alert alert-info" ng-show="ctrl.annotation.queryType === \'Azure Log Analytics\'"><h6>Annotation Query Format</h6>\nAn annotation is an event that is overlaid on top of graphs. The query can have up to three columns per row, the datetime column is mandatory. Annotation rendering is expensive so it is important to limit the number of rows returned.\n\n- column with the datetime type.\n- column with alias: <b>Text</b> or <b>text</b> for the annotation text\n- column with alias: <b>Tags</b> or <b>tags</b> for annotation tags. This is should return a comma separated string of tags e.g. \'tag1,tag2\'\n\nMacros:\n    - $__timeFilter() -&gt; TimeGenerated &ge; datetime(2018-06-05T18:09:58.907Z) and TimeGenerated &le; datetime(2018-06-05T20:09:58.907Z)\n    - $__timeFilter(datetimeColumn) -&gt;  datetimeColumn  &ge; datetime(2018-06-05T18:09:58.907Z) and datetimeColumn &le; datetime(2018-06-05T20:09:58.907Z)\n\n    Or build your own conditionals using these built-in variables which just return the values:\n    - $__timeFrom -&gt;  datetime(2018-06-05T18:09:58.907Z)\n    - $__timeTo -&gt; datetime(2018-06-05T20:09:58.907Z)\n    - $__interval -&gt; 5m\n</pre>\n  </div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    QlHa: function (e, t) {},
+    QqjE: function (e, t) {
+      var n = "public/app/plugins/panel/dashlist/editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div>\n  <div class="section gf-form-group">\n    <h5 class=section-heading>Options</h5>\n\n    <gf-form-switch class=gf-form label=Starred label-class=width-9 checked=ctrl.panel.starred on-change=ctrl.refresh()></gf-form-switch>\n    <gf-form-switch class=gf-form label="Recently viewed" label-class=width-9 checked=ctrl.panel.recent on-change=ctrl.refresh()></gf-form-switch>\n    <gf-form-switch class=gf-form label=Search label-class=width-9 checked=ctrl.panel.search on-change=ctrl.refresh()></gf-form-switch>\n\n    <gf-form-switch class=gf-form label="Show headings" label-class=width-9 checked=ctrl.panel.headings on-change=ctrl.refresh()></gf-form-switch>\n\n    <div class=gf-form>\n      <span class="gf-form-label width-9">Max items</span>\n      <input class="gf-form-input max-width-5" type=number ng-model=ctrl.panel.limit ng-model-onblur ng-change=ctrl.refresh()>\n    </div>\n  </div>\n\n  <div class="section gf-form-group">\n    <h5 class=section-heading>Search</h5>\n\n    <div class=gf-form>\n      <span class="gf-form-label width-6">Query</span>\n      <input type=text class=gf-form-input placeholder="title query" ng-model=ctrl.panel.query ng-change=ctrl.refresh() ng-model-onblur>\n    </div>\n\n    <div class=gf-form>\n      <folder-picker initial-folder-id=ctrl.panel.folderId on-change=ctrl.onFolderChange label-class=width-6 initial-title="\'All\'" enable-reset=true>\n      </folder-picker>\n    </div>\n\n    <div class=gf-form>\n      <span class="gf-form-label width-6">Tags</span>\n      <bootstrap-tagsinput ng-model=ctrl.panel.tags tagclass="label label-tag" placeholder="add tags" on-tags-updated=ctrl.refresh()>\n      </bootstrap-tagsinput>\n    </div>\n  </div>\n\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    Qrgx: function (e, t) {},
+    QzbV: function (e, t, n) {
+      "use strict";
+      var r = n("q1tI"),
+        a = n.n(r);
+      t.a = function () {
+        return a.a.createElement(
+          "div",
+          { className: "" },
+          a.a.createElement("h5", null, "What are Permissions?"),
+          a.a.createElement(
+            "p",
+            null,
+            "An Access Control List (ACL) model is used to limit access to Dashboard Folders. A user or a Team can be assigned permissions for a folder or for a single dashboard."
+          )
+        );
+      };
+    },
+    R9Tc: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return s;
+      }),
+        n.d(t, "c", function () {
+          return u;
+        }),
+        n.d(t, "b", function () {
+          return f;
+        });
+      var r = n("i7Pf"),
+        a = n("ZFWI");
+      function o(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function i(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? o(Object(n), !0).forEach(function (t) {
+                l(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : o(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function l(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function s() {
+        var e = {};
+        return (
+          (function e(t, n, r) {
+            var a = !0,
+              o = !1,
+              l = void 0;
+            try {
+              for (
+                var s, c = n[Symbol.iterator]();
+                !(a = (s = c.next()).done);
+                a = !0
+              ) {
+                var u = s.value;
+                (t[u.id] = i({}, u, { parentItem: r })),
+                  u.children && e(t, u.children, u);
+              }
+            } catch (e) {
+              (o = !0), (l = e);
+            } finally {
+              try {
+                a || null == c.return || c.return();
+              } finally {
+                if (o) throw l;
+              }
+            }
+          })(e, a.b.bootData.navTree),
+          e
+        );
+      }
+      var c = {},
+        u = Object(r.b)("navIndex/updateNavIndex"),
+        f = function () {
+          var e =
+              arguments.length > 0 && void 0 !== arguments[0]
+                ? arguments[0]
+                : c,
+            t = arguments.length > 1 ? arguments[1] : void 0;
+          if (u.match(t)) {
+            var n = {},
+              r = t.payload,
+              a = !0,
+              o = !1,
+              l = void 0;
+            try {
+              for (
+                var s, f = r.children[Symbol.iterator]();
+                !(a = (s = f.next()).done);
+                a = !0
+              ) {
+                var d = s.value;
+                n[d.id] = i({}, d, { parentItem: r });
+              }
+            } catch (e) {
+              (o = !0), (l = e);
+            } finally {
+              try {
+                a || null == f.return || f.return();
+              } finally {
+                if (o) throw l;
+              }
+            }
+            return i({}, e, {}, n);
+          }
+          return e;
+        };
+    },
+    RH9q: function (e, t, n) {
+      "use strict";
+      var r, a, o, i;
+      n.d(t, "a", function () {
+        return r;
+      }),
+        n.d(t, "d", function () {
+          return a;
+        }),
+        n.d(t, "c", function () {
+          return o;
+        }),
+        n.d(t, "b", function () {
+          return i;
+        }),
+        (function (e) {
+          (e.emerg = "critical"),
+            (e.alert = "critical"),
+            (e.crit = "critical"),
+            (e.critical = "critical"),
+            (e.warn = "warning"),
+            (e.warning = "warning"),
+            (e.err = "error"),
+            (e.eror = "error"),
+            (e.error = "error"),
+            (e.info = "info"),
+            (e.notice = "info"),
+            (e.dbug = "debug"),
+            (e.debug = "debug"),
+            (e.trace = "trace"),
+            (e.unknown = "unknown");
+        })(r || (r = {})),
+        (function (e) {
+          (e[(e.Number = 0)] = "Number"),
+            (e[(e.String = 1)] = "String"),
+            (e[(e.LabelsMap = 2)] = "LabelsMap");
+        })(a || (a = {})),
+        (function (e) {
+          (e.none = "none"),
+            (e.exact = "exact"),
+            (e.numbers = "numbers"),
+            (e.signature = "signature");
+        })(o || (o = {})),
+        (function (e) {
+          (e.none = "No de-duplication"),
+            (e.exact =
+              "De-duplication of successive lines that are identical, ignoring ISO datetimes."),
+            (e.numbers =
+              "De-duplication of successive lines that are identical when ignoring numbers, e.g., IP addresses, latencies."),
+            (e.signature =
+              "De-duplication of successive lines that have identical punctuation and whitespace.");
+        })(i || (i = {}));
+    },
+    RYWr: function (e, t) {
+      var n = "public/app/plugins/panel/table/editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=editor-row>\n  <div class="section gf-form-group">\n    <h5 class=section-heading>Data</h5>\n    <div class=gf-form>\n      <label class="gf-form-label width-10">Table Transform</label>\n      <div class="gf-form-select-wrapper max-width-15">\n        <select class=gf-form-input ng-model=editor.panel.transform ng-options="k as v.description for (k, v) in editor.transformers" ng-change=editor.transformChanged()></select>\n      </div>\n    </div>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label width-10">Columns</label>\n      </div>\n      <div class=gf-form ng-repeat="column in editor.panel.columns">\n        <label class=gf-form-label>\n          <i class="pointer fa fa-remove" ng-click=editor.removeColumn(column)></i>\n          <span>{{ column.text }}</span>\n        </label>\n      </div>\n      <div class=gf-form ng-show=editor.canSetColumns>\n        <metric-segment segment=editor.addColumnSegment get-options=editor.getColumnOptions() on-change=editor.addColumn()></metric-segment>\n      </div>\n      <div class=gf-form ng-hide=editor.canSetColumns>\n        <label class=gf-form-label>\n          Auto\n          <info-popover mode=right-normal ng-if=editor.columnsHelpMessage>\n            {{ editor.columnsHelpMessage }}\n          </info-popover>\n        </label>\n      </div>\n    </div>\n  </div>\n\n  <div class="section gf-form-group">\n    <h5 class=section-heading>Paging</h5>\n    <div class=gf-form>\n      <label class="gf-form-label width-8">Rows per page</label>\n      <input type=number class="gf-form-input width-7" placeholder=100 data-placement=right ng-model=editor.panel.pageSize ng-change=editor.render() ng-model-onblur/>\n    </div>\n    <div class="gf-form max-width-17">\n      <label class="gf-form-label width-8">Font size</label>\n      <div class="gf-form-select-wrapper width-7">\n        <select class=gf-form-input ng-model=editor.panel.fontSize ng-options="f for f in editor.fontSizes" ng-change=editor.render()></select>\n      </div>\n    </div>\n  </div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    Rabt: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return o;
+      });
+      var r = n("F03Y");
+      function a(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var o = (function () {
+        function e(t) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.buffer = t.buffer || []),
+            (this.capacity = this.buffer.length),
+            (this.tail = "head" !== t.append),
+            (this.index = 0),
+            (this.add = this.getAddFunction()),
+            t.capacity && this.setCapacity(t.capacity);
+        }
+        var t, n, o;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "getAddFunction",
+              value: function () {
+                var e = this;
+                return this.capacity > this.buffer.length
+                  ? this.tail
+                    ? function (t) {
+                        e.buffer.push(t),
+                          e.buffer.length >= e.capacity &&
+                            (e.add = e.getAddFunction());
+                      }
+                    : function (t) {
+                        e.buffer.unshift(t),
+                          e.buffer.length >= e.capacity &&
+                            (e.add = e.getAddFunction());
+                      }
+                  : this.tail
+                  ? function (t) {
+                      (e.buffer[e.index] = t),
+                        (e.index = (e.index + 1) % e.buffer.length);
+                    }
+                  : function (t) {
+                      var n = e.index - 1;
+                      n < 0 && (n = e.buffer.length - 1),
+                        (e.buffer[n] = t),
+                        (e.index = n);
+                    };
+              },
+            },
+            {
+              key: "setCapacity",
+              value: function (e) {
+                if (this.capacity !== e) {
+                  var t = this.toArray();
+                  if (e > this.length) this.buffer = t;
+                  else if (e < this.capacity) {
+                    var n = this.length - e;
+                    this.tail
+                      ? (this.buffer = t.slice(n, t.length))
+                      : (this.buffer = t.slice(0, t.length - n));
+                  }
+                  (this.capacity = e),
+                    (this.index = 0),
+                    (this.add = this.getAddFunction());
+                }
+              },
+            },
+            {
+              key: "setAppendMode",
+              value: function (e) {
+                var t = "head" !== e;
+                t !== this.tail &&
+                  ((this.buffer = this.toArray().reverse()),
+                  (this.index = 0),
+                  (this.tail = t),
+                  (this.add = this.getAddFunction()));
+              },
+            },
+            {
+              key: "reverse",
+              value: function () {
+                this.buffer.reverse();
+              },
+            },
+            {
+              key: "get",
+              value: function (e) {
+                return this.buffer[(e + this.index) % this.buffer.length];
+              },
+            },
+            {
+              key: "set",
+              value: function (e, t) {
+                this.buffer[(e + this.index) % this.buffer.length] = t;
+              },
+            },
+            {
+              key: "toArray",
+              value: function () {
+                return Object(r.a)(this);
+              },
+            },
+            {
+              key: "toJSON",
+              value: function () {
+                return Object(r.a)(this);
+              },
+            },
+            {
+              key: "length",
+              get: function () {
+                return this.buffer.length;
+              },
+            },
+          ]) && a(t.prototype, n),
+          o && a(t, o),
+          e
+        );
+      })();
+    },
+    RnhZ: function (e, t, n) {
+      var r = {
+        "./af": "K/tc",
+        "./af.js": "K/tc",
+        "./ar": "jnO4",
+        "./ar-dz": "o1bE",
+        "./ar-dz.js": "o1bE",
+        "./ar-kw": "Qj4J",
+        "./ar-kw.js": "Qj4J",
+        "./ar-ly": "HP3h",
+        "./ar-ly.js": "HP3h",
+        "./ar-ma": "CoRJ",
+        "./ar-ma.js": "CoRJ",
+        "./ar-sa": "gjCT",
+        "./ar-sa.js": "gjCT",
+        "./ar-tn": "bYM6",
+        "./ar-tn.js": "bYM6",
+        "./ar.js": "jnO4",
+        "./az": "SFxW",
+        "./az.js": "SFxW",
+        "./be": "H8ED",
+        "./be.js": "H8ED",
+        "./bg": "hKrs",
+        "./bg.js": "hKrs",
+        "./bm": "p/rL",
+        "./bm.js": "p/rL",
+        "./bn": "kEOa",
+        "./bn.js": "kEOa",
+        "./bo": "0mo+",
+        "./bo.js": "0mo+",
+        "./br": "aIdf",
+        "./br.js": "aIdf",
+        "./bs": "JVSJ",
+        "./bs.js": "JVSJ",
+        "./ca": "1xZ4",
+        "./ca.js": "1xZ4",
+        "./cs": "PA2r",
+        "./cs.js": "PA2r",
+        "./cv": "A+xa",
+        "./cv.js": "A+xa",
+        "./cy": "l5ep",
+        "./cy.js": "l5ep",
+        "./da": "DxQv",
+        "./da.js": "DxQv",
+        "./de": "tGlX",
+        "./de-at": "s+uk",
+        "./de-at.js": "s+uk",
+        "./de-ch": "u3GI",
+        "./de-ch.js": "u3GI",
+        "./de.js": "tGlX",
+        "./dv": "WYrj",
+        "./dv.js": "WYrj",
+        "./el": "jUeY",
+        "./el.js": "jUeY",
+        "./en-SG": "zavE",
+        "./en-SG.js": "zavE",
+        "./en-au": "Dmvi",
+        "./en-au.js": "Dmvi",
+        "./en-ca": "OIYi",
+        "./en-ca.js": "OIYi",
+        "./en-gb": "Oaa7",
+        "./en-gb.js": "Oaa7",
+        "./en-ie": "4dOw",
+        "./en-ie.js": "4dOw",
+        "./en-il": "czMo",
+        "./en-il.js": "czMo",
+        "./en-nz": "b1Dy",
+        "./en-nz.js": "b1Dy",
+        "./eo": "Zduo",
+        "./eo.js": "Zduo",
+        "./es": "iYuL",
+        "./es-do": "CjzT",
+        "./es-do.js": "CjzT",
+        "./es-us": "Vclq",
+        "./es-us.js": "Vclq",
+        "./es.js": "iYuL",
+        "./et": "7BjC",
+        "./et.js": "7BjC",
+        "./eu": "D/JM",
+        "./eu.js": "D/JM",
+        "./fa": "jfSC",
+        "./fa.js": "jfSC",
+        "./fi": "gekB",
+        "./fi.js": "gekB",
+        "./fo": "ByF4",
+        "./fo.js": "ByF4",
+        "./fr": "nyYc",
+        "./fr-ca": "2fjn",
+        "./fr-ca.js": "2fjn",
+        "./fr-ch": "Dkky",
+        "./fr-ch.js": "Dkky",
+        "./fr.js": "nyYc",
+        "./fy": "cRix",
+        "./fy.js": "cRix",
+        "./ga": "USCx",
+        "./ga.js": "USCx",
+        "./gd": "9rRi",
+        "./gd.js": "9rRi",
+        "./gl": "iEDd",
+        "./gl.js": "iEDd",
+        "./gom-latn": "DKr+",
+        "./gom-latn.js": "DKr+",
+        "./gu": "4MV3",
+        "./gu.js": "4MV3",
+        "./he": "x6pH",
+        "./he.js": "x6pH",
+        "./hi": "3E1r",
+        "./hi.js": "3E1r",
+        "./hr": "S6ln",
+        "./hr.js": "S6ln",
+        "./hu": "WxRl",
+        "./hu.js": "WxRl",
+        "./hy-am": "1rYy",
+        "./hy-am.js": "1rYy",
+        "./id": "UDhR",
+        "./id.js": "UDhR",
+        "./is": "BVg3",
+        "./is.js": "BVg3",
+        "./it": "bpih",
+        "./it-ch": "bxKX",
+        "./it-ch.js": "bxKX",
+        "./it.js": "bpih",
+        "./ja": "B55N",
+        "./ja.js": "B55N",
+        "./jv": "tUCv",
+        "./jv.js": "tUCv",
+        "./ka": "IBtZ",
+        "./ka.js": "IBtZ",
+        "./kk": "bXm7",
+        "./kk.js": "bXm7",
+        "./km": "6B0Y",
+        "./km.js": "6B0Y",
+        "./kn": "PpIw",
+        "./kn.js": "PpIw",
+        "./ko": "Ivi+",
+        "./ko.js": "Ivi+",
+        "./ku": "JCF/",
+        "./ku.js": "JCF/",
+        "./ky": "lgnt",
+        "./ky.js": "lgnt",
+        "./lb": "RAwQ",
+        "./lb.js": "RAwQ",
+        "./lo": "sp3z",
+        "./lo.js": "sp3z",
+        "./lt": "JvlW",
+        "./lt.js": "JvlW",
+        "./lv": "uXwI",
+        "./lv.js": "uXwI",
+        "./me": "KTz0",
+        "./me.js": "KTz0",
+        "./mi": "aIsn",
+        "./mi.js": "aIsn",
+        "./mk": "aQkU",
+        "./mk.js": "aQkU",
+        "./ml": "AvvY",
+        "./ml.js": "AvvY",
+        "./mn": "lYtQ",
+        "./mn.js": "lYtQ",
+        "./mr": "Ob0Z",
+        "./mr.js": "Ob0Z",
+        "./ms": "6+QB",
+        "./ms-my": "ZAMP",
+        "./ms-my.js": "ZAMP",
+        "./ms.js": "6+QB",
+        "./mt": "G0Uy",
+        "./mt.js": "G0Uy",
+        "./my": "honF",
+        "./my.js": "honF",
+        "./nb": "bOMt",
+        "./nb.js": "bOMt",
+        "./ne": "OjkT",
+        "./ne.js": "OjkT",
+        "./nl": "+s0g",
+        "./nl-be": "2ykv",
+        "./nl-be.js": "2ykv",
+        "./nl.js": "+s0g",
+        "./nn": "uEye",
+        "./nn.js": "uEye",
+        "./pa-in": "8/+R",
+        "./pa-in.js": "8/+R",
+        "./pl": "jVdC",
+        "./pl.js": "jVdC",
+        "./pt": "8mBD",
+        "./pt-br": "0tRk",
+        "./pt-br.js": "0tRk",
+        "./pt.js": "8mBD",
+        "./ro": "lyxo",
+        "./ro.js": "lyxo",
+        "./ru": "lXzo",
+        "./ru.js": "lXzo",
+        "./sd": "Z4QM",
+        "./sd.js": "Z4QM",
+        "./se": "//9w",
+        "./se.js": "//9w",
+        "./si": "7aV9",
+        "./si.js": "7aV9",
+        "./sk": "e+ae",
+        "./sk.js": "e+ae",
+        "./sl": "gVVK",
+        "./sl.js": "gVVK",
+        "./sq": "yPMs",
+        "./sq.js": "yPMs",
+        "./sr": "zx6S",
+        "./sr-cyrl": "E+lV",
+        "./sr-cyrl.js": "E+lV",
+        "./sr.js": "zx6S",
+        "./ss": "Ur1D",
+        "./ss.js": "Ur1D",
+        "./sv": "X709",
+        "./sv.js": "X709",
+        "./sw": "dNwA",
+        "./sw.js": "dNwA",
+        "./ta": "PeUW",
+        "./ta.js": "PeUW",
+        "./te": "XLvN",
+        "./te.js": "XLvN",
+        "./tet": "V2x9",
+        "./tet.js": "V2x9",
+        "./tg": "Oxv6",
+        "./tg.js": "Oxv6",
+        "./th": "EOgW",
+        "./th.js": "EOgW",
+        "./tl-ph": "Dzi0",
+        "./tl-ph.js": "Dzi0",
+        "./tlh": "z3Vd",
+        "./tlh.js": "z3Vd",
+        "./tr": "DoHr",
+        "./tr.js": "DoHr",
+        "./tzl": "z1FC",
+        "./tzl.js": "z1FC",
+        "./tzm": "wQk9",
+        "./tzm-latn": "tT3J",
+        "./tzm-latn.js": "tT3J",
+        "./tzm.js": "wQk9",
+        "./ug-cn": "YRex",
+        "./ug-cn.js": "YRex",
+        "./uk": "raLr",
+        "./uk.js": "raLr",
+        "./ur": "UpQW",
+        "./ur.js": "UpQW",
+        "./uz": "Loxo",
+        "./uz-latn": "AQ68",
+        "./uz-latn.js": "AQ68",
+        "./uz.js": "Loxo",
+        "./vi": "KSF8",
+        "./vi.js": "KSF8",
+        "./x-pseudo": "/X5v",
+        "./x-pseudo.js": "/X5v",
+        "./yo": "fzPg",
+        "./yo.js": "fzPg",
+        "./zh-cn": "XDpg",
+        "./zh-cn.js": "XDpg",
+        "./zh-hk": "SatO",
+        "./zh-hk.js": "SatO",
+        "./zh-tw": "kOpN",
+        "./zh-tw.js": "kOpN",
+      };
+      function a(e) {
+        var t = o(e);
+        return n(t);
+      }
+      function o(e) {
+        if (!n.o(r, e)) {
+          var t = new Error("Cannot find module '" + e + "'");
+          throw ((t.code = "MODULE_NOT_FOUND"), t);
+        }
+        return r[e];
+      }
+      (a.keys = function () {
+        return Object.keys(r);
+      }),
+        (a.resolve = o),
+        (e.exports = a),
+        (a.id = "RnhZ");
+    },
+    RyIb: function (e, t) {
+      var n = "public/app/features/annotations/partials/editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div ng-controller=AnnotationsEditorCtrl>\n  <div class=page-action-bar>\n    <h3 class=dashboard-settings__header>\n      <a ng-click=ctrl.backToList()>Annotations</a>\n      <span ng-show="ctrl.mode === \'new\'"><i class="fa fa-fw fa-chevron-right"></i> New</span>\n      <span ng-show="ctrl.mode === \'edit\'"><i class="fa fa-fw fa-chevron-right"></i> Edit</span>\n    </h3>\n\n    <div class=page-action-bar__spacer></div>\n\n    <a type=button class="btn btn-primary" ng-click=ctrl.setupNew(); ng-if="ctrl.annotations.length > 1" ng-hide="ctrl.mode === \'edit\' || ctrl.mode === \'new\'">\n      New\n    </a>\n  </div>\n\n  <div ng-if="ctrl.mode === \'list\'">\n    <table class="filter-table filter-table--hover">\n      <thead>\n        <tr>\n          <th>Query name</th>\n          <th>Data source</th>\n          <th colspan=3></th>\n        </tr>\n      </thead>\n      <tbody>\n        <tr ng-repeat="annotation in ctrl.annotations track by annotation.name">\n          <td style=width:90% ng-hide=annotation.builtIn class=pointer ng-click=ctrl.edit(annotation)>\n            <i class="fa fa-comment" style=color:{};></i> &nbsp;\n            {{ annotation.name }}\n          </td>\n          <td style=width:90% ng-show=annotation.builtIn class=pointer ng-click=ctrl.edit(annotation)>\n            <i class="gicon gicon-annotation"></i> &nbsp;\n            <em class=muted>{{ annotation.name }} (Built-in)</em>\n          </td>\n          <td class=pointer ng-click=ctrl.edit(annotation)>\n            {{ annotation.datasource || \'Default\' }}\n          </td>\n          <td style=width:1%>\n            <i ng-click=ctrl.move($index,-1) ng-hide=$first class="pointer fa fa-arrow-up"></i>\n          </td>\n          <td style=width:1%>\n            <i ng-click=ctrl.move($index,1) ng-hide=$last class="pointer fa fa-arrow-down"></i>\n          </td>\n          <td style=width:1%>\n            <a ng-click=ctrl.removeAnnotation(annotation) class="btn btn-danger btn-small" ng-hide=annotation.builtIn>\n              <i class="fa fa-remove"></i>\n            </a>\n          </td>\n        </tr>\n      </tbody>\n    </table>\n\n    \x3c!-- empty list cta, there is always one built in query --\x3e\n    <div ng-if="ctrl.annotations.length === 1" class=p-t-2>\n      <empty-list-cta title=ctrl.emptyListCta.title buttonicon=ctrl.emptyListCta.buttonIcon buttontitle=ctrl.emptyListCta.buttonTitle infobox=ctrl.emptyListCta.infoBox infoboxtitle=ctrl.emptyListCta.infoBoxTitle on-click=ctrl.setupNew />\n    </div>\n  </div>\n\n  <div class=annotations-basic-settings ng-if="ctrl.mode === \'edit\' || ctrl.mode === \'new\'">\n    <div class=gf-form-group>\n      <h5 class=section-heading>General</h5>\n      <div class=gf-form-inline>\n        <div class=gf-form>\n          <span class="gf-form-label width-7">Name</span>\n          <input type=text class="gf-form-input width-20" ng-model=ctrl.currentAnnotation.name placeholder=name />\n        </div>\n        <div class=gf-form>\n          <span class="gf-form-label width-7">Data source</span>\n          <div class=gf-form-select-wrapper>\n            <select class=gf-form-input ng-model=ctrl.currentAnnotation.datasource ng-options="f.name as f.name for f in ctrl.datasources" ng-change=ctrl.datasourceChanged()></select>\n          </div>\n        </div>\n      </div>\n    </div>\n\n    <div class=gf-form-group>\n      <div class=gf-form-inline>\n        <gf-form-switch class=gf-form label=Enabled checked=ctrl.currentAnnotation.enable label-class=width-7>\n        </gf-form-switch>\n        <gf-form-switch class=gf-form label=Hidden tooltip="Hides the annotation query toggle from showing at the top of the dashboard" checked=ctrl.currentAnnotation.hide label-class=width-7>\n        </gf-form-switch>\n        <div class=gf-form>\n          <label class="gf-form-label width-9">Color</label>\n          <span class=gf-form-label>\n            <color-picker color=ctrl.currentAnnotation.iconColor onchange=ctrl.onColorChange></color-picker>\n          </span>\n        </div>\n      </div>\n    </div>\n\n    <h5 class=section-heading>Query</h5>\n    <rebuild-on-change property=ctrl.currentDatasource>\n      <plugin-component type=annotations-query-ctrl> </plugin-component>\n    </rebuild-on-change>\n\n    <div class=gf-form>\n      <div class="gf-form-button-row p-y-0">\n        <button ng-show="ctrl.mode === \'new\'" type=button class="btn gf-form-button btn-primary" ng-click=ctrl.add()>\n          Add\n        </button>\n        <button ng-show="ctrl.mode === \'edit\'" type=button class="btn btn-primary pull-left" ng-click=ctrl.update()>\n          Update\n        </button>\n      </div>\n    </div>\n  </div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    SH6B: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return h;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDDq"),
+        i = n("kDLi");
+      function l(e) {
+        return (l =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function s() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })(["\n      margin-top: 0.8rem;\n    "]);
+        return (
+          (s = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function c(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function u(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function f(e, t) {
+        return !t || ("object" !== l(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function d(e) {
+        return (d = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function p(e, t) {
+        return (p =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var h = (function (e) {
+        function t() {
+          var e, n;
+          c(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = f(this, (e = d(t)).call.apply(e, [this].concat(a)))).state = {
+              showLogoutModal: !1,
+            }),
+            (n.showLogoutConfirmationModal = function (e) {
+              return function () {
+                n.setState({ showLogoutModal: e });
+              };
+            }),
+            (n.onSessionRevoke = function (e) {
+              return function () {
+                n.props.onSessionRevoke(e);
+              };
+            }),
+            (n.onAllSessionsRevoke = function () {
+              n.setState({ showLogoutModal: !1 }),
+                n.props.onAllSessionsRevoke();
+            }),
+            n
+          );
+        }
+        var n, r, l;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && p(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e = this,
+                  t = this.props.sessions,
+                  n = this.state.showLogoutModal,
+                  r = Object(o.css)(s());
+                return a.a.createElement(
+                  a.a.Fragment,
+                  null,
+                  a.a.createElement(
+                    "h3",
+                    { className: "page-heading" },
+                    "Sessions"
+                  ),
+                  a.a.createElement(
+                    "div",
+                    { className: "gf-form-group" },
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form" },
+                      a.a.createElement(
+                        "table",
+                        { className: "filter-table form-inline" },
+                        a.a.createElement(
+                          "thead",
+                          null,
+                          a.a.createElement(
+                            "tr",
+                            null,
+                            a.a.createElement("th", null, "Last seen"),
+                            a.a.createElement("th", null, "Logged on"),
+                            a.a.createElement("th", null, "IP address"),
+                            a.a.createElement(
+                              "th",
+                              { colSpan: 2 },
+                              "Browser & OS"
+                            )
+                          )
+                        ),
+                        a.a.createElement(
+                          "tbody",
+                          null,
+                          t &&
+                            t.map(function (t, n) {
+                              return a.a.createElement(
+                                "tr",
+                                { key: "".concat(t.id, "-").concat(n) },
+                                a.a.createElement(
+                                  "td",
+                                  null,
+                                  t.isActive ? "Now" : t.seenAt
+                                ),
+                                a.a.createElement("td", null, t.createdAt),
+                                a.a.createElement("td", null, t.clientIp),
+                                a.a.createElement(
+                                  "td",
+                                  null,
+                                  ""
+                                    .concat(t.browser, " on ")
+                                    .concat(t.os, " ")
+                                    .concat(t.osVersion)
+                                ),
+                                a.a.createElement(
+                                  "td",
+                                  null,
+                                  a.a.createElement(
+                                    "div",
+                                    { className: "pull-right" },
+                                    a.a.createElement(
+                                      i.ConfirmButton,
+                                      {
+                                        confirmText: "Confirm logout",
+                                        confirmVariant: "danger",
+                                        onConfirm: e.onSessionRevoke(t.id),
+                                      },
+                                      "Force logout"
+                                    )
+                                  )
+                                )
+                              );
+                            })
+                        )
+                      )
+                    ),
+                    a.a.createElement(
+                      "div",
+                      { className: r },
+                      t.length > 0 &&
+                        a.a.createElement(
+                          i.Forms.Button,
+                          {
+                            variant: "secondary",
+                            onClick: this.showLogoutConfirmationModal(!0),
+                          },
+                          "Force logout from all devices"
+                        ),
+                      a.a.createElement(i.ConfirmModal, {
+                        isOpen: n,
+                        title: "Force logout from all devices",
+                        body:
+                          "Are you sure you want to force logout from all devices?",
+                        confirmText: "Force logout",
+                        onConfirm: this.onAllSessionsRevoke,
+                        onDismiss: this.showLogoutConfirmationModal(!1),
+                      })
+                    )
+                  )
+                );
+              },
+            },
+          ]) && u(n.prototype, r),
+          l && u(n, l),
+          t
+        );
+      })(r.PureComponent);
+    },
+    SMGL: function (e, t, n) {
+      "use strict";
+      function r(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var a = new ((function () {
+        function e() {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e);
+        }
+        var t, n, a;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "get",
+              value: function (e) {
+                return window.localStorage[e];
+              },
+            },
+            {
+              key: "set",
+              value: function (e, t) {
+                window.localStorage[e] = t;
+              },
+            },
+            {
+              key: "getBool",
+              value: function (e, t) {
+                return void 0 === t || this.exists(e)
+                  ? "true" === window.localStorage[e]
+                  : t;
+              },
+            },
+            {
+              key: "getObject",
+              value: function (e, t) {
+                var n = t;
+                if (this.exists(e)) {
+                  var r = window.localStorage[e];
+                  try {
+                    n = JSON.parse(r);
+                  } catch (n) {
+                    console.error(
+                      "Error parsing store object: "
+                        .concat(e, ". Returning default: ")
+                        .concat(t, ". [")
+                        .concat(n, "]")
+                    );
+                  }
+                }
+                return n;
+              },
+            },
+            {
+              key: "setObject",
+              value: function (e, t) {
+                var n;
+                try {
+                  n = JSON.stringify(t);
+                } catch (t) {
+                  return (
+                    console.error(
+                      "Could not stringify object: "
+                        .concat(e, ". [")
+                        .concat(t, "]")
+                    ),
+                    !1
+                  );
+                }
+                try {
+                  this.set(e, n);
+                } catch (t) {
+                  return (
+                    console.error(
+                      "Could not save item in localStorage: "
+                        .concat(e, ". [")
+                        .concat(t, "]")
+                    ),
+                    !1
+                  );
+                }
+                return !0;
+              },
+            },
+            {
+              key: "exists",
+              value: function (e) {
+                return void 0 !== window.localStorage[e];
+              },
+            },
+            {
+              key: "delete",
+              value: function (e) {
+                window.localStorage.removeItem(e);
+              },
+            },
+          ]) && r(t.prototype, n),
+          a && r(t, a),
+          e
+        );
+      })())();
+      t.a = a;
+    },
+    SZug: function (e, t) {},
+    Sr1g: function (e, t, n) {
+      var r = n("vFKA");
+      r.keys().forEach(function (e) {
+        r(e);
+      });
+    },
+    Szrz: function (e, t) {
+      var n =
+        "public/app/plugins/datasource/influxdb/partials/annotations.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '\n<div class=gf-form-group>\n\t<div class=gf-form>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.annotation.query placeholder="select text from events where $timeFilter limit 1000">\n\t</div>\n</div>\n\n<h5 class=section-heading>Field mappings <tip>If your influxdb query returns more than one field you need to specify the column names below. An annotation event is composed of a title, tags, and an additional text field.</tip></h5>\n<div class=gf-form-group>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-4">Text</span>\n\t\t\t<input type=text class="gf-form-input max-width-10" ng-model=ctrl.annotation.textColumn placeholder="">\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-4">Tags</span>\n\t\t\t<input type=text class="gf-form-input max-width-10" ng-model=ctrl.annotation.tagsColumn placeholder="">\n\t\t</div>\n\t\t<div class=gf-form ng-show=ctrl.annotation.titleColumn>\n\t\t\t<span class="gf-form-label width-4">Title <em class=muted>(deprecated)</em></span>\n\t\t\t<input type=text class="gf-form-input max-width-10" ng-model=ctrl.annotation.titleColumn placeholder="">\n\t\t</div>\n\t</div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    T9PE: function (e, t, n) {
+      "use strict";
+      function r(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      n.d(t, "a", function () {
+        return a;
+      });
+      var a = new ((function () {
+        function e() {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e);
+        }
+        var t, n, a;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "init",
+              value: function (e, t) {
+                (this.$rootScope = t), (this.window = window), this.enabled;
+              },
+            },
+            {
+              key: "renderingCompleted",
+              value: function () {
+                (this.panelsRendered = (this.panelsRendered || 0) + 1),
+                  (this.window.panelsRendered = this.panelsRendered);
+              },
+            },
+          ]) && r(t.prototype, n),
+          a && r(t, a),
+          e
+        );
+      })())();
+    },
+    "THR+": function (e, t) {},
+    TKrP: function (e, t, n) {
+      "use strict";
+      var r, a;
+      n.d(t, "a", function () {
+        return r;
+      }),
+        n.d(t, "b", function () {
+          return a;
+        }),
+        (function (e) {
+          (e.Success = "success"),
+            (e.Warning = "warning"),
+            (e.Error = "error"),
+            (e.Info = "info");
+        })(r || (r = {})),
+        (function (e) {
+          (e[(e.Warning = 5e3)] = "Warning"),
+            (e[(e.Success = 3e3)] = "Success"),
+            (e[(e.Error = 7e3)] = "Error");
+        })(a || (a = {}));
+    },
+    U1ax: function (e, t) {
+      var n = "public/app/plugins/datasource/mssql/partials/query.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<query-editor-row query-ctrl=ctrl can-collapse=false>\n\t<div class=gf-form-inline>\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<code-editor content=ctrl.target.rawSql datasource=ctrl.datasource on-change=ctrl.panelCtrl.refresh() data-mode=sqlserver>\n\t\t\t</code-editor>\n\t\t</div>\n\t</div>\n\n  <div class=gf-form-inline>\n    <div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword">Format as</label>\n\t\t\t<div class=gf-form-select-wrapper>\n\t\t\t\t<select class="gf-form-input gf-size-auto" ng-model=ctrl.target.format ng-options="f.value as f.text for f in ctrl.formats" ng-change=ctrl.refresh()></select>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=gf-form>\n      <label class="gf-form-label query-keyword" ng-click="ctrl.showHelp = !ctrl.showHelp">\n        Show Help\n        <i class="fa fa-caret-down" ng-show=ctrl.showHelp></i>\n        <i class="fa fa-caret-right" ng-hide=ctrl.showHelp></i>\n      </label>\n\t\t</div>\n\t\t<div class=gf-form ng-show=ctrl.lastQueryMeta>\n      <label class="gf-form-label query-keyword" ng-click="ctrl.showLastQuerySQL = !ctrl.showLastQuerySQL">\n        Generated SQL\n        <i class="fa fa-caret-down" ng-show=ctrl.showLastQuerySQL></i>\n        <i class="fa fa-caret-right" ng-hide=ctrl.showLastQuerySQL></i>\n      </label>\n\t\t</div>\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<div class="gf-form-label gf-form-label--grow"></div>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form ng-show=ctrl.showLastQuerySQL>\n\t\t<pre class=gf-form-pre>{{ctrl.lastQueryMeta.sql}}</pre>\n\t</div>\n\n\t<div class=gf-form ng-show=ctrl.showHelp>\n\t\t<pre class="gf-form-pre alert alert-info">Time series:\n- return column named time (in UTC), as a unix time stamp or any sql native date data type. You can use the macros below.\n- any other columns returned will be the time point values.\nOptional:\n  - return column named <i>metric</i> to represent the series name.\n  - If multiple value columns are returned the metric column is used as prefix.\n  - If no column named metric is found the column name of the value column is used as series name\n\nResultsets of time series queries need to be sorted by time.\n\nTable:\n- return any set of columns\n\nMacros:\n- $__time(column) -&gt; column AS time\n- $__timeEpoch(column) -&gt; DATEDIFF(second, \'1970-01-01\', column) AS time\n- $__timeFilter(column) -&gt; column BETWEEN \'2017-04-21T05:01:17Z\' AND \'2017-04-21T05:01:17Z\'\n- $__unixEpochFilter(column) -&gt; column &gt;= 1492750877 AND column &lt;= 1492750877\n- $__unixEpochNanoFilter(column) -&gt;  column &gt;= 1494410783152415214 AND column &lt;= 1494497183142514872\n- $__timeGroup(column, \'5m\'[, fillvalue]) -&gt; CAST(ROUND(DATEDIFF(second, \'1970-01-01\', column)/300.0, 0) as bigint)*300.\n     by setting fillvalue grafana will fill in missing values according to the interval\n     fillvalue can be either a literal value, NULL or previous; previous will fill in the previous seen value or NULL if none has been seen yet\n- $__timeGroupAlias(column, \'5m\'[, fillvalue]) -&gt; CAST(ROUND(DATEDIFF(second, \'1970-01-01\', column)/300.0, 0) as bigint)*300 AS [time]\n- $__unixEpochGroup(column,\'5m\') -&gt; FLOOR(column/300)*300\n- $__unixEpochGroupAlias(column,\'5m\') -&gt; FLOOR(column/300)*300 AS [time]\n\nExample of group by and order by with $__timeGroup:\nSELECT\n  $__timeGroup(date_time_col, \'1h\') AS time,\n  sum(value) as value\nFROM yourtable\nGROUP BY $__timeGroup(date_time_col, \'1h\')\nORDER BY 1\n\nOr build your own conditionals using these macros which just return the values:\n- $__timeFrom() -&gt;  \'2017-04-21T05:01:17Z\'\n- $__timeTo() -&gt;  \'2017-04-21T05:01:17Z\'\n- $__unixEpochFrom() -&gt; 1492750877\n- $__unixEpochTo() -&gt; 1492750877\n- $__unixEpochNanoFrom() -&gt;  1494410783152415214\n- $__unixEpochNanoTo() -&gt;  1494497183142514872\n\t\t</pre>\n\t</div>\n\n\t\n\n\t<div class=gf-form ng-show=ctrl.lastQueryError>\n\t\t<pre class="gf-form-pre alert alert-error">{{ctrl.lastQueryError}}</pre>\n\t</div>\n\n</query-editor-row>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    U5HE: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return a;
+      }),
+        n.d(t, "b", function () {
+          return o;
+        });
+      var r = n("1BU0");
+      function a(e) {
+        var t = e.xField,
+          n = e.yField,
+          a = e.nullValueMode,
+          o = t.values,
+          i = n.values,
+          l = o.length;
+        if (i.length !== l) throw new Error("Unexpected field length");
+        for (
+          var s = a === r.b.Ignore, c = a === r.b.AsZero, u = [], f = 0;
+          f < l;
+          f++
+        ) {
+          var d = o.get(f),
+            p = i.get(f);
+          if (null === p) {
+            if (s) continue;
+            c && (p = 0);
+          }
+          null !== d && u.push([d, p]);
+        }
+        return u;
+      }
+      function o(e, t) {
+        if (!t.from || !t.to || !e || 0 === e.length) return [];
+        var n = t.from.valueOf(),
+          r = t.to.valueOf(),
+          a = e[0][1];
+        return [
+          [n, a],
+          [r, a],
+        ];
+      }
+    },
+    "UIT+": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return o;
+      });
+      var r = n("ZFWI"),
+        a = function (e) {
+          var t = Object(r.c)().appSubUrl,
+            n = t.endsWith("/") ? 1 : 0;
+          return e.length > 0 && 0 === e.indexOf(t) ? e.slice(t.length - n) : e;
+        },
+        o = function (e) {
+          return e.startsWith("/")
+            ? "".concat(Object(r.c)().appSubUrl).concat(a(e))
+            : e;
+        };
+      t.b = { stripBaseFromUrl: a, assureBaseUrl: o };
+    },
+    UJAu: function (e, t) {
+      var n = "public/app/plugins/panel/pluginlist/module.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=pluginlist>\n  <div class=pluginlist-section ng-repeat="category in ctrl.viewModel">\n    <h6 class=pluginlist-section-header>\n      {{category.header}}\n    </h6>\n    <div class=pluginlist-item ng-repeat="plugin in category.list">\n      <a class="pluginlist-link pluginlist-link-{{plugin.state}} pointer" href={{plugin.defaultNavUrl}}>\n        <span>\n          <img ng-src={{plugin.info.logos.small}} class=pluginlist-image>\n          <span class=pluginlist-title>{{plugin.name}}</span>\n          <span class=pluginlist-version>v{{plugin.info.version}}</span>\n        </span>\n        <span ng-if=ctrl.isAdmin>\n          <span class="pluginlist-message pluginlist-message--update" ng-show=plugin.hasUpdate ng-click="ctrl.updateAvailable(plugin, $event)" bs-tooltip="\'New version: \' + plugin.latestVersion">\n            Update available!\n          </span>\n          <span class="pluginlist-message pluginlist-message--enable" ng-show="!plugin.enabled && !plugin.hasUpdate">\n            Enable now\n          </span>\n          <span class="pluginlist-message pluginlist-message--no-update" ng-show="plugin.enabled && !plugin.hasUpdate">\n            Up to date\n          </span>\n        </span>\n      </a>\n    </div>\n    <div class=pluginlist-item ng-show="category.list.length === 0">\n      <a class="pluginlist-link pluginlist-link-{{plugin.state}}" href=https://grafana.com/plugins>\n        <span class=pluginlist-none-installed>None installed. <span class=pluginlist-emphasis>Browse Grafana.com</span></span>\n      </a>\n    </div>\n  </div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    UcAx: function (e, t, n) {
+      "use strict";
+      var r;
+      n.d(t, "a", function () {
+        return r;
+      }),
+        (function (e) {
+          (e.Light = "light"), (e.Dark = "dark");
+        })(r || (r = {}));
+    },
+    UkAP: function (e, t) {
+      var n = "public/app/partials/error.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<page-header model=navModel></page-header>\n\n<div class="page-container page-body">\n  <div class="panel-container error-container">\n    <div class="error-column graph-box">\n      <div class=error-row>\n        <div class="error-column error-space-between graph-percentage">\n          <p>100%</p>\n          <p>80%</p>\n          <p>60%</p>\n          <p>40%</p>\n          <p>20%</p>\n          <p>0%</p>\n        </div>\n        <div class="error-column image-box">\n          <img src=public/img/graph404.svg width=100%>\n          <div class="error-row error-space-between">\n            <p class=graph-text>Then</p>\n            <p class=graph-text>Now</p>\n          </div>\n        </div>\n      </div>\n    </div>\n    <div class="error-column info-box">\n      <div class="error-row current-box">\n        <p class=current-text>current</p>\n      </div>\n      <div class=error-row style=flex:1>\n        <i class="fa fa-minus error-minus"></i>\n        <div class="error-column error-space-between error-full-width">\n          <div class="error-row error-space-between">\n            <p>Chances you are on the page you are looking for.</p>\n            <p class=left-margin>0%</p>\n          </div>\n          <div>\n            <h3>Sorry for the inconvenience</h3>\n            <p>Please go back to your\n            <a href={{appSubUrl}}/ class=error-link>home dashboard</a> and try again.</p>\n            <p>If the error persists, seek help on the\n            <a href=https://community.grafana.com target=_blank class=error-link>community site</a>.</p>\n          </div>\n        </div>\n      </div>\n    </div>\n    <span class=react-resizable-handle style=cursor:default></span>\n  </div>\n</div>\n\n<footer/>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    Ukuu: function (e, t) {
+      var n = "public/app/partials/edit_json.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div ng-controller=JsonEditorCtrl>\n  <div class=tabbed-view-header>\n    <h2 class=tabbed-view-title>\n      JSON\n    </h2>\n\n    <button class=tabbed-view-close-btn ng-click=dismiss()>\n      <i class="fa fa-remove"></i>\n    </button>\n  </div>\n\n  <div class=tabbed-view-body>\n    <div class=gf-form>\n      <code-editor content=json data-mode=json data-max-lines=20></code-editor>\n    </div>\n\n    <div class=gf-form-button-row>\n      <button type=button class="btn btn-primary" ng-show=canUpdate ng-click="update(); dismiss();">Update</button>\n      <button class="btn btn-secondary" ng-if=canCopy clipboard-button=getContentForClipboard()>\n        Copy to Clipboard\n      </button>\n    </div>\n  </div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    UvM7: function (e, t, n) {
+      "use strict";
+      n.d(t, "b", function () {
+        return f;
+      }),
+        n.d(t, "a", function () {
+          return d;
+        }),
+        n.d(t, "c", function () {
+          return p;
+        });
+      var r = n("GQ3c"),
+        a = n("v4Fa");
+      function o(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function i(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? o(Object(n), !0).forEach(function (t) {
+                l(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : o(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function l(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var s = {
+          title: "",
+          text: "",
+          severity: r.AppNotificationSeverity.Success,
+          icon: "fa fa-check",
+          timeout: r.AppNotificationTimeout.Success,
+        },
+        c = {
+          title: "",
+          text: "",
+          severity: r.AppNotificationSeverity.Warning,
+          icon: "fa fa-exclamation",
+          timeout: r.AppNotificationTimeout.Warning,
+        },
+        u = {
+          title: "",
+          text: "",
+          severity: r.AppNotificationSeverity.Error,
+          icon: "fa fa-exclamation-triangle",
+          timeout: r.AppNotificationTimeout.Error,
+        },
+        f = function (e) {
+          var t =
+            arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "";
+          return i({}, s, { title: e, text: t, id: Date.now() });
+        },
+        d = function (e) {
+          var t =
+              arguments.length > 1 && void 0 !== arguments[1]
+                ? arguments[1]
+                : "",
+            n = arguments.length > 2 ? arguments[2] : void 0;
+          return i({}, u, {
+            text: Object(a.a)(t),
+            title: e,
+            id: Date.now(),
+            component: n,
+          });
+        },
+        p = function (e) {
+          var t =
+            arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "";
+          return i({}, c, { title: e, text: t, id: Date.now() });
+        };
+    },
+    Uw6O: function (e, t) {
+      var n = "public/app/features/profile/partials/profile.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body">\n  <react-profile-wrapper></react-profile-wrapper>\n\n  <h3 class=page-heading>Sessions</h3>\n  <div class=gf-form-group>\n    <table class="filter-table form-inline">\n      <thead>\n        <tr>\n          <th>Last seen</th>\n          <th>Logged on</th>\n          <th>IP address</th>\n          <th>Browser &amp; OS</th>\n          <th></th>\n        </tr>\n      </thead>\n      <tbody>\n        <tr ng-repeat="session in ctrl.sessions">\n          <td ng-if=session.isActive>Now</td>\n          <td ng-if=!session.isActive>{{ session.seenAt }}</td>\n          <td>{{ session.createdAt }}</td>\n          <td>{{ session.clientIp }}</td>\n          <td>{{ session.browser }} on {{ session.os }} {{ session.osVersion }}</td>\n          <td>\n            <button class="btn btn-danger btn-small" ng-click=ctrl.revokeUserSession(session.id)>\n              <i class="fa fa-power-off"></i>\n            </button>\n          </td>\n        </tr>\n      </tbody>\n    </table>\n  </div>\n</div>\n\n<footer/>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    V9sw: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return v;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("t8hP"),
+        i = n("ZFWI");
+      function l(e) {
+        return (l =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function s(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function c(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? s(Object(n), !0).forEach(function (t) {
+                u(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : s(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function u(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function f(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function d(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              f(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              f(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function p(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function h(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function m(e, t) {
+        return !t || ("object" !== l(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function g(e) {
+        return (g = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function b(e, t) {
+        return (b =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var v = (function (e) {
+        function t() {
+          var e, n;
+          p(this, t);
+          for (var r = arguments.length, a = new Array(r), l = 0; l < r; l++)
+            a[l] = arguments[l];
+          return (
+            ((n = m(this, (e = g(t)).call.apply(e, [this].concat(a)))).state = {
+              teams: [],
+              orgs: [],
+              loadingStates: {
+                changePassword: !1,
+                loadUser: !0,
+                loadTeams: !1,
+                loadOrgs: !1,
+                updateUserProfile: !1,
+                updateUserOrg: !1,
+              },
+            }),
+            (n.changePassword = (function () {
+              var e = d(
+                regeneratorRuntime.mark(function e(t) {
+                  return regeneratorRuntime.wrap(function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (
+                            n.setState({
+                              loadingStates: c({}, n.state.loadingStates, {
+                                changePassword: !0,
+                              }),
+                            }),
+                            (e.next = 3),
+                            Object(o.getBackendSrv)().put(
+                              "/api/user/password",
+                              t
+                            )
+                          );
+                        case 3:
+                          n.setState({
+                            loadingStates: c({}, n.state.loadingStates, {
+                              changePassword: !1,
+                            }),
+                          });
+                        case 4:
+                        case "end":
+                          return e.stop();
+                      }
+                  }, e);
+                })
+              );
+              return function (t) {
+                return e.apply(this, arguments);
+              };
+            })()),
+            (n.loadUser = d(
+              regeneratorRuntime.mark(function e() {
+                var t;
+                return regeneratorRuntime.wrap(function (e) {
+                  for (;;)
+                    switch ((e.prev = e.next)) {
+                      case 0:
+                        return (
+                          n.setState({
+                            loadingStates: c({}, n.state.loadingStates, {
+                              loadUser: !0,
+                            }),
+                          }),
+                          (e.next = 3),
+                          Object(o.getBackendSrv)().get("/api/user")
+                        );
+                      case 3:
+                        (t = e.sent),
+                          n.setState({
+                            user: t,
+                            loadingStates: c({}, n.state.loadingStates, {
+                              loadUser: 0 === Object.keys(t).length,
+                            }),
+                          });
+                      case 5:
+                      case "end":
+                        return e.stop();
+                    }
+                }, e);
+              })
+            )),
+            (n.loadTeams = d(
+              regeneratorRuntime.mark(function e() {
+                var t;
+                return regeneratorRuntime.wrap(function (e) {
+                  for (;;)
+                    switch ((e.prev = e.next)) {
+                      case 0:
+                        return (
+                          n.setState({
+                            loadingStates: c({}, n.state.loadingStates, {
+                              loadTeams: !0,
+                            }),
+                          }),
+                          (e.next = 3),
+                          Object(o.getBackendSrv)().get("/api/user/teams")
+                        );
+                      case 3:
+                        (t = e.sent),
+                          n.setState({
+                            teams: t,
+                            loadingStates: c({}, n.state.loadingStates, {
+                              loadTeams: !1,
+                            }),
+                          });
+                      case 5:
+                      case "end":
+                        return e.stop();
+                    }
+                }, e);
+              })
+            )),
+            (n.loadOrgs = d(
+              regeneratorRuntime.mark(function e() {
+                var t;
+                return regeneratorRuntime.wrap(function (e) {
+                  for (;;)
+                    switch ((e.prev = e.next)) {
+                      case 0:
+                        return (
+                          n.setState({
+                            loadingStates: c({}, n.state.loadingStates, {
+                              loadOrgs: !0,
+                            }),
+                          }),
+                          (e.next = 3),
+                          Object(o.getBackendSrv)().get("/api/user/orgs")
+                        );
+                      case 3:
+                        (t = e.sent),
+                          n.setState({
+                            orgs: t,
+                            loadingStates: c({}, n.state.loadingStates, {
+                              loadOrgs: !1,
+                            }),
+                          });
+                      case 5:
+                      case "end":
+                        return e.stop();
+                    }
+                }, e);
+              })
+            )),
+            (n.setUserOrg = (function () {
+              var e = d(
+                regeneratorRuntime.mark(function e(t) {
+                  return regeneratorRuntime.wrap(function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (
+                            n.setState({
+                              loadingStates: c({}, n.state.loadingStates, {
+                                updateUserOrg: !0,
+                              }),
+                            }),
+                            (e.next = 3),
+                            Object(o.getBackendSrv)()
+                              .post("/api/user/using/" + t.orgId, {})
+                              .then(function () {
+                                window.location.href =
+                                  i.a.appSubUrl + "/profile";
+                              })
+                              .finally(function () {
+                                n.setState({
+                                  loadingStates: c({}, n.state.loadingStates, {
+                                    updateUserOrg: !1,
+                                  }),
+                                });
+                              })
+                          );
+                        case 3:
+                        case "end":
+                          return e.stop();
+                      }
+                  }, e);
+                })
+              );
+              return function (t) {
+                return e.apply(this, arguments);
+              };
+            })()),
+            (n.updateUserProfile = (function () {
+              var e = d(
+                regeneratorRuntime.mark(function e(t) {
+                  return regeneratorRuntime.wrap(function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (
+                            n.setState({
+                              loadingStates: c({}, n.state.loadingStates, {
+                                updateUserProfile: !0,
+                              }),
+                            }),
+                            (e.next = 3),
+                            Object(o.getBackendSrv)()
+                              .put("/api/user", t)
+                              .then(function () {
+                                n.loadUser();
+                              })
+                              .catch(function (e) {
+                                return console.log(e);
+                              })
+                              .finally(function () {
+                                n.setState({
+                                  loadingStates: c({}, n.state.loadingStates, {
+                                    updateUserProfile: !1,
+                                  }),
+                                });
+                              })
+                          );
+                        case 3:
+                        case "end":
+                          return e.stop();
+                      }
+                  }, e);
+                })
+              );
+              return function (t) {
+                return e.apply(this, arguments);
+              };
+            })()),
+            n
+          );
+        }
+        var n, r, l;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && b(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "componentWillMount",
+              value: function () {
+                this.props.userId && this.loadUser();
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this.props.children,
+                  t = this.state,
+                  n = t.loadingStates,
+                  r = t.teams,
+                  o = t.orgs,
+                  i = t.user,
+                  l = {
+                    changePassword: this.changePassword,
+                    loadUser: this.loadUser,
+                    loadTeams: this.loadTeams,
+                    loadOrgs: this.loadOrgs,
+                    updateUserProfile: this.updateUserProfile,
+                    setUserOrg: this.setUserOrg,
+                  };
+                return a.a.createElement(a.a.Fragment, null, e(l, n, r, o, i));
+              },
+            },
+          ]) && h(n.prototype, r),
+          l && h(n, l),
+          t
+        );
+      })(r.PureComponent);
+    },
+    VDBq: function (e, t) {
+      var n = "public/app/core/components/search/search_results.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div ng-repeat="section in ctrl.results" class=search-section>\n  <div class="search-section__header pointer" ng-hide=section.hideHeader ng-class="{\'selected\': section.selected}" ng-click=ctrl.toggleFolderExpand(section)>\n    <div ng-click="ctrl.toggleSelection(section, $event)" class=center-vh>\n      <gf-form-checkbox ng-show=ctrl.editable on-change=ctrl.selectionChanged($event) checked=section.checked switch-class=gf-form-checkbox--transparent>\n      </gf-form-checkbox>\n    </div>\n    <i class=search-section__header__icon ng-class=section.icon></i>\n    <span class=search-section__header__text>{{::section.title}}</span>\n    <a ng-show=section.url href={{section.url}} class=search-section__header__link>\n      <i class="gicon gicon-cog"></i>\n    </a>\n    <i class="fa fa-angle-down search-section__header__toggle" ng-show=section.expanded></i>\n    <i class="fa fa-angle-right search-section__header__toggle" ng-hide=section.expanded></i>\n  </div>\n\n  <div class=search-section__header ng-show=section.hideHeader></div>\n\n  <div ng-if=section.expanded>\n    <a ng-repeat="item in section.items" class="search-item search-item--indent" ng-class="{\'selected\': item.selected}" ng-href={{::item.url}} aria-label={{ctrl.selectors.dashboards(item.title)}}>\n      <div ng-click="ctrl.toggleSelection(item, $event)" class=center-vh>\n        <gf-form-checkbox ng-show=ctrl.editable on-change=ctrl.selectionChanged() checked=item.checked switch-class=gf-form-checkbox--transparent>\n        </gf-form-checkbox>\n      </div>\n      <span class=search-item__icon>\n        <i class="gicon mini gicon-dashboard-list"></i>\n      </span>\n      <span class=search-item__body ng-click=ctrl.onItemClick(item)>\n        <div class=search-item__body-title>{{::item.title}}</div>\n        <span class=search-item__body-folder-title>{{::item.folderTitle}}</span>\n      </span>\n      <span class=search-item__tags>\n        <span ng-click="ctrl.selectTag(tag, $event)" ng-repeat="tag in item.tags" tag-color-from-name=tag class="label label-tag">\n          {{tag}}\n        </span>\n      </span>\n    </a>\n  </div>\n</div>\n\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    VEkI: function (e, t, n) {
+      "use strict";
+      n.d(t, "b", function () {
+        return u;
+      }),
+        n.d(t, "a", function () {
+          return f;
+        });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("MIBK"),
+        i = n("kDDq");
+      function l() {
+        var e = c(["\n      margin-right: ", "px;\n    "]);
+        return (
+          (l = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function s() {
+        var e = c([
+          "\n      font-size: ",
+          ";\n      font-weight: ",
+          ";\n      margin: ",
+          ";\n      padding: ",
+          ";\n      color: ",
+          ";\n      background: ",
+          ";\n      border-radius: ",
+          ";\n      position: relative;\n      display: inline-block;\n\n      &:before {\n        content: '';\n        position: absolute;\n        left: 9px;\n        top: -4px;\n        width: 0;\n        height: 0;\n        border-left: 4px solid transparent;\n        border-right: 4px solid transparent;\n        border-bottom: 4px solid ",
+          ";\n      }\n    ",
+        ]);
+        return (
+          (s = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function c(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var u = Object(o.g)(function (e) {
+          return {
+            fieldValidationMessage: Object(i.css)(
+              s(),
+              e.typography.size.sm,
+              e.typography.weight.semibold,
+              e.spacing.formValidationMessageMargin,
+              e.spacing.formValidationMessagePadding,
+              e.colors.formValidationMessageText,
+              e.colors.formValidationMessageBg,
+              e.border.radius.sm,
+              e.colors.formValidationMessageBg
+            ),
+            fieldValidationMessageIcon: Object(i.css)(
+              l(),
+              e.spacing.formSpacingBase
+            ),
+          };
+        }),
+        f = function (e) {
+          var t = e.children,
+            n = e.className,
+            r = Object(o.h)(),
+            l = u(r);
+          return a.a.createElement(
+            "div",
+            { className: Object(i.cx)(l.fieldValidationMessage, n) },
+            a.a.createElement("i", {
+              className: Object(i.cx)(
+                l.fieldValidationMessageIcon,
+                "fa",
+                "fa-warning"
+              ),
+            }),
+            t
+          );
+        };
+    },
+    VKbU: function (e, t) {
+      var n =
+        "public/app/plugins/datasource/elasticsearch/partials/pipeline_variables.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div ng-repeat="var in variables">\n  <div class="gf-form offset-width-7" ng-if="$index === 0">\n    <label class="gf-form-label width-10">Variables</label>\n    <input type=text class="gf-form-input max-width-12" ng-model=var.name placeholder="Variable name" ng-blur=onChangeInternal() spellcheck=false>\n    <metric-segment-model property=var.pipelineAgg options=options on-change=onChangeInternal() custom=false css-class=width-12></metric-segment-model>\n    <label class=gf-form-label>\n      <a class=pointer ng-click=remove($index)><i class="fa fa-minus"></i></a>\n    </label>\n    <label class=gf-form-label>\n      <a class=pointer ng-click=add()><i class="fa fa-plus"></i></a>\n    </label>\n  </div>\n  <div class="gf-form offset-width-17" ng-if="$index !== 0">\n    <input type=text class="gf-form-input max-width-12" ng-model=var.name placeholder="Variable name" ng-blur=onChangeInternal() spellcheck=false>\n    <metric-segment-model property=var.pipelineAgg options=options on-change=onChangeInternal() custom=false css-class=width-12></metric-segment-model>\n    <label class=gf-form-label>\n      <a class=pointer ng-click=remove($index)><i class="fa fa-minus"></i></a>\n    </label>\n  </div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    VX0D: function (e, t, n) {
+      "use strict";
+      n.d(t, "c", function () {
+        return s;
+      }),
+        n.d(t, "d", function () {
+          return c;
+        }),
+        n.d(t, "b", function () {
+          return u;
+        }),
+        n.d(t, "a", function () {
+          return f;
+        });
+      var r = n("Xjjk"),
+        a = n.n(r),
+        o = n("yqkn"),
+        i = Object.keys(a.a.whiteList).reduce(function (e, t) {
+          return (e[t] = a.a.whiteList[t].concat(["class", "style"])), e;
+        }, {}),
+        l = new a.a.FilterXSS({ whiteList: i });
+      function s(e) {
+        try {
+          return l.process(e);
+        } catch (t) {
+          return console.log("String could not be sanitized", e), e;
+        }
+      }
+      function c(e) {
+        return Object(o.sanitizeUrl)(e);
+      }
+      function u(e) {
+        return /\u001b\[\d{1,2}m/.test(e);
+      }
+      function f(e) {
+        return String(e)
+          .replace(/&/g, "&amp;")
+          .replace(/</g, "&lt;")
+          .replace(/>/g, "&gt;")
+          .replace(/"/g, "&quot;");
+      }
+    },
+    Vt59: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return c;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDDq"),
+        i = n("MIBK");
+      function l() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })([
+          "\n      display: inline-block;\n      width: 16px;\n      height: 16px;\n      text-align: center;\n      font-size: 14px;\n      &:before {\n        vertical-align: middle;\n      }\n    ",
+        ]);
+        return (
+          (l = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      var s = Object(i.g)(function () {
+          return { icon: Object(o.css)(l()) };
+        }),
+        c = function (e) {
+          var t = e.name,
+            n = e.className,
+            r = e.onClick,
+            i = e.onMouseDown,
+            l = s();
+          return a.a.createElement("i", {
+            className: Object(o.cx)(l.icon, "fa", "fa-".concat(t), n),
+            onClick: r,
+            onMouseDown: i,
+          });
+        };
+      c.displayName = "Icon";
+    },
+    VtFO: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return h;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDDq"),
+        i = n("1w3K"),
+        l = n("MIBK");
+      function s() {
+        var e = d([
+          "\n      label: exitActive;\n      opacity: 0;\n      transition: opacity ",
+          "ms ease-out;\n    ",
+        ]);
+        return (
+          (s = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function c() {
+        var e = d(["\n      label: exit;\n      opacity: 1;\n    "]);
+        return (
+          (c = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function u() {
+        var e = d([
+          "\n      label: enterActive;\n      opacity: 1;\n      transition: opacity ",
+          "ms ease-out;\n    ",
+        ]);
+        return (
+          (u = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function f() {
+        var e = d(["\n      label: enter;\n      opacity: 0;\n    "]);
+        return (
+          (f = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function d(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var p = Object(l.g)(function (e) {
+        return {
+          enter: Object(o.css)(f()),
+          enterActive: Object(o.css)(u(), e),
+          exit: Object(o.css)(c()),
+          exitActive: Object(o.css)(s(), e),
+        };
+      });
+      function h(e) {
+        var t = e.visible,
+          n = e.children,
+          r = e.duration,
+          o = void 0 === r ? 250 : r,
+          l = p(o);
+        return a.a.createElement(
+          i.CSSTransition,
+          {
+            in: t,
+            mountOnEnter: !0,
+            unmountOnExit: !0,
+            timeout: o,
+            classNames: l,
+          },
+          n
+        );
+      }
+    },
+    "Vw/f": function (e, t, n) {
+      "use strict";
+      var r = {};
+      n.r(r),
+        n.d(r, "TextPanelCtrl", function () {
+          return le;
+        }),
+        n.d(r, "PanelCtrl", function () {
+          return le;
+        });
+      var a = {};
+      n.r(a),
+        n.d(a, "plugin", function () {
+          return Se;
+        });
+      var o = {};
+      n.r(o),
+        n.d(o, "plugin", function () {
+          return lt;
+        });
+      var i = {};
+      n.r(i),
+        n.d(i, "GraphCtrl", function () {
+          return er;
+        }),
+        n.d(i, "PanelCtrl", function () {
+          return er;
+        });
+      var l = {};
+      n.r(l),
+        n.d(l, "DashListCtrl", function () {
+          return ir;
+        }),
+        n.d(l, "PanelCtrl", function () {
+          return ir;
+        });
+      var s = {};
+      n.r(s),
+        n.d(s, "PluginListCtrl", function () {
+          return hr;
+        }),
+        n.d(s, "PanelCtrl", function () {
+          return hr;
+        });
+      var c = {};
+      n.r(c),
+        n.d(c, "AlertListPanel", function () {
+          return Or;
+        }),
+        n.d(c, "PanelCtrl", function () {
+          return Or;
+        });
+      var u = {};
+      n.r(u),
+        n.d(u, "plugin", function () {
+          return Qr;
+        });
+      var f = {};
+      n.r(f),
+        n.d(f, "PanelCtrl", function () {
+          return Ma;
+        });
+      var d = {};
+      n.r(d),
+        n.d(d, "TablePanelCtrl", function () {
+          return eo;
+        }),
+        n.d(d, "plugin", function () {
+          return to;
+        });
+      var p = {};
+      n.r(p),
+        n.d(p, "plugin", function () {
+          return wo;
+        });
+      var h = {};
+      n.r(h),
+        n.d(h, "SingleStatCtrl", function () {
+          return Do;
+        }),
+        n.d(h, "PanelCtrl", function () {
+          return Do;
+        }),
+        n.d(h, "getColorForValue", function () {
+          return Ao;
+        });
+      var m = {};
+      n.r(m),
+        n.d(m, "plugin", function () {
+          return ai;
+        });
+      var g = {};
+      n.r(g),
+        n.d(g, "plugin", function () {
+          return di;
+        });
+      var b = {};
+      n.r(b),
+        n.d(b, "plugin", function () {
+          return Di;
+        });
+      var v = {};
+      n.r(v),
+        n.d(v, "plugin", function () {
+          return sl;
+        });
+      var y = {};
+      n.r(y),
+        n.d(y, "plugin", function () {
+          return Al;
+        });
+      var w = {};
+      n.r(w),
+        n.d(w, "plugin", function () {
+          return Gl;
+        });
+      var O = {};
+      n.r(O),
+        n.d(O, "plugin", function () {
+          return Os;
+        });
+      var x = {};
+      n.r(x),
+        n.d(x, "GrafanaLinksPanel", function () {
+          return Ns;
+        }),
+        n.d(x, "HomeLink", function () {
+          return Ms;
+        }),
+        n.d(x, "VersionFooter", function () {
+          return Is;
+        }),
+        n.d(x, "getStyles", function () {
+          return Rs;
+        }),
+        n.d(x, "plugin", function () {
+          return Fs;
+        });
+      var k = n("LvDl"),
+        j = n.n(k),
+        S = n("LzXI"),
+        E = n("PbtU"),
+        C = n("wd/R"),
+        P = n.n(C),
+        T = n("KHwQ"),
+        D = n.n(T),
+        A = n("+2Rf"),
+        _ = n.n(A),
+        N = n("wZee"),
+        M = n.n(N),
+        I = n("0aAt"),
+        R = n("LBMm"),
+        F = n("mkUw"),
+        L = n("q1tI"),
+        V = n.n(L),
+        B = n("i8i4"),
+        $ = n.n(B),
+        q = n("/MKj"),
+        U = n("ANjH"),
+        z = n("ZFWI"),
+        H = n("1Zgx"),
+        G = n("iZOS"),
+        W = n("HJRA"),
+        Q = n("Obii"),
+        Y = n("FO4H"),
+        K = n("wEtz"),
+        J = n("nwiq"),
+        Z = n("NXk7"),
+        X = n("2KQq"),
+        ee = n("h3Ht"),
+        te = n("VX0D");
+      function ne(e) {
+        return (ne =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function re(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function ae(e) {
+        return (ae = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function oe(e) {
+        if (void 0 === e)
+          throw new ReferenceError(
+            "this hasn't been initialised - super() hasn't been called"
+          );
+        return e;
+      }
+      function ie(e, t) {
+        return (ie =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var le = (function (e) {
+        function t(e, n, r, a) {
+          var o, i, l;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, t),
+            (i = this),
+            (l = ae(t).call(this, e, n)),
+            ((o =
+              !l || ("object" !== ne(l) && "function" != typeof l)
+                ? oe(i)
+                : l).templateSrv = r),
+            (o.$sce = a),
+            (o.panelDefaults = {
+              mode: "markdown",
+              content:
+                "\n# Title\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)\n\n\n\n",
+            }),
+            j.a.defaults(o.panel, o.panelDefaults),
+            o.events.on(
+              Q.PanelEvents.editModeInitialized,
+              o.onInitEditMode.bind(oe(o))
+            ),
+            o.events.on(Q.PanelEvents.refresh, o.onRefresh.bind(oe(o))),
+            o.events.on(Q.PanelEvents.render, o.onRender.bind(oe(o)));
+          return (
+            e.$watch(
+              function (e) {
+                var t = e.ctrl.panel;
+                return [t.content, t.mode].join();
+              },
+              j.a.throttle(function () {
+                o.render();
+              }, 100)
+            ),
+            o
+          );
+        }
+        var n, r, a;
+        return (
+          (t.$inject = ["$scope", "$injector", "templateSrv", "$sce"]),
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && ie(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "onInitEditMode",
+              value: function () {
+                this.addEditorTab(
+                  "Options",
+                  "public/app/plugins/panel/text/editor.html"
+                ),
+                  "text" === this.panel.mode && (this.panel.mode = "markdown");
+              },
+            },
+            {
+              key: "onRefresh",
+              value: function () {
+                this.render();
+              },
+            },
+            {
+              key: "onRender",
+              value: function () {
+                "markdown" === this.panel.mode
+                  ? this.renderMarkdown(this.panel.content)
+                  : "html" === this.panel.mode &&
+                    this.updateContent(this.panel.content),
+                  this.renderingCompleted();
+              },
+            },
+            {
+              key: "renderText",
+              value: function (e) {
+                var t = Object(te.a)(e).replace(/\n/g, "<br/>");
+                this.updateContent(t);
+              },
+            },
+            {
+              key: "renderMarkdown",
+              value: function (e) {
+                var t = this;
+                this.$scope.$applyAsync(function () {
+                  t.updateContent(Object(Q.renderMarkdown)(e));
+                });
+              },
+            },
+            {
+              key: "updateContent",
+              value: function (e) {
+                try {
+                  e = this.templateSrv.replace(
+                    e,
+                    this.panel.scopedVars,
+                    "html"
+                  );
+                } catch (e) {
+                  console.log("Text panel error: ", e);
+                }
+                this.content = this.$sce.trustAsHtml(
+                  z.b.disableSanitizeHtml ? e : Object(te.c)(e)
+                );
+              },
+            },
+          ]) && re(n.prototype, r),
+          a && re(n, a),
+          t
+        );
+      })(S.PanelCtrl);
+      (le.templateUrl = "public/app/plugins/panel/text/module.html"),
+        (le.scrollable = !0);
+      var se = n("kDLi");
+      function ce(e) {
+        return (ce =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function ue(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function fe(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? ue(Object(n), !0).forEach(function (t) {
+                de(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : ue(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function de(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function pe(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function he(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function me(e, t) {
+        return !t || ("object" !== ce(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function ge(e) {
+        return (ge = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function be(e, t) {
+        return (be =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var ve = (function (e) {
+        function t() {
+          var e, n;
+          pe(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = me(
+              this,
+              (e = ge(t)).call.apply(e, [this].concat(a))
+            )).modes = [
+              { value: "markdown", label: "Markdown" },
+              { value: "text", label: "Text" },
+              { value: "html", label: "HTML" },
+            ]),
+            (n.onModeChange = function (e) {
+              return n.props.onOptionsChange(
+                fe({}, n.props.options, { mode: e.value })
+              );
+            }),
+            (n.onContentChange = function (e) {
+              n.props.onOptionsChange(
+                fe({}, n.props.options, { content: e.target.value })
+              );
+            }),
+            n
+          );
+        }
+        var n, r, a;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && be(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e = this.props.options,
+                  t = e.mode,
+                  n = e.content;
+                return V.a.createElement(
+                  se.PanelOptionsGroup,
+                  { title: "Text" },
+                  V.a.createElement(
+                    "div",
+                    { className: "gf-form-inline" },
+                    V.a.createElement(
+                      "div",
+                      { className: "gf-form" },
+                      V.a.createElement(
+                        "span",
+                        { className: "gf-form-label" },
+                        "Mode"
+                      ),
+                      V.a.createElement(se.Select, {
+                        onChange: this.onModeChange,
+                        value: this.modes.find(function (e) {
+                          return t === e.value;
+                        }),
+                        options: this.modes,
+                      })
+                    )
+                  ),
+                  V.a.createElement("textarea", {
+                    value: n,
+                    onChange: this.onContentChange,
+                    className: "gf-form-input",
+                    rows: 10,
+                  })
+                );
+              },
+            },
+          ]) && he(n.prototype, r),
+          a && he(n, a),
+          t
+        );
+      })(L.PureComponent);
+      function ye(e) {
+        return (ye =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function we(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Oe(e, t) {
+        return !t || ("object" !== ye(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function xe(e) {
+        return (xe = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function ke(e, t) {
+        return (ke =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var je = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = Oe(this, xe(t).call(this, e))).updateHTML = Object(
+                k.debounce
+              )(function () {
+                var e = n.processContent(n.props.options);
+                e !== n.state.html && n.setState({ html: e });
+              }, 150)),
+              (n.state = { html: n.processContent(e.options) }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && ke(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidUpdate",
+                value: function (e) {
+                  this.updateHTML();
+                },
+              },
+              {
+                key: "prepareHTML",
+                value: function (e) {
+                  return (
+                    (e = (0, this.props.replaceVariables)(e, {}, "html")),
+                    z.b.disableSanitizeHtml ? e : Object(te.c)(e)
+                  );
+                },
+              },
+              {
+                key: "prepareText",
+                value: function (e) {
+                  return this.prepareHTML(
+                    e
+                      .replace(/&/g, "&amp;")
+                      .replace(/>/g, "&gt;")
+                      .replace(/</g, "&lt;")
+                      .replace(/\n/g, "<br/>")
+                  );
+                },
+              },
+              {
+                key: "prepareMarkdown",
+                value: function (e) {
+                  return this.prepareHTML(Object(Q.renderMarkdown)(e));
+                },
+              },
+              {
+                key: "processContent",
+                value: function (e) {
+                  var t = e.mode,
+                    n = e.content;
+                  return n
+                    ? "markdown" === t
+                      ? this.prepareMarkdown(n)
+                      : "html" === t
+                      ? this.prepareHTML(n)
+                      : this.prepareText(n)
+                    : "";
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this.state.html;
+                  return V.a.createElement("div", {
+                    className: "markdown-html panel-text-content",
+                    dangerouslySetInnerHTML: { __html: e },
+                  });
+                },
+              },
+            ]) && we(n.prototype, r),
+            a && we(n, a),
+            t
+          );
+        })(L.PureComponent),
+        Se = new Q.PanelPlugin(je)
+          .setDefaults({
+            mode: "markdown",
+            content:
+              "# Title\n\nFor markdown syntax help: [commonmark.org/help](https://commonmark.org/help/)\n\n\n",
+          })
+          .setEditor(ve)
+          .setPanelChangeHandler(function (e, t, n) {
+            return "text" === t ? n : e;
+          });
+      function Ee(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Ce(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? Ee(Object(n), !0).forEach(function (t) {
+                Pe(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : Ee(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Pe(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var Te = function (e) {
+        var t = e.options,
+          n = e.onChange,
+          r = function (e) {
+            return function (r) {
+              var a = {};
+              r &&
+                ((a[e] =
+                  "placement" === e
+                    ? r.target.checked
+                      ? "right"
+                      : "under"
+                    : r.target.checked),
+                n(Ce({}, t, {}, a)));
+            };
+          };
+        return V.a.createElement(
+          se.PanelOptionsGroup,
+          { title: "Legend" },
+          V.a.createElement(
+            "div",
+            { className: "section gf-form-group" },
+            V.a.createElement("h4", null, "Options"),
+            V.a.createElement(se.Switch, {
+              label: "Show legend",
+              labelClass: "width-".concat(8),
+              checked: t.isVisible,
+              onChange: r("isVisible"),
+            }),
+            V.a.createElement(se.Switch, {
+              label: "Display as table",
+              labelClass: "width-".concat(8),
+              checked: t.asTable,
+              onChange: r("asTable"),
+            }),
+            V.a.createElement(se.Switch, {
+              label: "To the right",
+              labelClass: "width-".concat(8),
+              checked: "right" === t.placement,
+              onChange: r("placement"),
+            })
+          ),
+          V.a.createElement(
+            "div",
+            { className: "section gf-form-group" },
+            V.a.createElement("h4", null, "Show"),
+            V.a.createElement(
+              "div",
+              { className: "gf-form" },
+              V.a.createElement(se.StatsPicker, {
+                allowMultiple: !0,
+                stats: t.stats ? t.stats : [],
+                onChange: function (e) {
+                  n(Ce({}, t, { stats: e }));
+                },
+                placeholder: "Pick Values",
+              })
+            ),
+            V.a.createElement(
+              "div",
+              { className: "gf-form" },
+              V.a.createElement(
+                "div",
+                { className: "gf-form-label" },
+                "Decimals"
+              ),
+              V.a.createElement(se.Input, {
+                className: "gf-form-input width-5",
+                type: "number",
+                value: t.decimals,
+                placeholder: "Auto",
+                onChange: function (e) {
+                  n(Ce({}, t, { decimals: parseInt(e.target.value, 10) }));
+                },
+              })
+            )
+          ),
+          V.a.createElement(
+            "div",
+            { className: "section gf-form-group" },
+            V.a.createElement("h4", null, "Hidden series"),
+            V.a.createElement(se.Switch, {
+              label: "With only zeros",
+              checked: !!t.hideZero,
+              onChange: r("hideZero"),
+            })
+          )
+        );
+      };
+      function De(e) {
+        return (De =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Ae(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function _e(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? Ae(Object(n), !0).forEach(function (t) {
+                Ne(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : Ae(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Ne(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Me(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Ie(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Re(e, t) {
+        return !t || ("object" !== De(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Fe(e) {
+        return (Fe = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Le(e, t) {
+        return (Le =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Ve = (function (e) {
+          function t() {
+            var e, n;
+            Me(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = Re(
+                this,
+                (e = Fe(t)).call.apply(e, [this].concat(a))
+              )).onGraphOptionsChange = function (e) {
+                n.props.onOptionsChange(
+                  _e({}, n.props.options, {
+                    graph: _e({}, n.props.options.graph, {}, e),
+                  })
+                );
+              }),
+              (n.onLegendOptionsChange = function (e) {
+                n.props.onOptionsChange(_e({}, n.props.options, { legend: e }));
+              }),
+              (n.onTooltipOptionsChange = function (e) {
+                n.props.onOptionsChange(
+                  _e({}, n.props.options, { tooltipOptions: e })
+                );
+              }),
+              (n.onToggleLines = function () {
+                n.onGraphOptionsChange({
+                  showLines: !n.props.options.graph.showLines,
+                });
+              }),
+              (n.onToggleBars = function () {
+                n.onGraphOptionsChange({
+                  showBars: !n.props.options.graph.showBars,
+                });
+              }),
+              (n.onTogglePoints = function () {
+                n.onGraphOptionsChange({
+                  showPoints: !n.props.options.graph.showPoints,
+                });
+              }),
+              (n.onDefaultsChange = function (e) {
+                n.props.onOptionsChange(
+                  _e({}, n.props.options, {
+                    fieldOptions: _e({}, n.props.options.fieldOptions, {
+                      defaults: e,
+                    }),
+                  })
+                );
+              }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Le(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this,
+                    t = this.props.options,
+                    n = t.graph,
+                    r = n.showBars,
+                    a = n.showPoints,
+                    o = n.showLines,
+                    i = t.tooltipOptions.mode;
+                  return V.a.createElement(
+                    V.a.Fragment,
+                    null,
+                    V.a.createElement(
+                      "div",
+                      { className: "section gf-form-group" },
+                      V.a.createElement(
+                        "h5",
+                        { className: "section-heading" },
+                        "Draw Modes"
+                      ),
+                      V.a.createElement(se.Switch, {
+                        label: "Lines",
+                        labelClass: "width-5",
+                        checked: o,
+                        onChange: this.onToggleLines,
+                      }),
+                      V.a.createElement(se.Switch, {
+                        label: "Bars",
+                        labelClass: "width-5",
+                        checked: r,
+                        onChange: this.onToggleBars,
+                      }),
+                      V.a.createElement(se.Switch, {
+                        label: "Points",
+                        labelClass: "width-5",
+                        checked: a,
+                        onChange: this.onTogglePoints,
+                      })
+                    ),
+                    V.a.createElement(
+                      se.PanelOptionsGrid,
+                      null,
+                      V.a.createElement(
+                        se.PanelOptionsGroup,
+                        { title: "Field" },
+                        V.a.createElement(se.FieldPropertiesEditor, {
+                          showMinMax: !1,
+                          onChange: this.onDefaultsChange,
+                          value: this.props.options.fieldOptions.defaults,
+                        })
+                      ),
+                      V.a.createElement(
+                        se.PanelOptionsGroup,
+                        { title: "Tooltip" },
+                        V.a.createElement(se.Select, {
+                          value: {
+                            value: i,
+                            label: "single" === i ? "Single" : "All series",
+                          },
+                          onChange: function (t) {
+                            e.onTooltipOptionsChange({ mode: t.value });
+                          },
+                          options: [
+                            { label: "All series", value: "multi" },
+                            { label: "Single", value: "single" },
+                          ],
+                        })
+                      ),
+                      V.a.createElement(Te, {
+                        options: this.props.options.legend,
+                        onChange: this.onLegendOptionsChange,
+                      })
+                    )
+                  );
+                },
+              },
+            ]) && Ie(n.prototype, r),
+            a && Ie(n, a),
+            t
+          );
+        })(L.PureComponent),
+        Be = n("66yP");
+      function $e(e) {
+        return ($e =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function qe(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Ue(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? qe(Object(n), !0).forEach(function (t) {
+                ze(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : qe(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function ze(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function He(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Ge(e) {
+        return (Ge = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function We(e) {
+        if (void 0 === e)
+          throw new ReferenceError(
+            "this hasn't been initialised - super() hasn't been called"
+          );
+        return e;
+      }
+      function Qe(e, t) {
+        return (Qe =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Ye = (function (e) {
+          function t(e) {
+            var n, r, a;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              (r = this),
+              ((n =
+                !(a = Ge(t).call(this, e)) ||
+                ("object" !== $e(a) && "function" != typeof a)
+                  ? We(r)
+                  : a).onSeriesColorChange = n.onSeriesColorChange.bind(We(n))),
+              (n.onSeriesAxisToggle = n.onSeriesAxisToggle.bind(We(n))),
+              (n.onToggleSort = n.onToggleSort.bind(We(n))),
+              (n.onHorizontalRegionSelected = n.onHorizontalRegionSelected.bind(
+                We(n)
+              )),
+              (n.state = {
+                graphSeriesModel: Object(Be.a)(
+                  e.data.series,
+                  e.timeZone,
+                  e.options.series,
+                  e.options.graph,
+                  e.options.legend,
+                  e.options.fieldOptions
+                ),
+              }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Qe(e, t);
+            })(t, e),
+            (n = t),
+            (a = [
+              {
+                key: "getDerivedStateFromProps",
+                value: function (e, t) {
+                  return Ue({}, t, {
+                    graphSeriesModel: Object(Be.a)(
+                      e.data.series,
+                      e.timeZone,
+                      e.options.series,
+                      e.options.graph,
+                      e.options.legend,
+                      e.options.fieldOptions
+                    ),
+                  });
+                },
+              },
+            ]),
+            (r = [
+              {
+                key: "onSeriesOptionsUpdate",
+                value: function (e, t) {
+                  var n = this.props,
+                    r = n.onOptionsChange,
+                    a = n.options,
+                    o = Ue({}, a.series);
+                  (o[e] = t), r(Ue({}, a, { series: o }));
+                },
+              },
+              {
+                key: "onSeriesAxisToggle",
+                value: function (e, t) {
+                  var n = this.props.options.series,
+                    r = n[e]
+                      ? Ue({}, n[e], {
+                          yAxis: Ue({}, n[e].yAxis, { index: t }),
+                        })
+                      : { yAxis: { index: t } };
+                  this.onSeriesOptionsUpdate(e, r);
+                },
+              },
+              {
+                key: "onSeriesColorChange",
+                value: function (e, t) {
+                  var n = this.props.options.series,
+                    r = n[e] ? Ue({}, n[e], { color: t }) : { color: t };
+                  this.onSeriesOptionsUpdate(e, r);
+                },
+              },
+              {
+                key: "onToggleSort",
+                value: function (e) {
+                  var t = this.props,
+                    n = t.onOptionsChange,
+                    r = t.options;
+                  n(
+                    Ue({}, r, {
+                      legend: Ue({}, r.legend, {
+                        sortBy: e,
+                        sortDesc: e === r.legend.sortBy && !r.legend.sortDesc,
+                      }),
+                    })
+                  );
+                },
+              },
+              {
+                key: "onHorizontalRegionSelected",
+                value: function (e, t) {
+                  (0, this.props.onChangeTimeRange)({ from: e, to: t });
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this,
+                    t = this.props.children,
+                    n = this.state.graphSeriesModel;
+                  return V.a.createElement(
+                    se.GraphSeriesToggler,
+                    { series: n },
+                    function (n) {
+                      var r = n.onSeriesToggle,
+                        a = n.toggledSeries;
+                      return t({
+                        series: a,
+                        onSeriesColorChange: e.onSeriesColorChange,
+                        onSeriesAxisToggle: e.onSeriesAxisToggle,
+                        onToggleSort: e.onToggleSort,
+                        onSeriesToggle: r,
+                        onHorizontalRegionSelected:
+                          e.onHorizontalRegionSelected,
+                      });
+                    }
+                  );
+                },
+              },
+            ]) && He(n.prototype, r),
+            a && He(n, a),
+            t
+          );
+        })(V.a.Component),
+        Ke = n("yqtr");
+      function Je() {
+        return (Je =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function Ze(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      var Xe = [
+          { value: se.BigValueColorMode.Value, label: "Value" },
+          { value: se.BigValueColorMode.Background, label: "Background" },
+        ],
+        et = [
+          { value: se.BigValueGraphMode.None, label: "None" },
+          { value: se.BigValueGraphMode.Area, label: "Area graph" },
+        ],
+        tt = [
+          { value: se.BigValueJustifyMode.Auto, label: "Auto" },
+          { value: se.BigValueJustifyMode.Center, label: "Center" },
+        ],
+        nt = {
+          values: !1,
+          calcs: [Q.ReducerID.mean],
+          defaults: {
+            thresholds: {
+              mode: Q.ThresholdsMode.Absolute,
+              steps: [
+                { value: -1 / 0, color: "green" },
+                { value: 80, color: "red" },
+              ],
+            },
+            mappings: [],
+          },
+          overrides: [],
+        },
+        rt = {
+          graphMode: se.BigValueGraphMode.Area,
+          colorMode: se.BigValueColorMode.Value,
+          justifyMode: se.BigValueJustifyMode.Auto,
+          fieldOptions: nt,
+          orientation: Q.VizOrientation.Auto,
+        };
+      function at(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function ot(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var it = {
+          graph: { showBars: !1, showLines: !0, showPoints: !1 },
+          legend: { asTable: !1, isVisible: !0, placement: "under" },
+          series: {},
+          fieldOptions: (function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = null != arguments[t] ? arguments[t] : {};
+              t % 2
+                ? at(Object(n), !0).forEach(function (t) {
+                    ot(e, t, n[t]);
+                  })
+                : Object.getOwnPropertyDescriptors
+                ? Object.defineProperties(
+                    e,
+                    Object.getOwnPropertyDescriptors(n)
+                  )
+                : at(Object(n)).forEach(function (t) {
+                    Object.defineProperty(
+                      e,
+                      t,
+                      Object.getOwnPropertyDescriptor(n, t)
+                    );
+                  });
+            }
+            return e;
+          })({}, nt),
+          tooltipOptions: { mode: "single" },
+        },
+        lt = new Q.PanelPlugin(function (e) {
+          var t = e.data,
+            n = e.timeRange,
+            r = e.timeZone,
+            a = e.width,
+            o = e.height,
+            i = e.options,
+            l = e.onOptionsChange,
+            s = e.onChangeTimeRange;
+          if (!t)
+            return V.a.createElement(
+              "div",
+              { className: "panel-empty" },
+              V.a.createElement("p", null, "No data found in response")
+            );
+          var c = i.graph,
+            u = c.showLines,
+            f = c.showBars,
+            d = c.showPoints,
+            p = i.legend,
+            h = i.tooltipOptions,
+            m = { showBars: f, showLines: u, showPoints: d, tooltipOptions: h },
+            g = p.asTable,
+            b = p.isVisible,
+            v = Ze(p, ["asTable", "isVisible"]);
+          return V.a.createElement(
+            Ye,
+            {
+              data: t,
+              timeZone: r,
+              options: i,
+              onOptionsChange: l,
+              onChangeTimeRange: s,
+            },
+            function (e) {
+              var t = e.onSeriesToggle,
+                i = e.onHorizontalRegionSelected,
+                l = Ze(e, ["onSeriesToggle", "onHorizontalRegionSelected"]);
+              return V.a.createElement(
+                se.GraphWithLegend,
+                Je(
+                  {
+                    timeRange: n,
+                    timeZone: r,
+                    width: a,
+                    height: o,
+                    displayMode: g ? Ke.b.Table : Ke.b.List,
+                    isLegendVisible: b,
+                    sortLegendBy: p.sortBy,
+                    sortLegendDesc: p.sortDesc,
+                    onSeriesToggle: t,
+                    onHorizontalRegionSelected: i,
+                  },
+                  m,
+                  v,
+                  l
+                ),
+                V.a.createElement(se.Chart.Tooltip, { mode: h.mode })
+              );
+            }
+          );
+        })
+          .setDefaults(it)
+          .setEditor(Ve),
+        st =
+          (n("85rF"),
+          n("3oeA"),
+          n("4Umt"),
+          n("0xpV"),
+          n("xKbd"),
+          n("kYRH"),
+          n("BDxW"),
+          n("vKfT"),
+          n("XI+/")),
+        ct = n.n(st);
+      function ut(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function ft(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function dt(e, t, n) {
+        return t && ft(e.prototype, t), n && ft(e, n), e;
+      }
+      yt.$inject = ["plot"];
+      var pt = function (e, t, n) {
+        var r = D.a.element(document).injector(),
+          a = document.createElement("div");
+        (a.innerHTML =
+          '<annotation-tooltip event="event" on-edit="onEdit()"></annotation-tooltip>'),
+          r.invoke([
+            "$compile",
+            "$rootScope",
+            function (r, o) {
+              var i = n.getOptions().events.manager,
+                l = o.$new(!0);
+              (l.event = t),
+                (l.onEdit = function () {
+                  i.editEvent(t);
+                }),
+                r(a)(l),
+                l.$digest(),
+                l.$destroy();
+              var s = new ct.a({
+                target: e[0],
+                content: a,
+                position: "bottom center",
+                classes: "drop-popover drop-popover--annotation",
+                openOn: "hover",
+                hoverCloseDelay: 200,
+                tetherOptions: {
+                  constraints: [{ to: "window", pin: !0, attachment: "both" }],
+                },
+              });
+              s.open(),
+                s.on("close", function () {
+                  setTimeout(function () {
+                    s.destroy();
+                  });
+                });
+            },
+          ]);
+      };
+      pt.$inject = ["element", "event", "plot"];
+      var ht = null,
+        mt = function (e, t, n) {
+          var r = n.getOptions().events.manager;
+          r.editorOpen
+            ? (ht = e)
+            : (r.editorOpened(),
+              (ht = e),
+              setTimeout(function () {
+                var e = D.a.element(document).injector(),
+                  n = document.createElement("div");
+                (n.innerHTML =
+                  '<event-editor panel-ctrl="panelCtrl" event="event" close="close()"></event-editor>'),
+                  e.invoke([
+                    "$compile",
+                    "$rootScope",
+                    function (e, a) {
+                      var o,
+                        i = a.$new(!0);
+                      (i.event = t),
+                        (i.panelCtrl = r.panelCtrl),
+                        (i.close = function () {
+                          o.close();
+                        }),
+                        e(n)(i),
+                        i.$digest(),
+                        (o = new ct.a({
+                          target: ht[0],
+                          content: n,
+                          position: "bottom center",
+                          classes: "drop-popover drop-popover--form",
+                          openOn: "click",
+                          tetherOptions: {
+                            constraints: [
+                              { to: "window", pin: !0, attachment: "both" },
+                            ],
+                          },
+                        })).open(),
+                        r.editorOpened(),
+                        o.on("close", function () {
+                          setTimeout(function () {
+                            r.editorClosed(), i.$destroy(), o.destroy();
+                          });
+                        });
+                    },
+                  ]);
+              }, 100));
+        };
+      mt.$inject = ["element", "event", "plot"];
+      var gt = (function () {
+          function e(t, n, r, a, o, i, l, s) {
+            ut(this, e),
+              (this._object = t),
+              (this._drawFunc = n),
+              (this._clearFunc = r),
+              (this._moveFunc = a),
+              (this._position = { left: o, top: i }),
+              (this._width = l),
+              (this._height = s);
+          }
+          return (
+            (e.$inject = [
+              "object",
+              "drawFunc",
+              "clearFunc",
+              "moveFunc",
+              "left",
+              "top",
+              "width",
+              "height",
+            ]),
+            dt(e, [
+              {
+                key: "width",
+                value: function () {
+                  return this._width;
+                },
+              },
+              {
+                key: "height",
+                value: function () {
+                  return this._height;
+                },
+              },
+              {
+                key: "position",
+                value: function () {
+                  return this._position;
+                },
+              },
+              {
+                key: "draw",
+                value: function () {
+                  this._drawFunc(this._object);
+                },
+              },
+              {
+                key: "clear",
+                value: function () {
+                  this._clearFunc(this._object);
+                },
+              },
+              {
+                key: "getObject",
+                value: function () {
+                  return this._object;
+                },
+              },
+              {
+                key: "moveTo",
+                value: function (e) {
+                  (this._position = e),
+                    this._moveFunc(this._object, this._position);
+                },
+              },
+            ]),
+            e
+          );
+        })(),
+        bt = (function () {
+          function e(t, n) {
+            ut(this, e),
+              (this._options = t),
+              (this._drawableEvent = n),
+              (this._hidden = !1);
+          }
+          return (
+            (e.$inject = ["options", "drawableEvent"]),
+            dt(e, [
+              {
+                key: "visual",
+                value: function () {
+                  return this._drawableEvent;
+                },
+              },
+              {
+                key: "getOptions",
+                value: function () {
+                  return this._options;
+                },
+              },
+              {
+                key: "getParent",
+                value: function () {
+                  return this._parent;
+                },
+              },
+              {
+                key: "isHidden",
+                value: function () {
+                  return this._hidden;
+                },
+              },
+              {
+                key: "hide",
+                value: function () {
+                  this._hidden = !0;
+                },
+              },
+              {
+                key: "unhide",
+                value: function () {
+                  this._hidden = !1;
+                },
+              },
+            ]),
+            e
+          );
+        })(),
+        vt = (function () {
+          function e(t) {
+            ut(this, e),
+              (this._events = []),
+              (this._types = []),
+              (this._plot = t),
+              (this.eventsEnabled = !1);
+          }
+          return (
+            (e.$inject = ["plot"]),
+            dt(e, [
+              {
+                key: "getEvents",
+                value: function () {
+                  return this._events;
+                },
+              },
+              {
+                key: "setTypes",
+                value: function (e) {
+                  return (this._types = e);
+                },
+              },
+              {
+                key: "setupEvents",
+                value: function (e) {
+                  var t = this,
+                    n = j.a.partition(e, "isRegion"),
+                    r = n[0];
+                  (e = n[1]),
+                    _.a.each(e, function (e, n) {
+                      var r = new bt(n, t._buildDiv(n));
+                      t._events.push(r);
+                    }),
+                    _.a.each(r, function (e, n) {
+                      var r = new bt(n, t._buildRegDiv(n));
+                      t._events.push(r);
+                    }),
+                    this._events.sort(function (e, t) {
+                      var n = e.getOptions(),
+                        r = t.getOptions();
+                      return n.min > r.min ? 1 : n.min < r.min ? -1 : 0;
+                    });
+                },
+              },
+              {
+                key: "drawEvents",
+                value: function () {
+                  var e = this;
+                  _.a.each(this._events, function (t, n) {
+                    e._insidePlot(n.getOptions().min) && !n.isHidden()
+                      ? n.visual().draw()
+                      : n.visual().getObject().hide();
+                  });
+                },
+              },
+              {
+                key: "updateEvents",
+                value: function () {
+                  var e,
+                    t,
+                    n = this,
+                    r = this._plot.getPlotOffset(),
+                    a = this._plot.getXAxes()[
+                      this._plot.getOptions().events.xaxis - 1
+                    ];
+                  _.a.each(this._events, function (o, i) {
+                    (t = r.top + n._plot.height() - i.visual().height()),
+                      (e =
+                        a.p2c(i.getOptions().min) +
+                        r.left -
+                        i.visual().width() / 2),
+                      i.visual().moveTo({ top: t, left: e });
+                  });
+                },
+              },
+              {
+                key: "_clearEvents",
+                value: function () {
+                  _.a.each(this._events, function (e, t) {
+                    t.visual().clear();
+                  }),
+                    (this._events = []);
+                },
+              },
+              {
+                key: "_buildDiv",
+                value: function (e) {
+                  var t,
+                    n,
+                    r,
+                    a,
+                    o,
+                    i,
+                    l,
+                    s,
+                    c = this,
+                    u = this._plot.getPlaceholder(),
+                    f = this._plot.getPlotOffset(),
+                    d = this._plot.getXAxes()[
+                      this._plot.getOptions().events.xaxis - 1
+                    ],
+                    p = e.eventType;
+                  (r =
+                    null !== this._types &&
+                    this._types[p] &&
+                    this._types[p].color
+                      ? this._types[p].color
+                      : "#666"),
+                    (a =
+                      null !== this._types &&
+                      this._types[p] &&
+                      this._types[p].markerSize
+                        ? this._types[p].markerSize
+                        : 8),
+                    (o =
+                      null === this._types ||
+                      !this._types[p] ||
+                      void 0 === this._types[p].markerShow ||
+                      this._types[p].markerShow),
+                    (s =
+                      null === this._types ||
+                      !this._types[p] ||
+                      void 0 === this._types[p].markerTooltip ||
+                      this._types[p].markerTooltip),
+                    (i =
+                      null != this._types &&
+                      this._types[p] &&
+                      this._types[p].lineStyle
+                        ? this._types[p].lineStyle.toLowerCase()
+                        : "dashed"),
+                    (l =
+                      null != this._types &&
+                      this._types[p] &&
+                      void 0 !== this._types[p].lineWidth
+                        ? this._types[p].lineWidth
+                        : 1);
+                  var h = d.options.eventSectionHeight || 0;
+                  (h /= 3),
+                    (t = f.top + this._plot.height() + h),
+                    (n = d.p2c(e.min) + f.left);
+                  var m = _()('<div class="events_line flot-temp-elem"></div>')
+                    .css({
+                      position: "absolute",
+                      opacity: 0.8,
+                      left: n + "px",
+                      top: 8,
+                      width: l + "px",
+                      height: this._plot.height() + 0.8 * h,
+                      "border-left-width": l + "px",
+                      "border-left-style": i,
+                      "border-left-color": r,
+                      color: r,
+                    })
+                    .appendTo(u);
+                  if (o) {
+                    var g = _()('<div class="events_marker"></div>').css({
+                      position: "absolute",
+                      left: -a - Math.round(l / 2) + "px",
+                      "font-size": 0,
+                      "line-height": 0,
+                      width: 0,
+                      height: 0,
+                      "border-left": a + "px solid transparent",
+                      "border-right": a + "px solid transparent",
+                    });
+                    g.appendTo(m),
+                      this._types[p] &&
+                      this._types[p].position &&
+                      "BOTTOM" === this._types[p].position.toUpperCase()
+                        ? g.css({
+                            top: t - a - 8 + "px",
+                            "border-top": "none",
+                            "border-bottom": a + "px solid " + r,
+                          })
+                        : g.css({
+                            top: "0px",
+                            "border-top": a + "px solid " + r,
+                            "border-bottom": "none",
+                          }),
+                      g.data({ event: e });
+                    e.editModel && mt(g, e.editModel, c._plot);
+                    s &&
+                      (g.css({ cursor: "help" }),
+                      g.hover(
+                        function () {
+                          pt(g, _()(this).data("event"), c._plot);
+                        },
+                        function () {
+                          c._plot.clearSelection();
+                        }
+                      ));
+                  }
+                  return new gt(
+                    m,
+                    function (e) {
+                      e.show();
+                    },
+                    function (e) {
+                      e.remove();
+                    },
+                    function (e, t) {
+                      e.css({ top: t.top, left: t.left });
+                    },
+                    n,
+                    t,
+                    m.width(),
+                    m.height()
+                  );
+                },
+              },
+              {
+                key: "_buildRegDiv",
+                value: function (e) {
+                  var t,
+                    n,
+                    r,
+                    a,
+                    o,
+                    i,
+                    l,
+                    s = this,
+                    c = this,
+                    u = this._plot.getPlaceholder(),
+                    f = this._plot.getPlotOffset(),
+                    d = this._plot.getXAxes()[
+                      this._plot.getOptions().events.xaxis - 1
+                    ],
+                    p = e.eventType;
+                  (i =
+                    null !== this._types &&
+                    this._types[p] &&
+                    this._types[p].color
+                      ? this._types[p].color
+                      : "#666"),
+                    (l =
+                      null === this._types ||
+                      !this._types[p] ||
+                      void 0 === this._types[p].markerTooltip ||
+                      this._types[p].markerTooltip),
+                    (r =
+                      null != this._types &&
+                      this._types[p] &&
+                      void 0 !== this._types[p].lineWidth
+                        ? this._types[p].lineWidth
+                        : 1),
+                    (o =
+                      null != this._types &&
+                      this._types[p] &&
+                      this._types[p].lineStyle
+                        ? this._types[p].lineStyle.toLowerCase()
+                        : "dashed");
+                  t = f.top + this._plot.height() + 2;
+                  var h = Math.min(e.min, e.timeEnd),
+                    m = Math.max(e.min, e.timeEnd);
+                  n = d.p2c(h) + f.left;
+                  var g = d.p2c(m) + f.left;
+                  (a = g - n),
+                    j.a.each([n, g], function (e) {
+                      _()('<div class="events_line flot-temp-elem"></div>')
+                        .css({
+                          position: "absolute",
+                          opacity: 0.8,
+                          left: e + "px",
+                          top: 8,
+                          width: r + "px",
+                          height: s._plot.height() + 2,
+                          "border-left-width": r + "px",
+                          "border-left-style": o,
+                          "border-left-color": i,
+                          color: i,
+                        })
+                        .appendTo(u);
+                    });
+                  var b = _()(
+                    '<div class="events_marker region_marker flot-temp-elem"></div>'
+                  ).css({
+                    position: "absolute",
+                    opacity: 0.5,
+                    left: n + "px",
+                    top: t,
+                    width: Math.round(a + r) + "px",
+                    height: "0.5rem",
+                    "border-left-color": i,
+                    color: i,
+                    "background-color": i,
+                  });
+                  b.appendTo(u), b.data({ event: e });
+                  e.editModel && mt(b, e.editModel, c._plot);
+                  return (
+                    l &&
+                      (b.css({ cursor: "help" }),
+                      b.hover(
+                        function () {
+                          pt(b, _()(this).data("event"), c._plot);
+                        },
+                        function () {
+                          c._plot.clearSelection();
+                        }
+                      )),
+                    new gt(
+                      b,
+                      function (e) {
+                        e.show();
+                      },
+                      function (e) {
+                        e.remove();
+                      },
+                      function (e, t) {
+                        e.css({ top: t.top, left: t.left });
+                      },
+                      n,
+                      t,
+                      b.width(),
+                      b.height()
+                    )
+                  );
+                },
+              },
+              {
+                key: "_insidePlot",
+                value: function (e) {
+                  var t = this._plot.getXAxes()[
+                      this._plot.getOptions().events.xaxis - 1
+                    ],
+                    n = t.p2c(e);
+                  return n > 0 && n < t.p2c(t.max);
+                },
+              },
+            ]),
+            e
+          );
+        })();
+      function yt(e) {
+        var t = this,
+          n = new vt(e);
+        (e.getEvents = function () {
+          return n._events;
+        }),
+          (e.hideEvents = function () {
+            _.a.each(n._events, function (e, t) {
+              t.visual().getObject().hide();
+            });
+          }),
+          (e.showEvents = function () {
+            e.hideEvents(),
+              _.a.each(n._events, function (e, t) {
+                t.hide();
+              }),
+              t.eventMarkers.drawEvents();
+          }),
+          (e.setEvents = function (e) {
+            n.eventsEnabled && n.setupEvents(e);
+          }),
+          e.hooks.processOptions.push(function (e, t) {
+            null != t.events.data && (n.eventsEnabled = !0);
+          }),
+          e.hooks.draw.push(function (e) {
+            var t = e.getOptions();
+            n.eventsEnabled &&
+              (n.getEvents().length < 1
+                ? (n.setTypes(t.events.types), n.setupEvents(t.events.data))
+                : n.updateEvents()),
+              n.drawEvents();
+          });
+      }
+      _.a.plot.plugins.push({
+        init: yt,
+        options: {
+          events: { data: null, types: null, xaxis: 1, position: "BOTTOM" },
+        },
+        name: "events",
+        version: "0.2.5",
+      });
+      var wt = n("GQ3c");
+      function Ot(e, t, n, r) {
+        var a = this,
+          o = n.ctrl.panel,
+          i = _()('<div class="graph-tooltip">');
+        (this.destroy = function () {
+          i.remove();
+        }),
+          (this.findHoverIndexFromDataPoints = function (e, t, n) {
+            var r,
+              a = t.datapoints.pointsize,
+              o = n * a,
+              i = t.datapoints.points.length;
+            for (r = o; r < i; r += a)
+              if (
+                (!t.lines.steps &&
+                  null != t.datapoints.points[o] &&
+                  null == t.datapoints.points[r]) ||
+                t.datapoints.points[r] > e
+              )
+                return Math.max(r - a, 0) / a;
+            return r / a - 1;
+          }),
+          (this.findHoverIndexFromData = function (e, t) {
+            for (var n, r = 0, a = t.data.length - 1; ; ) {
+              if (r > a) return Math.max(a, 0);
+              if (((n = Math.floor((r + a) / 2)), t.data[n][0] === e)) return n;
+              t.data[n][0] < e ? (r = n + 1) : (a = n - 1);
+            }
+          }),
+          (this.renderAndShow = function (e, t, n, r) {
+            "time" === r &&
+              (t = '<div class="graph-tooltip-time">' + e + "</div>" + t),
+              i.html(t).place_tt(n.pageX + 20, n.pageY);
+          }),
+          (this.getMultiSeriesPlotHoverInfo = function (e, t) {
+            var n,
+              r,
+              a,
+              i,
+              l,
+              s,
+              c,
+              u,
+              f,
+              d = [[], [], []],
+              p = 0;
+            for (r = 0; r < e.length; r++)
+              !(a = e[r]).data.length || (o.legend.hideEmpty && a.allIsNull)
+                ? d[0].push({ hidden: !0, value: 0 })
+                : !a.data.length || (o.legend.hideZero && a.allIsZero)
+                ? d[0].push({ hidden: !0, value: 0 })
+                : a.hideTooltip
+                ? d[0].push({ hidden: !0, value: 0 })
+                : ((i = this.findHoverIndexFromData(t.x, a)),
+                  (l = t.x - a.data[i][0]),
+                  (s = a.data[i][0]),
+                  (!u || (l >= 0 && (l < u || u < 0)) || (l < 0 && l > u)) &&
+                    ((u = l), (f = s)),
+                  (n = a.stack
+                    ? "individual" === o.tooltip.value_type
+                      ? a.data[i][1]
+                      : a.stack
+                      ? (p += a.data[i][1])
+                      : a.data[i][1]
+                    : a.data[i][1]),
+                  (a.lines.steps || a.stack) &&
+                    (i = this.findHoverIndexFromDataPoints(t.x, a, i)),
+                  (c = 0),
+                  a.yaxis && (c = a.yaxis.n),
+                  d[c].push({
+                    value: n,
+                    hoverIndex: i,
+                    color: a.color,
+                    label: a.aliasEscaped,
+                    time: s,
+                    distance: l,
+                    index: r,
+                  }));
+            return ((d = d[0].concat(d[1], d[2])).time = f), d;
+          }),
+          e.mouseleave(function () {
+            if (o.tooltip.shared) {
+              var t = e.data().plot;
+              t && (i.detach(), t.unhighlight());
+            }
+            W.a.emit(wt.CoreEvents.graphHoverClear);
+          }),
+          e.bind("plothover", function (t, n, r) {
+            a.show(n, r),
+              (n.panelRelY = (n.pageY - e.offset().top) / e.height()),
+              W.a.emit(wt.CoreEvents.graphHover, { pos: n, panel: o });
+          }),
+          e.bind("plotclick", function (e, t, n) {
+            W.a.emit(wt.CoreEvents.graphClicked, { pos: t, panel: o, item: n });
+          }),
+          e.bind("plotleave", function () {
+            if (o.tooltip.shared) {
+              var t = e.data().plot;
+              t && (i.detach(), t.unhighlight());
+            }
+          }),
+          (this.clear = function (e) {
+            i.detach(), e.clearCrosshair(), e.unhighlight();
+          }),
+          (this.show = function (n, l) {
+            var s,
+              c,
+              u,
+              f,
+              d,
+              p,
+              h,
+              m,
+              g = e.data().plot,
+              b = g.getData(),
+              v = g.getXAxes()[0].options.mode,
+              y = r(),
+              w = o.tooltip.shared;
+            if (n.panelRelY) {
+              var O = g.pointOffset({ x: n.x });
+              if (Number.isNaN(O.left) || O.left < 0 || O.left > e.width())
+                return void a.clear(g);
+              if (
+                ((n.pageX = e.offset().left + O.left),
+                (n.pageY = e.offset().top + e.height() * n.panelRelY),
+                !(
+                  n.pageY >= _()(window).scrollTop() &&
+                  n.pageY <= _()(window).innerHeight() + _()(window).scrollTop()
+                ))
+              )
+                return void a.clear(g);
+              if ((g.setCrosshair(n), (w = !0), t.sharedCrosshairModeOnly()))
+                return;
+            }
+            if (0 !== y.length)
+              if (
+                ((m = y[0].hasMsResolution
+                  ? "YYYY-MM-DD HH:mm:ss.SSS"
+                  : "YYYY-MM-DD HH:mm:ss"),
+                w)
+              ) {
+                g.unhighlight();
+                var x = a.getMultiSeriesPlotHoverInfo(b, n);
+                for (
+                  h = "",
+                    u = t.formatDate(x.time, m),
+                    2 === o.tooltip.sort
+                      ? x.sort(function (e, t) {
+                          return t.value - e.value;
+                        })
+                      : 1 === o.tooltip.sort &&
+                        x.sort(function (e, t) {
+                          return e.value - t.value;
+                        }),
+                    d = 0;
+                  d < x.length;
+                  d++
+                )
+                  if (!(f = x[d]).hidden) {
+                    var k = "";
+                    l &&
+                      f.index === l.seriesIndex &&
+                      (k = "graph-tooltip-list-item--highlight"),
+                      (p = y[f.index]),
+                      (c = Object(te.c)(p.formatValue(f.value))),
+                      (h +=
+                        '<div class="graph-tooltip-list-item ' +
+                        k +
+                        '"><div class="graph-tooltip-series-name">'),
+                      (h +=
+                        '<i class="fa fa-minus" style="color:' +
+                        Object(te.c)(f.color) +
+                        ';"></i> ' +
+                        Object(te.c)(f.label) +
+                        ":</div>"),
+                      (h +=
+                        '<div class="graph-tooltip-value">' +
+                        c +
+                        "</div></div>"),
+                      g.highlight(f.index, f.hoverIndex);
+                  }
+                a.renderAndShow(u, h, n, v);
+              } else if (l) {
+                (s =
+                  '<div class="graph-tooltip-list-item"><div class="graph-tooltip-series-name">'),
+                  (s +=
+                    '<i class="fa fa-minus" style="color:' +
+                    Object(te.c)(l.series.color) +
+                    ';"></i> ' +
+                    (p = y[l.seriesIndex]).aliasEscaped +
+                    ":</div>"),
+                  (c =
+                    o.stack && "individual" === o.tooltip.value_type
+                      ? l.datapoint[1] - l.datapoint[2]
+                      : l.datapoint[1]),
+                  (c = Object(te.c)(p.formatValue(c))),
+                  (u = t.formatDate(l.datapoint[0], m)),
+                  (s += '<div class="graph-tooltip-value">' + c + "</div>"),
+                  a.renderAndShow(u, s, n, v);
+              } else i.detach();
+          });
+      }
+      function xt(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var kt = (function () {
+        function e(t) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.panelCtrl = t);
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "getHandleHtml",
+              value: function (e, t, n) {
+                var r = t.colorMode;
+                return (
+                  "custom" === t.colorMode && (r = "critical"),
+                  '\n    <div class="alert-handle-wrapper alert-handle-wrapper--T'
+                    .concat(
+                      e,
+                      '">\n      <div class="alert-handle-line alert-handle-line--'
+                    )
+                    .concat(
+                      r,
+                      '">\n      </div>\n      <div class="alert-handle" data-handle-index="'
+                    )
+                    .concat(e, '">\n        <i class="icon-gf icon-gf-')
+                    .concat(r, " alert-state-")
+                    .concat(
+                      r,
+                      '"></i>\n        <span class="alert-handle-value">'
+                    )
+                    .concat(
+                      n,
+                      '<i class="alert-handle-grip"></i></span>\n      </div>\n    </div>'
+                    )
+                );
+              },
+            },
+            {
+              key: "initDragging",
+              value: function (e) {
+                var t,
+                  n = _()(e.currentTarget).parents(".alert-handle-wrapper"),
+                  r = _()(e.currentTarget).data("handleIndex"),
+                  a = null,
+                  o = this.plot,
+                  i = this.panelCtrl,
+                  l = this.thresholds[r];
+                function s(e) {
+                  if (null === a) a = e.clientY;
+                  else {
+                    var r = e.clientY - a;
+                    (t += r), (a = e.clientY), n.css({ top: t + r });
+                  }
+                }
+                (a = null),
+                  (t = n.position().top),
+                  n.on("mousemove", s),
+                  document.addEventListener("mouseup", function e() {
+                    var a = o.c2p({ left: 0, top: t }).y;
+                    (a = parseInt(a.toFixed(0), 10)),
+                      (l.value = a),
+                      n.off("mousemove", s),
+                      document.removeEventListener("mouseup", e),
+                      i.$scope.$apply(function () {
+                        i.render(),
+                          i.events.emit(wt.CoreEvents.thresholdChanged, {
+                            threshold: l,
+                            handleIndex: r,
+                          });
+                      });
+                  });
+              },
+            },
+            {
+              key: "cleanUp",
+              value: function () {
+                this.placeholder.find(".alert-handle-wrapper").remove(),
+                  (this.needsCleanup = !1);
+              },
+            },
+            {
+              key: "renderHandle",
+              value: function (e, t) {
+                var n = this.thresholds[e],
+                  r = n.value,
+                  a = r,
+                  o = 0;
+                if (j.a.isNumber(r)) {
+                  var i = this.plot.p2c({ x: 0, y: r });
+                  o = Math.round(Math.min(Math.max(i.top, 0), this.height) - 6);
+                } else (a = ""), (o = t);
+                var l = _()(this.getHandleHtml(e, n, a));
+                this.placeholder.append(l),
+                  l.toggleClass("alert-handle-wrapper--no-value", "" === a),
+                  l.css({ top: o });
+              },
+            },
+            {
+              key: "shouldDrawHandles",
+              value: function () {
+                return (
+                  !this.hasSecondYAxis &&
+                  this.panelCtrl.editingThresholds &&
+                  this.panelCtrl.panel.thresholds.length > 0
+                );
+              },
+            },
+            {
+              key: "prepare",
+              value: function (e, t) {
+                this.hasSecondYAxis = !1;
+                for (var n = 0; n < t.length; n++)
+                  if (t[n].yaxis > 1) {
+                    this.hasSecondYAxis = !0;
+                    break;
+                  }
+                if (this.shouldDrawHandles()) {
+                  var r =
+                    this.panelCtrl.panel.thresholds.length > 1
+                      ? "220px"
+                      : "110px";
+                  e.css("margin-right", r);
+                } else this.needsCleanup && e.css("margin-right", "0");
+              },
+            },
+            {
+              key: "draw",
+              value: function (e) {
+                (this.thresholds = this.panelCtrl.panel.thresholds),
+                  (this.plot = e),
+                  (this.placeholder = e.getPlaceholder()),
+                  this.needsCleanup && this.cleanUp(),
+                  this.shouldDrawHandles() &&
+                    ((this.height = e.height()),
+                    this.thresholds.length > 0 && this.renderHandle(0, 10),
+                    this.thresholds.length > 1 &&
+                      this.renderHandle(1, this.height - 30),
+                    this.placeholder.off("mousedown", ".alert-handle"),
+                    this.placeholder.on(
+                      "mousedown",
+                      ".alert-handle",
+                      this.initDragging.bind(this)
+                    ),
+                    (this.needsCleanup = !0));
+              },
+            },
+            {
+              key: "addFlotOptions",
+              value: function (e, t) {
+                if (t.thresholds && 0 !== t.thresholds.length) {
+                  var n,
+                    r,
+                    a,
+                    o = 1 / 0,
+                    i = -1 / 0;
+                  for (n = 0; n < t.thresholds.length; n++)
+                    if (((r = t.thresholds[n]), j.a.isNumber(r.value))) {
+                      var l = void 0;
+                      switch (r.op) {
+                        case "gt":
+                          (l = o),
+                            t.thresholds.length > n + 1 &&
+                              (a = t.thresholds[n + 1]).value > r.value &&
+                              (i = l = a.value);
+                          break;
+                        case "lt":
+                          (l = i),
+                            t.thresholds.length > n + 1 &&
+                              (a = t.thresholds[n + 1]).value < r.value &&
+                              (o = l = a.value);
+                      }
+                      var s = void 0,
+                        c = void 0;
+                      switch (r.colorMode) {
+                        case "critical":
+                          (s = "rgba(234, 112, 112, 0.12)"),
+                            (c = "rgba(237, 46, 24, 0.60)");
+                          break;
+                        case "warning":
+                          (s = "rgba(235, 138, 14, 0.12)"),
+                            (c = "rgba(247, 149, 32, 0.60)");
+                          break;
+                        case "ok":
+                          (s = "rgba(11, 237, 50, 0.090)"),
+                            (c = "rgba(6,163,69, 0.60)");
+                          break;
+                        case "custom":
+                          (s = r.fillColor), (c = r.lineColor);
+                      }
+                      r.fill &&
+                        ("right" === r.yaxis && this.hasSecondYAxis
+                          ? e.grid.markings.push({
+                              y2axis: { from: r.value, to: l },
+                              color: Object(Q.getColorFromHexRgbOrName)(s),
+                            })
+                          : e.grid.markings.push({
+                              yaxis: { from: r.value, to: l },
+                              color: Object(Q.getColorFromHexRgbOrName)(s),
+                            })),
+                        r.line &&
+                          ("right" === r.yaxis && this.hasSecondYAxis
+                            ? e.grid.markings.push({
+                                y2axis: { from: r.value, to: r.value },
+                                color: Object(Q.getColorFromHexRgbOrName)(c),
+                              })
+                            : e.grid.markings.push({
+                                yaxis: { from: r.value, to: r.value },
+                                color: Object(Q.getColorFromHexRgbOrName)(c),
+                              }));
+                    }
+                }
+              },
+            },
+          ]) && xt(t.prototype, n),
+          r && xt(t, r),
+          e
+        );
+      })();
+      function jt(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function St(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Et(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Ct(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var Pt = {
+        gray: {
+          themeDependent: !0,
+          title: "Gray",
+          darkColor: {
+            fill: "rgba(255, 255, 255, 0.09)",
+            line: "rgba(255, 255, 255, 0.2)",
+          },
+          lightColor: {
+            fill: "rgba(0, 0, 0, 0.09)",
+            line: "rgba(0, 0, 0, 0.2)",
+          },
+        },
+        red: {
+          title: "Red",
+          color: {
+            fill: "rgba(234, 112, 112, 0.12)",
+            line: "rgba(237, 46, 24, 0.60)",
+          },
+        },
+        green: {
+          title: "Green",
+          color: {
+            fill: "rgba(11, 237, 50, 0.090)",
+            line: "rgba(6,163,69, 0.60)",
+          },
+        },
+        blue: {
+          title: "Blue",
+          color: {
+            fill: "rgba(11, 125, 238, 0.12)",
+            line: "rgba(11, 125, 238, 0.60)",
+          },
+        },
+        yellow: {
+          title: "Yellow",
+          color: {
+            fill: "rgba(235, 138, 14, 0.12)",
+            line: "rgba(247, 149, 32, 0.60)",
+          },
+        },
+        custom: { title: "Custom" },
+      };
+      function Tt(e, t) {
+        if (
+          (-1 === Object.keys(Pt).indexOf(e.colorMode) && (e.colorMode = "red"),
+          "custom" === e.colorMode)
+        )
+          return {
+            fill:
+              e.fill && e.fillColor
+                ? Object(Q.getColorFromHexRgbOrName)(e.fillColor, t)
+                : null,
+            line:
+              e.line && e.lineColor
+                ? Object(Q.getColorFromHexRgbOrName)(e.lineColor, t)
+                : null,
+          };
+        var n = Pt[e.colorMode];
+        return !0 === n.themeDependent
+          ? t === Q.GrafanaThemeType.Light
+            ? n.lightColor
+            : n.darkColor
+          : {
+              fill: e.fill
+                ? Object(Q.getColorFromHexRgbOrName)(n.color.fill, t)
+                : null,
+              line: e.fill
+                ? Object(Q.getColorFromHexRgbOrName)(n.color.line, t)
+                : null,
+            };
+      }
+      var Dt = (function () {
+          function e(t) {
+            var n =
+              arguments.length > 1 && void 0 !== arguments[1]
+                ? arguments[1]
+                : Q.GrafanaThemeType.Dark;
+            Et(this, e), (this.panelCtrl = t), (this.theme = n);
+          }
+          var t, n, r;
+          return (
+            (t = e),
+            (n = [
+              {
+                key: "draw",
+                value: function (e) {
+                  (this.timeRegions = this.panelCtrl.panel.timeRegions),
+                    (this.plot = e);
+                },
+              },
+              {
+                key: "addFlotOptions",
+                value: function (e, t) {
+                  if (t.timeRegions && 0 !== t.timeRegions.length) {
+                    var n,
+                      r,
+                      a,
+                      o,
+                      i,
+                      l,
+                      s,
+                      c = {
+                        from: Object(Q.dateTime)(
+                          this.panelCtrl.range.from
+                        ).utc(),
+                        to: Object(Q.dateTime)(this.panelCtrl.range.to).utc(),
+                      },
+                      u = t.timeRegions.map(function (e) {
+                        return (function (e) {
+                          for (var t = 1; t < arguments.length; t++) {
+                            var n = null != arguments[t] ? arguments[t] : {};
+                            t % 2
+                              ? jt(Object(n), !0).forEach(function (t) {
+                                  St(e, t, n[t]);
+                                })
+                              : Object.getOwnPropertyDescriptors
+                              ? Object.defineProperties(
+                                  e,
+                                  Object.getOwnPropertyDescriptors(n)
+                                )
+                              : jt(Object(n)).forEach(function (t) {
+                                  Object.defineProperty(
+                                    e,
+                                    t,
+                                    Object.getOwnPropertyDescriptor(n, t)
+                                  );
+                                });
+                          }
+                          return e;
+                        })({}, e);
+                      });
+                    for (n = 0; n < u.length; n++)
+                      if (
+                        ((a = u[n]).fromDayOfWeek ||
+                          a.from ||
+                          a.toDayOfWeek ||
+                          a.to) &&
+                        (a.from && !a.to && (a.to = a.from),
+                        !a.from && a.to && (a.from = a.to),
+                        (r = {
+                          from: this.parseTimeRange(a.from),
+                          to: this.parseTimeRange(a.to),
+                        }),
+                        !a.fromDayOfWeek &&
+                          a.toDayOfWeek &&
+                          (a.fromDayOfWeek = a.toDayOfWeek),
+                        !a.toDayOfWeek &&
+                          a.fromDayOfWeek &&
+                          (a.toDayOfWeek = a.fromDayOfWeek),
+                        a.fromDayOfWeek &&
+                          (r.from.dayOfWeek = Number(a.fromDayOfWeek)),
+                        a.toDayOfWeek &&
+                          (r.to.dayOfWeek = Number(a.toDayOfWeek)),
+                        r.from.dayOfWeek &&
+                          null === r.from.h &&
+                          null === r.from.m &&
+                          ((r.from.h = 0), (r.from.m = 0), (r.from.s = 0)),
+                        r.to.dayOfWeek &&
+                          null === r.to.h &&
+                          null === r.to.m &&
+                          ((r.to.h = 23), (r.to.m = 59), (r.to.s = 59)),
+                        r.from && r.to)
+                      ) {
+                        for (
+                          o = [],
+                            (i = Object(Q.dateTime)(c.from)).set("hour", 0),
+                            i.set("minute", 0),
+                            i.set("second", 0),
+                            i.add(r.from.h, "hours"),
+                            i.add(r.from.m, "minutes"),
+                            i.add(r.from.s, "seconds");
+                          i.unix() <= c.to.unix();
+
+                        ) {
+                          for (
+                            ;
+                            r.from.dayOfWeek &&
+                            r.from.dayOfWeek !== i.isoWeekday();
+
+                          )
+                            i.add(24, "hours");
+                          if (i.unix() > c.to.unix()) break;
+                          if (((l = Object(Q.dateTime)(i)), r.from.h <= r.to.h))
+                            l.add(r.to.h - r.from.h, "hours");
+                          else if (r.from.h > r.to.h)
+                            for (; l.hour() !== r.to.h; ) l.add(1, "hours");
+                          else
+                            for (
+                              l.add(24 - r.from.h, "hours");
+                              l.hour() !== r.to.h;
+
+                            )
+                              l.add(1, "hours");
+                          for (
+                            l.set("minute", r.to.m), l.set("second", r.to.s);
+                            r.to.dayOfWeek && r.to.dayOfWeek !== l.isoWeekday();
+
+                          )
+                            l.add(24, "hours");
+                          (i.unix() < c.from.unix() &&
+                            l.unix() < c.from.unix()) ||
+                            (i.unix() > c.to.unix() &&
+                              l.unix() > c.to.unix()) ||
+                            o.push({ from: i.valueOf(), to: l.valueOf() }),
+                            i.add(24, "hours");
+                        }
+                        s = Tt(a, this.theme);
+                        for (var f = 0; f < o.length; f++) {
+                          var d = o[f];
+                          a.fill &&
+                            e.grid.markings.push({
+                              xaxis: { from: d.from, to: d.to },
+                              color: s.fill,
+                            }),
+                            a.line &&
+                              (e.grid.markings.push({
+                                xaxis: { from: d.from, to: d.from },
+                                color: s.line,
+                              }),
+                              e.grid.markings.push({
+                                xaxis: { from: d.to, to: d.to },
+                                color: s.line,
+                              }));
+                        }
+                      }
+                  }
+                },
+              },
+              {
+                key: "parseTimeRange",
+                value: function (e) {
+                  var t = { h: null, m: null },
+                    n = /^([\d]+):?(\d{2})?/.exec(e);
+                  return n
+                    ? (n.length > 1 &&
+                        ((t.h = Number(n[1])),
+                        (t.m = 0),
+                        n.length > 2 && void 0 !== n[2] && (t.m = Number(n[2])),
+                        t.h > 23 && (t.h = 23),
+                        t.m > 59 && (t.m = 59)),
+                      t)
+                    : t;
+                },
+              },
+            ]) && Ct(t.prototype, n),
+            r && Ct(t, r),
+            e
+          );
+        })(),
+        At = n("xdKY");
+      function _t(e, t, n, r, a) {
+        return e.map(function (e) {
+          var o = (function (e) {
+            for (var t = [], n = 0; n < e.length; n++)
+              for (var r = e[n].datapoints, a = 0; a < r.length; a++)
+                null !== r[a][0] && t.push(r[a][0]);
+            return t;
+          })([e]);
+          if (((e.histogram = !0), n[e.alias])) e.data = [];
+          else {
+            var i = (function (e, t, n, r) {
+              for (
+                var a = {}, o = Nt(n, t), i = Nt(r, t), l = o, s = 0;
+                l <= i;
+
+              )
+                (a[l] = 0), (l = o + t * s), s++;
+              for (var c = 0; c < e.length; c++)
+                if (!(e[c] < n || e[c] > r)) {
+                  var u = Nt(e[c], t);
+                  a[u] = a[u] + 1;
+                }
+              var f = j.a.map(a, function (e, t) {
+                return [Number(t), e];
+              });
+              return j.a.sortBy(f, function (e) {
+                return e[0];
+              });
+            })(o, t, r, a);
+            e.data = i;
+          }
+          return e;
+        });
+      }
+      function Nt(e, t) {
+        return Math.floor(e / t) * t;
+      }
+      function Mt(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function It(e, t) {
+        if (!isNaN(t) && 2 === (n = e).length && Rt(n[0]) && Rt(n[1])) {
+          var n,
+            r = Mt(e, 2),
+            a = r[0],
+            o = r[1];
+          !(function (e, t, n) {
+            0 !== n && ((e.min -= n), (e.max -= n), (t.min -= n), (t.max -= n));
+          })(a, o, t),
+            (function (e, t) {
+              e.max === e.min && ((e.min -= 0.25), (e.max += 0.25));
+              t.max === t.min && ((t.min -= 0.25), (t.max += 0.25));
+            })(a, o);
+          var i = 0 === a.min || 0 === o.min || 0 === a.max || 0 === o.max,
+            l = Ft(a, o);
+          if (i && l)
+            (a.min = a.max > 0 ? 0 : a.min),
+              (a.max = a.max > 0 ? a.max : 0),
+              (o.min = o.max > 0 ? 0 : o.min),
+              (o.max = o.max > 0 ? o.max : 0);
+          else if (
+            (function (e, t) {
+              return (e.min >= 0 && t.max <= 0) || (e.max <= 0 && t.min >= 0);
+            })(a, o)
+          )
+            a.min >= 0
+              ? ((a.min = -a.max), (o.max = -o.min))
+              : ((a.max = -a.min), (o.min = -o.max));
+          else {
+            var s = (function (e, t) {
+              if (Lt(e, t)) {
+                var n = t.min ? e.min / t.min : 0,
+                  r = t.max ? e.max / t.max : 0;
+                return n > r ? n : r;
+              }
+              if (Ft(e, t)) {
+                var a = Math.abs(e.min),
+                  o = Math.abs(e.max),
+                  i = Math.abs(t.min),
+                  l = Math.abs(t.max),
+                  s = j.a.max([a, o]),
+                  c = j.a.min([a, o]),
+                  u = j.a.max([i, l]),
+                  f = j.a.min([i, l]),
+                  d = c ? s / c : s,
+                  p = f ? u / f : u;
+                return d > p ? d : p;
+              }
+              return e.min > 0 || t.min > 0 ? e.max / t.max : e.min / t.min;
+            })(a, o);
+            l
+              ? a.min > 0
+                ? ((a.min = a.max / s), (o.min = o.max / s))
+                : ((a.max = a.min / s), (o.max = o.min / s))
+              : Lt(a, o)
+              ? ((a.min = o.min ? o.min * s : a.min),
+                (o.min = a.min ? a.min / s : o.min),
+                (a.max = o.max ? o.max * s : a.max),
+                (o.max = a.max ? a.max / s : o.max))
+              : ((a.min = a.min > 0 ? o.min * s : a.min),
+                (o.min = o.min > 0 ? a.min / s : o.min),
+                (a.max = a.max < 0 ? o.max * s : a.max),
+                (o.max = o.max < 0 ? a.max / s : o.max));
+          }
+          !(function (e, t, n) {
+            0 !== n && ((e.min += n), (e.max += n), (t.min += n), (t.max += n));
+          })(a, o, t);
+        }
+      }
+      function Rt(e) {
+        return "min" in e && "max" in e;
+      }
+      function Ft(e, t) {
+        return (e.min >= 0 && t.min >= 0) || (e.max <= 0 && t.max <= 0);
+      }
+      function Lt(e, t) {
+        return e.min <= 0 && e.max >= 0 && t.min <= 0 && t.max >= 0;
+      }
+      var Vt = n("TSYQ"),
+        Bt = n.n(Vt);
+      function $t(e) {
+        return ($t =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function qt(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Ut(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function zt(e, t, n) {
+        return t && Ut(e.prototype, t), n && Ut(e, n), e;
+      }
+      function Ht(e, t) {
+        return !t || ("object" !== $t(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Gt(e) {
+        return (Gt = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Wt(e, t) {
+        if ("function" != typeof t && null !== t)
+          throw new TypeError(
+            "Super expression must either be null or a function"
+          );
+        (e.prototype = Object.create(t && t.prototype, {
+          constructor: { value: e, writable: !0, configurable: !0 },
+        })),
+          t && Qt(e, t);
+      }
+      function Qt(e, t) {
+        return (Qt =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Yt = ["min", "max", "avg", "current", "total"],
+        Kt = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              qt(this, t),
+              ((n = Ht(this, Gt(t).call(this, e))).onLabelClick = function (e) {
+                return n.props.onLabelClick(n.props.series, e);
+              }),
+              (n.onToggleAxis = function () {
+                var e = 2 === n.state.yaxis ? 1 : 2,
+                  t = { alias: n.props.series.alias, yaxis: e };
+                n.setState({ yaxis: e }), n.props.onToggleAxis(t);
+              }),
+              (n.onColorChange = function (e) {
+                n.props.onColorChange(n.props.series, e), n.forceUpdate();
+              }),
+              (n.state = { yaxis: n.props.series.yaxis }),
+              n
+            );
+          }
+          return (
+            Wt(t, e),
+            zt(t, [
+              {
+                key: "renderLegendValues",
+                value: function () {
+                  var e = this.props,
+                    t = e.series,
+                    n = e.asTable,
+                    r = [],
+                    a = !0,
+                    o = !1,
+                    i = void 0;
+                  try {
+                    for (
+                      var l, s = Yt[Symbol.iterator]();
+                      !(a = (l = s.next()).done);
+                      a = !0
+                    ) {
+                      var c = l.value;
+                      if (this.props[c]) {
+                        var u = t.formatValue(t.stats[c]);
+                        r.push(
+                          V.a.createElement(en, {
+                            key: c,
+                            valueName: c,
+                            value: u,
+                            asTable: n,
+                          })
+                        );
+                      }
+                    }
+                  } catch (e) {
+                    (o = !0), (i = e);
+                  } finally {
+                    try {
+                      a || null == s.return || s.return();
+                    } finally {
+                      if (o) throw i;
+                    }
+                  }
+                  return r;
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.series,
+                    n = e.values,
+                    r = e.asTable,
+                    a = e.hidden,
+                    o = Bt()({
+                      "graph-legend-series-hidden": a,
+                      "graph-legend-series--right-y": 2 === t.yaxis,
+                    }),
+                    i = n ? this.renderLegendValues() : [],
+                    l = V.a.createElement(Jt, {
+                      label: t.alias,
+                      color: t.color,
+                      yaxis: this.state.yaxis,
+                      onLabelClick: this.onLabelClick,
+                      onColorChange: this.onColorChange,
+                      onToggleAxis: this.onToggleAxis,
+                    });
+                  return r
+                    ? V.a.createElement(
+                        "tr",
+                        { className: "graph-legend-series ".concat(o) },
+                        V.a.createElement("td", null, l),
+                        i
+                      )
+                    : V.a.createElement(
+                        "div",
+                        { className: "graph-legend-series ".concat(o) },
+                        l,
+                        i
+                      );
+                },
+              },
+            ]),
+            t
+          );
+        })(L.PureComponent);
+      Kt.defaultProps = {
+        asTable: !1,
+        hidden: !1,
+        onLabelClick: function () {},
+        onColorChange: function () {},
+        onToggleAxis: function () {},
+      };
+      var Jt = (function (e) {
+        function t() {
+          return qt(this, t), Ht(this, Gt(t).apply(this, arguments));
+        }
+        return (
+          Wt(t, e),
+          zt(t, [
+            {
+              key: "render",
+              value: function () {
+                var e = this,
+                  t = this.props,
+                  n = t.label,
+                  r = t.color,
+                  a = t.yaxis,
+                  o = this.props,
+                  i = o.onColorChange,
+                  l = o.onToggleAxis;
+                return [
+                  V.a.createElement(Xt, {
+                    key: "icon",
+                    color: r,
+                    yaxis: a,
+                    onColorChange: i,
+                    onToggleAxis: l,
+                  }),
+                  V.a.createElement(
+                    "a",
+                    {
+                      className: "graph-legend-alias pointer",
+                      title: n,
+                      key: "label",
+                      onClick: function (t) {
+                        return e.props.onLabelClick(t);
+                      },
+                    },
+                    n
+                  ),
+                ];
+              },
+            },
+          ]),
+          t
+        );
+      })(L.PureComponent);
+      function Zt(e) {
+        var t = e.color;
+        return V.a.createElement("i", {
+          className: "fa fa-minus pointer",
+          style: { color: t },
+        });
+      }
+      Jt.defaultProps = { yaxis: void 0, onLabelClick: function () {} };
+      var Xt = (function (e) {
+        function t() {
+          return qt(this, t), Ht(this, Gt(t).apply(this, arguments));
+        }
+        return (
+          Wt(t, e),
+          zt(t, [
+            {
+              key: "render",
+              value: function () {
+                var e = this;
+                return V.a.createElement(
+                  se.SeriesColorPicker,
+                  {
+                    yaxis: this.props.yaxis,
+                    color: this.props.color,
+                    onChange: this.props.onColorChange,
+                    onToggleAxis: this.props.onToggleAxis,
+                    enableNamedColors: !0,
+                  },
+                  function (t) {
+                    var n = t.ref,
+                      r = t.showColorPicker,
+                      a = t.hideColorPicker;
+                    return V.a.createElement(
+                      "span",
+                      {
+                        ref: n,
+                        onClick: r,
+                        onMouseLeave: a,
+                        className: "graph-legend-icon",
+                      },
+                      V.a.createElement(Zt, { color: e.props.color })
+                    );
+                  }
+                );
+              },
+            },
+          ]),
+          t
+        );
+      })(L.PureComponent);
+      function en(e) {
+        var t = e.value,
+          n = e.valueName;
+        return e.asTable
+          ? V.a.createElement(
+              "td",
+              { className: "graph-legend-value ".concat(n) },
+              t
+            )
+          : V.a.createElement(
+              "div",
+              { className: "graph-legend-value ".concat(n) },
+              t
+            );
+      }
+      function tn(e) {
+        return (tn =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function nn() {
+        return (nn =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function rn(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function an(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function on(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? an(Object(n), !0).forEach(function (t) {
+                ln(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : an(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function ln(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function sn(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function cn(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function un(e, t, n) {
+        return t && cn(e.prototype, t), n && cn(e, n), e;
+      }
+      function fn(e, t) {
+        return !t || ("object" !== tn(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function dn(e) {
+        return (dn = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function pn(e, t) {
+        if ("function" != typeof t && null !== t)
+          throw new TypeError(
+            "Super expression must either be null or a function"
+          );
+        (e.prototype = Object.create(t && t.prototype, {
+          constructor: { value: e, writable: !0, configurable: !0 },
+        })),
+          t && hn(e, t);
+      }
+      function hn(e, t) {
+        return (hn =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      Xt.defaultProps = {
+        yaxis: void 0,
+        onColorChange: function () {},
+        onToggleAxis: function () {},
+      };
+      var mn = (function (e) {
+        function t(e) {
+          var n;
+          return (
+            sn(this, t),
+            ((n = fn(this, dn(t).call(this, e))).onToggleSeries = function (
+              e,
+              t
+            ) {
+              var r = on({}, n.state.hiddenSeries);
+              t.ctrlKey || t.metaKey || t.shiftKey
+                ? r[e.alias]
+                  ? delete r[e.alias]
+                  : (r[e.alias] = !0)
+                : (r = n.toggleSeriesExclusiveMode(e)),
+                n.setState({ hiddenSeries: r }),
+                n.props.onToggleSeries(r);
+            }),
+            (n.state = { hiddenSeries: n.props.hiddenSeries }),
+            n
+          );
+        }
+        return (
+          pn(t, e),
+          un(t, [
+            {
+              key: "sortLegend",
+              value: function () {
+                var e = this,
+                  t = rn(this.props.seriesList) || [];
+                return (
+                  this.props.sort &&
+                    this.props[this.props.sort] &&
+                    this.props.alignAsTable &&
+                    ((t = j.a.sortBy(t, function (t) {
+                      var n = t.stats[e.props.sort];
+                      return null === n && (n = -1 / 0), n;
+                    })),
+                    this.props.sortDesc && (t = t.reverse())),
+                  t
+                );
+              },
+            },
+            {
+              key: "toggleSeriesExclusiveMode",
+              value: function (e) {
+                var t = on({}, this.state.hiddenSeries);
+                return (
+                  t[e.alias] && delete t[e.alias],
+                  this.props.seriesList.every(function (n) {
+                    return n.alias === e.alias || t[n.alias];
+                  })
+                    ? this.props.seriesList.forEach(function (e) {
+                        delete t[e.alias];
+                      })
+                    : this.props.seriesList.forEach(function (n) {
+                        n.alias !== e.alias && (t[n.alias] = !0);
+                      }),
+                  t
+                );
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.optionalClass,
+                  n = e.rightSide,
+                  r = e.sideWidth,
+                  a = e.sort,
+                  o = e.sortDesc,
+                  i = e.hideEmpty,
+                  l = e.hideZero,
+                  s = {
+                    values: e.values,
+                    min: e.min,
+                    max: e.max,
+                    avg: e.avg,
+                    current: e.current,
+                    total: e.total,
+                  },
+                  c = this.state.hiddenSeries,
+                  u = { hideEmpty: i, hideZero: l },
+                  f = { sort: a, sortDesc: o },
+                  d = this.sortLegend().filter(function (e) {
+                    return !e.hideFromLegend(u);
+                  }),
+                  p = ""
+                    .concat(
+                      this.props.alignAsTable ? "graph-legend-table" : "",
+                      " "
+                    )
+                    .concat(t),
+                  h = {
+                    minWidth: n && r ? r : void 0,
+                    width: n && r ? r - 1 : void 0,
+                  },
+                  m = on(
+                    {
+                      seriesList: d,
+                      hiddenSeries: c,
+                      onToggleSeries: this.onToggleSeries,
+                      onToggleAxis: this.props.onToggleAxis,
+                      onToggleSort: this.props.onToggleSort,
+                      onColorChange: this.props.onColorChange,
+                    },
+                    s,
+                    {},
+                    f
+                  );
+                return V.a.createElement(
+                  "div",
+                  { className: "graph-legend-content ".concat(p), style: h },
+                  this.props.alignAsTable
+                    ? V.a.createElement(bn, m)
+                    : V.a.createElement(gn, m)
+                );
+              },
+            },
+          ]),
+          t
+        );
+      })(L.PureComponent);
+      mn.defaultProps = {
+        values: !1,
+        min: !1,
+        max: !1,
+        avg: !1,
+        current: !1,
+        total: !1,
+        alignAsTable: !1,
+        rightSide: !1,
+        sort: void 0,
+        sortDesc: !1,
+        optionalClass: "",
+        onToggleSeries: function () {},
+        onToggleSort: function () {},
+        onToggleAxis: function () {},
+        onColorChange: function () {},
+      };
+      var gn = (function (e) {
+          function t() {
+            return sn(this, t), fn(this, dn(t).apply(this, arguments));
+          }
+          return (
+            pn(t, e),
+            un(t, [
+              {
+                key: "render",
+                value: function () {
+                  var e = this,
+                    t = this.props,
+                    n = t.seriesList,
+                    r = t.hiddenSeries,
+                    a = {
+                      values: t.values,
+                      min: t.min,
+                      max: t.max,
+                      avg: t.avg,
+                      current: t.current,
+                      total: t.total,
+                    };
+                  return n.map(function (t, n) {
+                    return V.a.createElement(
+                      Kt,
+                      nn(
+                        {
+                          key: "".concat(t.id, "-").concat(n),
+                          series: t,
+                          hidden: r[t.alias],
+                        },
+                        a,
+                        {
+                          onLabelClick: e.props.onToggleSeries,
+                          onColorChange: e.props.onColorChange,
+                          onToggleAxis: e.props.onToggleAxis,
+                        }
+                      )
+                    );
+                  });
+                },
+              },
+            ]),
+            t
+          );
+        })(L.PureComponent),
+        bn = (function (e) {
+          function t() {
+            var e, n;
+            sn(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = fn(
+                this,
+                (e = dn(t)).call.apply(e, [this].concat(a))
+              )).onToggleSort = function (e) {
+                var t = n.props.sortDesc,
+                  r = n.props.sort;
+                e !== r && (t = null),
+                  !1 === t ? ((r = null), (t = null)) : ((t = !t), (r = e)),
+                  n.props.onToggleSort(r, t);
+              }),
+              n
+            );
+          }
+          return (
+            pn(t, e),
+            un(t, [
+              {
+                key: "render",
+                value: function () {
+                  var e = this,
+                    t = this.props.seriesList,
+                    n = this.props,
+                    r = n.values,
+                    a = n.min,
+                    o = n.max,
+                    i = n.avg,
+                    l = n.current,
+                    s = n.total,
+                    c = n.sort,
+                    u = n.sortDesc,
+                    f = n.hiddenSeries,
+                    d = {
+                      values: r,
+                      min: a,
+                      max: o,
+                      avg: i,
+                      current: l,
+                      total: s,
+                    };
+                  return V.a.createElement(
+                    "table",
+                    null,
+                    V.a.createElement(
+                      "colgroup",
+                      null,
+                      V.a.createElement("col", { style: { width: "100%" } })
+                    ),
+                    V.a.createElement(
+                      "thead",
+                      null,
+                      V.a.createElement(
+                        "tr",
+                        null,
+                        V.a.createElement("th", {
+                          style: { textAlign: "left" },
+                        }),
+                        Yt.map(function (t) {
+                          return (
+                            d[t] &&
+                            V.a.createElement(vn, {
+                              key: t,
+                              statName: t,
+                              sort: c,
+                              sortDesc: u,
+                              onClick: e.onToggleSort,
+                            })
+                          );
+                        })
+                      )
+                    ),
+                    V.a.createElement(
+                      "tbody",
+                      null,
+                      t.map(function (t, n) {
+                        return V.a.createElement(
+                          Kt,
+                          nn(
+                            {
+                              key: "".concat(t.id, "-").concat(n),
+                              asTable: !0,
+                              series: t,
+                              hidden: f[t.alias],
+                              onLabelClick: e.props.onToggleSeries,
+                              onColorChange: e.props.onColorChange,
+                              onToggleAxis: e.props.onToggleAxis,
+                            },
+                            d
+                          )
+                        );
+                      })
+                    )
+                  );
+                },
+              },
+            ]),
+            t
+          );
+        })(L.PureComponent),
+        vn = (function (e) {
+          function t() {
+            var e, n;
+            sn(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = fn(
+                this,
+                (e = dn(t)).call.apply(e, [this].concat(a))
+              )).onClick = function () {
+                return n.props.onClick(n.props.statName);
+              }),
+              n
+            );
+          }
+          return (
+            pn(t, e),
+            un(t, [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.statName,
+                    n = e.sort,
+                    r = e.sortDesc;
+                  return V.a.createElement(
+                    "th",
+                    { className: "pointer", onClick: this.onClick },
+                    t,
+                    n === t &&
+                      V.a.createElement("span", {
+                        className: r ? "fa fa-caret-down" : "fa fa-caret-up",
+                      })
+                  );
+                },
+              },
+            ]),
+            t
+          );
+        })(L.PureComponent),
+        yn = (function (e) {
+          function t() {
+            return sn(this, t), fn(this, dn(t).apply(this, arguments));
+          }
+          return (
+            pn(t, e),
+            un(t, [
+              {
+                key: "render",
+                value: function () {
+                  return V.a.createElement(
+                    se.CustomScrollbar,
+                    { hideHorizontalTrack: !0 },
+                    V.a.createElement(mn, this.props)
+                  );
+                },
+              },
+            ]),
+            t
+          );
+        })(L.PureComponent),
+        wn = n("t/ct"),
+        On = n("MAcC");
+      function xn(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function kn(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function jn(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Sn(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      Pn.$inject = ["timeSrv", "popoverSrv", "contextSrv"];
+      var En = Object(wn.b)(yn),
+        Cn = (function () {
+          function e(t, n, r) {
+            var a = this;
+            !(function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, e),
+              (this.scope = t),
+              (this.elem = n),
+              (this.timeSrv = r),
+              (this.getContextMenuItemsSupplier = function (e, t) {
+                return function () {
+                  var n = [
+                    {
+                      items: [
+                        {
+                          label: "Add annotation",
+                          icon: "gicon gicon-annotation",
+                          onClick: function () {
+                            return a.eventManager.updateTime({
+                              from: e.x,
+                              to: null,
+                            });
+                          },
+                        },
+                      ],
+                    },
+                  ];
+                  if (!t) return n;
+                  var r = [
+                    {
+                      items: t.getLinks(a.panel.scopedVars).map(function (e) {
+                        return {
+                          label: e.title,
+                          url: e.href,
+                          target: e.target,
+                          icon: "fa ".concat(
+                            "_self" === e.target
+                              ? "fa-link"
+                              : "fa-external-link"
+                          ),
+                          onClick: e.onClick,
+                        };
+                      }),
+                    },
+                  ];
+                  return [].concat(n, r);
+                };
+              }),
+              (this.ctrl = t.ctrl),
+              (this.contextMenu = t.ctrl.contextMenuCtrl),
+              (this.dashboard = this.ctrl.dashboard),
+              (this.panel = this.ctrl.panel),
+              (this.annotations = []),
+              (this.panelWidth = 0),
+              (this.eventManager = new At.a(this.ctrl)),
+              (this.thresholdManager = new kt(this.ctrl)),
+              (this.timeRegionManager = new Dt(this.ctrl, z.b.theme.type)),
+              (this.tooltip = new Ot(
+                this.elem,
+                this.ctrl.dashboard,
+                this.scope,
+                function () {
+                  return a.sortedSeries;
+                }
+              )),
+              this.ctrl.events.on(
+                Q.PanelEvents.panelTeardown,
+                this.onPanelTeardown.bind(this)
+              ),
+              this.ctrl.events.on(
+                Q.PanelEvents.render,
+                this.onRender.bind(this)
+              ),
+              W.a.on(wt.CoreEvents.graphHover, this.onGraphHover.bind(this), t),
+              W.a.on(
+                wt.CoreEvents.graphHoverClear,
+                this.onGraphHoverClear.bind(this),
+                t
+              ),
+              this.elem.bind("plotselected", this.onPlotSelected.bind(this)),
+              this.elem.bind("plotclick", this.onPlotClick.bind(this)),
+              this.elem &&
+                this.elem.parent &&
+                (this.legendElem = this.elem.parent().find(".graph-legend")[0]);
+          }
+          var t, n, r;
+          return (
+            (t = e),
+            (n = [
+              {
+                key: "onRender",
+                value: function (e) {
+                  var t = this;
+                  if (((this.data = e || this.data), this.data)) {
+                    (this.annotations = this.ctrl.annotations || []),
+                      this.buildFlotPairs(this.data);
+                    var n = this.ctrl.height;
+                    if (
+                      (Object(W.f)(this.data, this.panel, n),
+                      !this.panel.legend.show)
+                    )
+                      return (
+                        this.legendElem.hasChildNodes() &&
+                          $.a.unmountComponentAtNode(this.legendElem),
+                        void this.renderPanel()
+                      );
+                    var r = this.panel.legend,
+                      a = r.values,
+                      o = r.min,
+                      i = r.max,
+                      l = r.avg,
+                      s = r.current,
+                      c = r.total,
+                      u = this.panel.legend,
+                      f = {
+                        alignAsTable: u.alignAsTable,
+                        rightSide: u.rightSide,
+                        sideWidth: u.sideWidth,
+                        sort: u.sort,
+                        sortDesc: u.sortDesc,
+                        hideEmpty: u.hideEmpty,
+                        hideZero: u.hideZero,
+                      },
+                      d = {
+                        values: a,
+                        min: o,
+                        max: i,
+                        avg: l,
+                        current: s,
+                        total: c,
+                      },
+                      p = (function (e) {
+                        for (var t = 1; t < arguments.length; t++) {
+                          var n = null != arguments[t] ? arguments[t] : {};
+                          t % 2
+                            ? kn(Object(n), !0).forEach(function (t) {
+                                jn(e, t, n[t]);
+                              })
+                            : Object.getOwnPropertyDescriptors
+                            ? Object.defineProperties(
+                                e,
+                                Object.getOwnPropertyDescriptors(n)
+                              )
+                            : kn(Object(n)).forEach(function (t) {
+                                Object.defineProperty(
+                                  e,
+                                  t,
+                                  Object.getOwnPropertyDescriptor(n, t)
+                                );
+                              });
+                        }
+                        return e;
+                      })(
+                        {
+                          seriesList: this.data,
+                          hiddenSeries: this.ctrl.hiddenSeries,
+                        },
+                        f,
+                        {},
+                        d,
+                        {
+                          onToggleSeries: this.ctrl.onToggleSeries,
+                          onToggleSort: this.ctrl.onToggleSort,
+                          onColorChange: this.ctrl.onColorChange,
+                          onToggleAxis: this.ctrl.onToggleAxis,
+                        }
+                      ),
+                      h = V.a.createElement(En, p);
+                    $.a.render(h, this.legendElem, function () {
+                      return t.renderPanel();
+                    });
+                  }
+                },
+              },
+              {
+                key: "onGraphHover",
+                value: function (e) {
+                  this.dashboard.sharedTooltipModeEnabled() &&
+                    this.plot &&
+                    e.panel.id !== this.panel.id &&
+                    !this.ctrl.otherPanelInFullscreenMode() &&
+                    this.tooltip.show(e.pos);
+                },
+              },
+              {
+                key: "onPanelTeardown",
+                value: function () {
+                  this.plot && (this.plot.destroy(), (this.plot = null)),
+                    this.tooltip.destroy(),
+                    this.elem.off(),
+                    this.elem.remove(),
+                    $.a.unmountComponentAtNode(this.legendElem);
+                },
+              },
+              {
+                key: "onGraphHoverClear",
+                value: function (e, t) {
+                  this.plot && this.tooltip.clear(this.plot);
+                },
+              },
+              {
+                key: "onPlotSelected",
+                value: function (e, t) {
+                  var n = this;
+                  "time" === this.panel.xaxis.mode
+                    ? (t.ctrlKey || t.metaKey) &&
+                      (this.dashboard.meta.canEdit ||
+                        this.dashboard.meta.canMakeEditable)
+                      ? setTimeout(function () {
+                          n.eventManager.updateTime(t.xaxis);
+                        }, 100)
+                      : this.scope.$apply(function () {
+                          n.timeSrv.setTime({
+                            from: Object(Q.toUtc)(t.xaxis.from),
+                            to: Object(Q.toUtc)(t.xaxis.to),
+                          });
+                        })
+                    : this.plot.clearSelection();
+                },
+              },
+              {
+                key: "onPlotClick",
+                value: function (e, t, n) {
+                  var r = this,
+                    a = this.elem.closest(".view")
+                      ? this.elem.closest(".view").get()[0]
+                      : null,
+                    o = n;
+                  if ("time" === this.panel.xaxis.mode)
+                    if (
+                      (!t.ctrlKey && !t.metaKey) ||
+                      (!this.dashboard.meta.canEdit &&
+                        !this.dashboard.meta.canMakeEditable)
+                    ) {
+                      var i;
+                      if ((this.tooltip.clear(this.plot), n)) {
+                        var l = this.panel.yaxes[
+                            2 === n.series.yaxis.n ? 1 : 0
+                          ],
+                          s = this.ctrl.dataList[n.series.dataFrameIndex],
+                          c = s.fields[n.series.fieldIndex],
+                          u = this.getDataIndexWithNullValuesCorrection(n, s),
+                          f = this.panel.options.dataLinks || [];
+                        c.config.links &&
+                          c.config.links.length &&
+                          (f = [].concat(xn(f), xn(c.config.links)));
+                        var d = { decimals: l.decimals, links: f },
+                          p = Object(Q.getDisplayProcessor)({
+                            field: { config: d, type: Q.FieldType.number },
+                            theme: Object(wn.a)(),
+                          })(c.values.get(u));
+                        i = f.length
+                          ? Object(On.a)({
+                              display: p,
+                              name: c.name,
+                              view: new Q.DataFrameView(s),
+                              rowIndex: u,
+                              colIndex: n.series.fieldIndex,
+                              field: d,
+                            })
+                          : void 0;
+                      }
+                      this.scope.$apply(function () {
+                        r.contextMenu.setScrollContextElement(a),
+                          r.contextMenu.setSource(o),
+                          r.contextMenu.setMenuItemsSupplier(
+                            r.getContextMenuItemsSupplier(t, i)
+                          ),
+                          r.contextMenu.toggleMenu(t);
+                      });
+                    } else {
+                      if (t.x !== t.x1) return;
+                      setTimeout(function () {
+                        r.eventManager.updateTime({ from: t.x, to: null });
+                      }, 100);
+                    }
+                },
+              },
+              {
+                key: "getDataIndexWithNullValuesCorrection",
+                value: function (e, t) {
+                  var n = e.datapoint,
+                    r = e.dataIndex;
+                  if (!Array.isArray(n) || 0 === n.length) return r;
+                  var a = n[0],
+                    o = Object(Q.getTimeField)(t).timeField;
+                  if (!o || !o.values) return r;
+                  if (o.values.get(r) === a) return r;
+                  var i = o.values.toArray().findIndex(function (e) {
+                    return e === a;
+                  });
+                  return i > -1 ? i : r;
+                },
+              },
+              {
+                key: "shouldAbortRender",
+                value: function () {
+                  return !this.data || 0 === this.panelWidth;
+                },
+              },
+              {
+                key: "drawHook",
+                value: function (e) {
+                  this.panel.yaxes[0].label &&
+                    this.panel.yaxes[0].show &&
+                    _()(
+                      "<div class='axisLabel left-yaxis-label flot-temp-elem'></div>"
+                    )
+                      .text(this.panel.yaxes[0].label)
+                      .appendTo(this.elem),
+                    this.panel.yaxes[1].label &&
+                      this.panel.yaxes[1].show &&
+                      _()(
+                        "<div class='axisLabel right-yaxis-label flot-temp-elem'></div>"
+                      )
+                        .text(this.panel.yaxes[1].label)
+                        .appendTo(this.elem),
+                    this.ctrl.dataWarning &&
+                      _()(
+                        '<div class="datapoints-warning flot-temp-elem">'.concat(
+                          this.ctrl.dataWarning.title,
+                          "</div>"
+                        )
+                      ).appendTo(this.elem),
+                    this.thresholdManager.draw(e),
+                    this.timeRegionManager.draw(e);
+                },
+              },
+              {
+                key: "processOffsetHook",
+                value: function (e, t) {
+                  var n = this.panel.yaxes[0],
+                    r = this.panel.yaxes[1];
+                  n.show && n.label && (t.left = 20),
+                    r.show && r.label && (t.right = 20);
+                  for (var a = e.getYAxes(), o = 0; o < a.length; o++) {
+                    var i = a[o],
+                      l = this.panel.yaxes[o];
+                    (i.options.max =
+                      null !== i.options.max ? i.options.max : l.max),
+                      (i.options.min =
+                        null !== i.options.min ? i.options.min : l.min);
+                  }
+                },
+              },
+              {
+                key: "processRangeHook",
+                value: function (e) {
+                  var t = e.getYAxes(),
+                    n = this.panel.yaxis.align || !1;
+                  if (t.length > 1 && !0 === n) {
+                    var r = this.panel.yaxis.alignLevel || 0;
+                    It(t, parseFloat(r));
+                  }
+                },
+              },
+              {
+                key: "getMinTimeStepOfSeries",
+                value: function (e) {
+                  for (var t = Number.MAX_VALUE, n = 0; n < e.length; n++)
+                    if (e[n].stats.timeStep) {
+                      if (this.panel.bars) {
+                        if (e[n].bars && !1 === e[n].bars.show) continue;
+                      } else if (
+                        void 0 === e[n].bars ||
+                        void 0 === e[n].bars.show ||
+                        !e[n].bars.show
+                      )
+                        continue;
+                      e[n].stats.timeStep < t && (t = e[n].stats.timeStep);
+                    }
+                  return t;
+                },
+              },
+              {
+                key: "renderPanel",
+                value: function () {
+                  if (
+                    ((this.panelWidth = this.elem.width()),
+                    !this.shouldAbortRender())
+                  ) {
+                    this.thresholdManager.prepare(this.elem, this.data),
+                      (this.panel.dashes =
+                        !!this.panel.lines && this.panel.dashes);
+                    var e = this.buildFlotOptions(this.panel);
+                    this.prepareXAxis(e, this.panel),
+                      this.configureYAxisOptions(this.data, e),
+                      this.thresholdManager.addFlotOptions(e, this.panel),
+                      this.timeRegionManager.addFlotOptions(e, this.panel),
+                      this.eventManager.addFlotEvents(this.annotations, e),
+                      (this.sortedSeries = this.sortSeries(
+                        this.data,
+                        this.panel
+                      )),
+                      this.callPlot(e, !0);
+                  }
+                },
+              },
+              {
+                key: "buildFlotPairs",
+                value: function (e) {
+                  for (var t = 0; t < e.length; t++) {
+                    var n = e[t];
+                    (n.data = n.getFlotPairs(
+                      n.nullPointMode || this.panel.nullPointMode
+                    )),
+                      "constant" === n.transform &&
+                        (n.data = Object(Q.getFlotPairsConstant)(
+                          n.data,
+                          this.ctrl.range
+                        )),
+                      this.ctrl.hiddenSeries[n.alias] &&
+                        ((n.data = []), (n.stack = !1));
+                  }
+                },
+              },
+              {
+                key: "prepareXAxis",
+                value: function (e, t) {
+                  switch (t.xaxis.mode) {
+                    case "series":
+                      (e.series.bars.barWidth = 0.7),
+                        (e.series.bars.align = "center");
+                      for (var n = 0; n < this.data.length; n++) {
+                        var r = this.data[n];
+                        r.data = [[n + 1, r.stats[t.xaxis.values[0]]]];
+                      }
+                      this.addXSeriesAxis(e);
+                      break;
+                    case "histogram":
+                      var a;
+                      if (this.data.length) {
+                        var o = j.a.min(
+                            j.a.map(this.data, function (e) {
+                              return e.stats.min;
+                            })
+                          ),
+                          i = j.a.max(
+                            j.a.map(this.data, function (e) {
+                              return e.stats.max;
+                            })
+                          ),
+                          l = t.xaxis.buckets || this.panelWidth / 50;
+                        null != t.xaxis.min &&
+                          (o =
+                            Object(J.tickStep)(t.xaxis.min, i, l) <= 0
+                              ? o
+                              : t.xaxis.min),
+                          null != t.xaxis.max &&
+                            (i =
+                              Object(J.tickStep)(o, t.xaxis.max, l) <= 0
+                                ? i
+                                : t.xaxis.max),
+                          (a = Object(J.tickStep)(o, i, l)),
+                          (e.series.bars.barWidth = 0.8 * a),
+                          (this.data = _t(
+                            this.data,
+                            a,
+                            this.ctrl.hiddenSeries,
+                            o,
+                            i
+                          ));
+                      } else a = 0;
+                      this.addXHistogramAxis(e, a);
+                      break;
+                    case "table":
+                      (e.series.bars.barWidth = 0.7),
+                        (e.series.bars.align = "center"),
+                        this.addXTableAxis(e);
+                      break;
+                    default:
+                      (e.series.bars.barWidth =
+                        this.getMinTimeStepOfSeries(this.data) / 1.5),
+                        (e.series.bars.align = "center"),
+                        this.addTimeAxis(e);
+                  }
+                },
+              },
+              {
+                key: "callPlot",
+                value: function (e, t) {
+                  try {
+                    (this.plot = _.a.plot(this.elem, this.sortedSeries, e)),
+                      this.ctrl.renderError && delete this.ctrl.error;
+                  } catch (e) {
+                    console.log("flotcharts error", e),
+                      (this.ctrl.error = e.message || "Render Error"),
+                      (this.ctrl.renderError = !0);
+                  }
+                  t && this.ctrl.renderingCompleted();
+                },
+              },
+              {
+                key: "buildFlotOptions",
+                value: function (e) {
+                  var t = "#c8c8c8";
+                  !0 === z.b.bootData.user.lightTheme && (t = "#a1a1a1");
+                  var n = !!e.stack || null;
+                  return {
+                    hooks: {
+                      draw: [this.drawHook.bind(this)],
+                      processOffset: [this.processOffsetHook.bind(this)],
+                      processRange: [this.processRangeHook.bind(this)],
+                    },
+                    legend: { show: !1 },
+                    series: {
+                      stackpercent: !!e.stack && e.percentage,
+                      stack: e.percentage ? null : n,
+                      lines: {
+                        show: e.lines,
+                        zero: !1,
+                        fill: this.translateFillOption(e.fill),
+                        fillColor: this.getFillGradient(e.fillGradient),
+                        lineWidth: e.dashes ? 0 : e.linewidth,
+                        steps: e.steppedLine,
+                      },
+                      dashes: {
+                        show: e.dashes,
+                        lineWidth: e.linewidth,
+                        dashLength: [e.dashLength, e.spaceLength],
+                      },
+                      bars: {
+                        show: e.bars,
+                        fill: 1,
+                        barWidth: 1,
+                        zero: !1,
+                        lineWidth: 0,
+                      },
+                      points: {
+                        show: e.points,
+                        fill: 1,
+                        fillColor: !1,
+                        radius: e.points ? e.pointradius : 2,
+                      },
+                      shadowSize: 0,
+                    },
+                    yaxes: [],
+                    xaxis: {},
+                    grid: {
+                      minBorderMargin: 0,
+                      markings: [],
+                      backgroundColor: null,
+                      borderWidth: 0,
+                      hoverable: !0,
+                      clickable: !0,
+                      color: t,
+                      margin: { left: 0, right: 0 },
+                      labelMarginX: 0,
+                      mouseActiveRadius: 30,
+                    },
+                    selection: { mode: "x", color: "#666" },
+                    crosshair: { mode: "x" },
+                  };
+                },
+              },
+              {
+                key: "sortSeries",
+                value: function (e, t) {
+                  var n = t.legend.sort,
+                    r = t.legend.sortDesc,
+                    a = null != n && t.legend[n],
+                    o = null != r,
+                    i = t.stack && a && o && t.legend.alignAsTable,
+                    l = !0 === t.legend.sortDesc ? -1 : 1;
+                  return i
+                    ? j.a.sortBy(e, function (e) {
+                        return e.stats[n] * l;
+                      })
+                    : j.a.sortBy(e, function (e) {
+                        return e.zindex;
+                      });
+                },
+              },
+              {
+                key: "getFillGradient",
+                value: function (e) {
+                  return e
+                    ? { colors: [{ opacity: 0 }, { opacity: e / 10 }] }
+                    : null;
+                },
+              },
+              {
+                key: "translateFillOption",
+                value: function (e) {
+                  return this.panel.percentage && this.panel.stack && 0 === e
+                    ? 0.001
+                    : e / 10;
+                },
+              },
+              {
+                key: "addTimeAxis",
+                value: function (e) {
+                  var t = this.panelWidth / 100,
+                    n = j.a.isUndefined(this.ctrl.range.from)
+                      ? null
+                      : this.ctrl.range.from.valueOf(),
+                    r = j.a.isUndefined(this.ctrl.range.to)
+                      ? null
+                      : this.ctrl.range.to.valueOf();
+                  e.xaxis = {
+                    timezone: this.dashboard.getTimezone(),
+                    show: this.panel.xaxis.show,
+                    mode: "time",
+                    min: n,
+                    max: r,
+                    label: "Datetime",
+                    ticks: t,
+                    timeformat: Object(J.grafanaTimeFormat)(t, n, r),
+                  };
+                },
+              },
+              {
+                key: "addXSeriesAxis",
+                value: function (e) {
+                  var t = j.a.map(this.data, function (e, t) {
+                    return [t + 1, e.alias];
+                  });
+                  e.xaxis = {
+                    timezone: this.dashboard.getTimezone(),
+                    show: this.panel.xaxis.show,
+                    mode: null,
+                    min: 0,
+                    max: t.length + 1,
+                    label: "Datetime",
+                    ticks: t,
+                  };
+                },
+              },
+              {
+                key: "addXHistogramAxis",
+                value: function (e, t) {
+                  var n,
+                    r,
+                    a,
+                    o = this.panelWidth / 50;
+                  if (this.data.length && t) {
+                    var i = [],
+                      l = !0,
+                      s = !1,
+                      c = void 0;
+                    try {
+                      for (
+                        var u, f = this.data[Symbol.iterator]();
+                        !(l = (u = f.next()).done);
+                        l = !0
+                      ) {
+                        var d = u.value,
+                          p = !0,
+                          h = !1,
+                          m = void 0;
+                        try {
+                          for (
+                            var g, b = d.data[Symbol.iterator]();
+                            !(p = (g = b.next()).done);
+                            p = !0
+                          )
+                            i[g.value[0]] = !0;
+                        } catch (e) {
+                          (h = !0), (m = e);
+                        } finally {
+                          try {
+                            p || null == b.return || b.return();
+                          } finally {
+                            if (h) throw m;
+                          }
+                        }
+                      }
+                    } catch (e) {
+                      (s = !0), (c = e);
+                    } finally {
+                      try {
+                        l || null == f.return || f.return();
+                      } finally {
+                        if (s) throw c;
+                      }
+                    }
+                    (n = Object.keys(i).map(function (e) {
+                      return Number(e);
+                    })),
+                      (r = j.a.min(n)),
+                      (a = j.a.max(n));
+                    for (var v = t, y = Math.floor((a - r) / v); y > o; )
+                      (v *= 2), (y = Math.ceil((a - r) / v));
+                    (r = Math.floor(r / v) * v),
+                      (a = Math.ceil((1.01 * a) / v) * v),
+                      (n = []);
+                    for (var w = r; w <= a; w += v) n.push(w);
+                  } else (n = o / 2), (r = 0), (a = 1);
+                  (e.xaxis = {
+                    timezone: this.dashboard.getTimezone(),
+                    show: this.panel.xaxis.show,
+                    mode: null,
+                    min: r,
+                    max: a,
+                    label: "Histogram",
+                    ticks: n,
+                  }),
+                    this.configureAxisMode(e.xaxis, "short");
+                },
+              },
+              {
+                key: "addXTableAxis",
+                value: function (e) {
+                  var t = j.a.map(this.data, function (e, t) {
+                    return j.a.map(e.datapoints, function (n, r) {
+                      return [t * e.datapoints.length + r + 1, n[1]];
+                    });
+                  });
+                  (t = j.a.flatten(t, !0)),
+                    (e.xaxis = {
+                      timezone: this.dashboard.getTimezone(),
+                      show: this.panel.xaxis.show,
+                      mode: null,
+                      min: 0,
+                      max: t.length + 1,
+                      label: "Datetime",
+                      ticks: t,
+                    });
+                },
+              },
+              {
+                key: "configureYAxisOptions",
+                value: function (e, t) {
+                  var n = {
+                    position: "left",
+                    show: this.panel.yaxes[0].show,
+                    index: 1,
+                    logBase: this.panel.yaxes[0].logBase || 1,
+                    min: this.parseNumber(this.panel.yaxes[0].min),
+                    max: this.parseNumber(this.panel.yaxes[0].max),
+                    tickDecimals: this.panel.yaxes[0].decimals,
+                  };
+                  if ((t.yaxes.push(n), j.a.find(e, { yaxis: 2 }))) {
+                    var r = j.a.clone(n);
+                    (r.index = 2),
+                      (r.show = this.panel.yaxes[1].show),
+                      (r.logBase = this.panel.yaxes[1].logBase || 1),
+                      (r.position = "right"),
+                      (r.min = this.parseNumber(this.panel.yaxes[1].min)),
+                      (r.max = this.parseNumber(this.panel.yaxes[1].max)),
+                      (r.tickDecimals = this.panel.yaxes[1].decimals),
+                      t.yaxes.push(r),
+                      this.applyLogScale(t.yaxes[1], e),
+                      this.configureAxisMode(
+                        t.yaxes[1],
+                        this.panel.percentage && this.panel.stack
+                          ? "percent"
+                          : this.panel.yaxes[1].format
+                      );
+                  }
+                  this.applyLogScale(t.yaxes[0], e),
+                    this.configureAxisMode(
+                      t.yaxes[0],
+                      this.panel.percentage && this.panel.stack
+                        ? "percent"
+                        : this.panel.yaxes[0].format
+                    );
+                },
+              },
+              {
+                key: "parseNumber",
+                value: function (e) {
+                  return null == e ? null : j.a.toNumber(e);
+                },
+              },
+              {
+                key: "applyLogScale",
+                value: function (e, t) {
+                  if (1 !== e.logBase) {
+                    var n,
+                      r,
+                      a = 0 === e.min;
+                    e.min < Number.MIN_VALUE && (e.min = null),
+                      e.max < Number.MIN_VALUE && (e.max = null);
+                    var o = e.max,
+                      i = e.min;
+                    for (r = 0; r < t.length; r++)
+                      (n = t[r]).yaxis === e.index &&
+                        ((!o || o < n.stats.max) && (o = n.stats.max),
+                        (!i || i > n.stats.logmin) && (i = n.stats.logmin));
+                    (e.transform = function (t) {
+                      return t < Number.MIN_VALUE
+                        ? null
+                        : Math.log(t) / Math.log(e.logBase);
+                    }),
+                      (e.inverseTransform = function (t) {
+                        return Math.pow(e.logBase, t);
+                      }),
+                      o || i
+                        ? o
+                          ? i || (i = o * e.inverseTransform(-4))
+                          : (o = i * e.inverseTransform(4))
+                        : ((o = e.inverseTransform(2)),
+                          (i = e.inverseTransform(-2))),
+                      (i = e.min
+                        ? e.inverseTransform(Math.ceil(e.transform(e.min)))
+                        : (e.min = e.inverseTransform(
+                            Math.floor(e.transform(i))
+                          ))),
+                      (o = e.max
+                        ? e.inverseTransform(Math.floor(e.transform(e.max)))
+                        : (e.max = e.inverseTransform(
+                            Math.ceil(e.transform(o))
+                          ))),
+                      !i ||
+                        i < Number.MIN_VALUE ||
+                        !o ||
+                        o < Number.MIN_VALUE ||
+                        (Number.isFinite(i) && Number.isFinite(o)
+                          ? (a && ((e.min = 0.1), (i = 1)),
+                            (e.ticks = this.generateTicksForLogScaleYAxis(
+                              i,
+                              o,
+                              e.logBase
+                            )),
+                            a && e.ticks.unshift(0.1),
+                            e.ticks[e.ticks.length - 1] > e.max &&
+                              (e.max = e.ticks[e.ticks.length - 1]))
+                          : ((e.ticks = [1, 2]), delete e.min, delete e.max));
+                  }
+                },
+              },
+              {
+                key: "generateTicksForLogScaleYAxis",
+                value: function (e, t, n) {
+                  var r,
+                    a = [];
+                  for (r = e; r <= t; r *= n) a.push(r);
+                  var o = Math.ceil(this.ctrl.height / 25),
+                    i = a.length;
+                  if (i > o) {
+                    var l = Math.ceil(i / o) * n;
+                    for (a = [], r = e; r <= t * l; r *= l) a.push(r);
+                  }
+                  return a;
+                },
+              },
+              {
+                key: "configureAxisMode",
+                value: function (e, t) {
+                  e.tickFormatter = function (e, n) {
+                    var r = Object(Q.getValueFormat)(t);
+                    if (!r)
+                      throw new Error("Unit '".concat(t, "' is not supported"));
+                    return Object(Q.formattedValueToString)(
+                      r(e, n.tickDecimals, n.scaledDecimals)
+                    );
+                  };
+                },
+              },
+            ]) && Sn(t.prototype, n),
+            r && Sn(t, r),
+            e
+          );
+        })();
+      function Pn(e, t, n) {
+        return {
+          restrict: "A",
+          template: "",
+          link: function (t, n) {
+            return new Cn(t, n, e);
+          },
+        };
+      }
+      W.c.directive("grafanaGraph", Pn);
+      var Tn = n("txxJ");
+      function Dn(e, t, n) {
+        (e.overrideMenu = []),
+          (e.currentOverrides = []),
+          (e.override = e.override || {}),
+          (e.colorPickerModel = {}),
+          (e.addOverrideOption = function (t, n, r) {
+            var a = {
+              text: t,
+              propertyName: n,
+              index: e.overrideMenu.length,
+              values: r,
+              submenu: j.a.map(r, function (e) {
+                return { text: String(e), value: e };
+              }),
+            };
+            e.overrideMenu.push(a);
+          }),
+          (e.setOverride = function (t, n) {
+            "color" !== t.propertyName
+              ? ((e.override[t.propertyName] = n.value),
+                "fillBelowTo" === t.propertyName &&
+                  ((e.override.lines = !1),
+                  e.ctrl.addSeriesOverride({ alias: n.value, lines: !1 })),
+                e.updateCurrentOverrides(),
+                e.ctrl.render())
+              : e.openColorSelector(e.override.color);
+          }),
+          (e.colorSelected = function (t) {
+            (e.override.color = t),
+              e.updateCurrentOverrides(),
+              e.ctrl.render(),
+              (e.colorPickerModel.series.color = t);
+          }),
+          (e.openColorSelector = function (r) {
+            (e.colorPickerModel = {
+              autoClose: !0,
+              colorSelected: e.colorSelected,
+              series: { color: r },
+            }),
+              n.show({
+                element: t.find(".dropdown")[0],
+                position: "top center",
+                openOn: "click",
+                template:
+                  '<series-color-picker-popover color="series.color" onColorChange="colorSelected" />',
+                classNames: "drop-popover drop-popover--transparent",
+                model: e.colorPickerModel,
+                onClose: function () {
+                  e.ctrl.render();
+                },
+              });
+          }),
+          (e.removeOverride = function (t) {
+            delete e.override[t.propertyName],
+              e.updateCurrentOverrides(),
+              e.ctrl.refresh();
+          }),
+          (e.getSeriesNames = function () {
+            return j.a.map(e.ctrl.seriesList, function (e) {
+              return e.alias;
+            });
+          }),
+          (e.updateCurrentOverrides = function () {
+            (e.currentOverrides = []),
+              j.a.each(e.overrideMenu, function (t) {
+                var n = e.override[t.propertyName];
+                j.a.isUndefined(n) ||
+                  e.currentOverrides.push({
+                    name: t.text,
+                    propertyName: t.propertyName,
+                    value: String(n),
+                  });
+              });
+          }),
+          e.addOverrideOption("Bars", "bars", [!0, !1]),
+          e.addOverrideOption("Lines", "lines", [!0, !1]),
+          e.addOverrideOption("Line fill", "fill", [
+            0,
+            1,
+            2,
+            3,
+            4,
+            5,
+            6,
+            7,
+            8,
+            9,
+            10,
+          ]),
+          e.addOverrideOption("Fill gradient", "fillGradient", [
+            0,
+            1,
+            2,
+            3,
+            4,
+            5,
+            6,
+            7,
+            8,
+            9,
+            10,
+          ]),
+          e.addOverrideOption("Line width", "linewidth", [
+            0,
+            1,
+            2,
+            3,
+            4,
+            5,
+            6,
+            7,
+            8,
+            9,
+            10,
+          ]),
+          e.addOverrideOption("Null point mode", "nullPointMode", [
+            "connected",
+            "null",
+            "null as zero",
+          ]),
+          e.addOverrideOption(
+            "Fill below to",
+            "fillBelowTo",
+            e.getSeriesNames()
+          ),
+          e.addOverrideOption("Staircase line", "steppedLine", [!0, !1]),
+          e.addOverrideOption("Dashes", "dashes", [!0, !1]),
+          e.addOverrideOption("Hidden Series", "hiddenSeries", [!0, !1]),
+          e.addOverrideOption("Dash Length", "dashLength", [
+            1,
+            2,
+            3,
+            4,
+            5,
+            6,
+            7,
+            8,
+            9,
+            10,
+            11,
+            12,
+            13,
+            14,
+            15,
+            16,
+            17,
+            18,
+            19,
+            20,
+          ]),
+          e.addOverrideOption("Dash Space", "spaceLength", [
+            1,
+            2,
+            3,
+            4,
+            5,
+            6,
+            7,
+            8,
+            9,
+            10,
+            11,
+            12,
+            13,
+            14,
+            15,
+            16,
+            17,
+            18,
+            19,
+            20,
+          ]),
+          e.addOverrideOption("Points", "points", [!0, !1]),
+          e.addOverrideOption("Points Radius", "pointradius", [1, 2, 3, 4, 5]),
+          e.addOverrideOption("Stack", "stack", [!0, !1, "A", "B", "C", "D"]),
+          e.addOverrideOption("Color", "color", ["change"]),
+          e.addOverrideOption("Y-axis", "yaxis", [1, 2]),
+          e.addOverrideOption("Z-index", "zindex", [-3, -2, -1, 0, 1, 2, 3]),
+          e.addOverrideOption("Transform", "transform", [
+            "constant",
+            "negative-Y",
+          ]),
+          e.addOverrideOption("Legend", "legend", [!0, !1]),
+          e.addOverrideOption("Hide in tooltip", "hideTooltip", [!0, !1]),
+          e.updateCurrentOverrides();
+      }
+      (Dn.$inject = ["$scope", "$element", "popoverSrv"]),
+        Tn.c.controller("SeriesOverridesCtrl", Dn);
+      var An = n("Zss7"),
+        _n = n.n(An);
+      function Nn(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var Mn = (function () {
+        function e(t) {
+          var n = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.panel = this.panelCtrl.panel),
+            this.panel.alert && (this.disabled = !0);
+          var r = t.$on("$destroy", function () {
+            (n.panelCtrl.editingThresholds = !1), n.panelCtrl.render(), r();
+          });
+          this.panelCtrl.editingThresholds = !0;
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$scope"]),
+          (t = e),
+          (n = [
+            {
+              key: "addThreshold",
+              value: function () {
+                this.panel.thresholds.push({
+                  value: void 0,
+                  colorMode: "critical",
+                  op: "gt",
+                  fill: !0,
+                  line: !0,
+                  yaxis: "left",
+                }),
+                  this.panelCtrl.render();
+              },
+            },
+            {
+              key: "removeThreshold",
+              value: function (e) {
+                this.panel.thresholds.splice(e, 1), this.panelCtrl.render();
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                this.panelCtrl.render();
+              },
+            },
+            {
+              key: "onFillColorChange",
+              value: function (e) {
+                var t = this;
+                return function (n) {
+                  (t.panel.thresholds[e].fillColor = n), t.render();
+                };
+              },
+            },
+            {
+              key: "onLineColorChange",
+              value: function (e) {
+                var t = this;
+                return function (n) {
+                  (t.panel.thresholds[e].lineColor = n), t.render();
+                };
+              },
+            },
+            {
+              key: "onThresholdTypeChange",
+              value: function (e) {
+                "custom" === this.panel.thresholds[e].colorMode &&
+                  ((this.panel.thresholds[e].fillColor = _n()(
+                    z.b.theme.colors.blueBase
+                  )
+                    .setAlpha(0.2)
+                    .toRgbString()),
+                  (this.panel.thresholds[e].lineColor = _n()(
+                    z.b.theme.colors.blueShade
+                  )
+                    .setAlpha(0.6)
+                    .toRgbString())),
+                  this.panelCtrl.render();
+              },
+            },
+          ]) && Nn(t.prototype, n),
+          r && Nn(t, r),
+          e
+        );
+      })();
+      function In(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      Tn.c.directive("graphThresholdForm", function () {
+        return {
+          restrict: "E",
+          templateUrl: "public/app/plugins/panel/graph/thresholds_form.html",
+          controller: Mn,
+          bindToController: !0,
+          controllerAs: "ctrl",
+          scope: { panelCtrl: "=" },
+        };
+      });
+      var Rn = (function () {
+        function e(t) {
+          var n = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.panel = this.panelCtrl.panel);
+          var r = t.$on("$destroy", function () {
+            (n.panelCtrl.editingTimeRegions = !1), n.panelCtrl.render(), r();
+          });
+          (this.colorModes = j.a.map(Object.keys(Pt), function (e) {
+            return { key: e, value: Pt[e].title };
+          })),
+            (this.panelCtrl.editingTimeRegions = !0);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$scope"]),
+          (t = e),
+          (n = [
+            {
+              key: "render",
+              value: function () {
+                this.panelCtrl.render();
+              },
+            },
+            {
+              key: "addTimeRegion",
+              value: function () {
+                this.panel.timeRegions.push({
+                  op: "time",
+                  fromDayOfWeek: void 0,
+                  from: void 0,
+                  toDayOfWeek: void 0,
+                  to: void 0,
+                  colorMode: "background6",
+                  fill: !0,
+                  line: !1,
+                  fillColor: "rgba(234, 112, 112, 0.12)",
+                  lineColor: "rgba(237, 46, 24, 0.60)",
+                }),
+                  this.panelCtrl.render();
+              },
+            },
+            {
+              key: "removeTimeRegion",
+              value: function (e) {
+                this.panel.timeRegions.splice(e, 1), this.panelCtrl.render();
+              },
+            },
+            {
+              key: "onFillColorChange",
+              value: function (e) {
+                var t = this;
+                return function (n) {
+                  (t.panel.timeRegions[e].fillColor = n), t.render();
+                };
+              },
+            },
+            {
+              key: "onLineColorChange",
+              value: function (e) {
+                var t = this;
+                return function (n) {
+                  (t.panel.timeRegions[e].lineColor = n), t.render();
+                };
+              },
+            },
+          ]) && In(t.prototype, n),
+          r && In(t, r),
+          e
+        );
+      })();
+      Tn.c.directive("graphTimeRegionForm", function () {
+        return {
+          restrict: "E",
+          templateUrl: "public/app/plugins/panel/graph/time_regions_form.html",
+          controller: Rn,
+          bindToController: !0,
+          controllerAs: "ctrl",
+          scope: { panelCtrl: "=" },
+        };
+      });
+      function Fn(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var Ln = (function () {
+          function e(t) {
+            !(function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, e),
+              (this.panel = t);
+          }
+          var t, n, r;
+          return (
+            (t = e),
+            (n = [
+              {
+                key: "getSeriesList",
+                value: function (e) {
+                  var t = [],
+                    n = e.dataList,
+                    r = e.range;
+                  if (!n || !n.length) return t;
+                  for (var a = 0; a < n.length; a++) {
+                    var o = n[a],
+                      i = Object(Q.getTimeField)(o).timeField;
+                    if (i)
+                      for (
+                        var l = o.name ? o.name : o.refId, s = 0;
+                        s < o.fields.length;
+                        s++
+                      ) {
+                        var c = o.fields[s];
+                        if (c.type === Q.FieldType.number) {
+                          var u =
+                            c.config && c.config.title
+                              ? c.config.title
+                              : c.name;
+                          l && n.length > 0 && u !== l && (u = l + " " + u);
+                          for (var f = [], d = 0; d < o.length; d++)
+                            f.push([c.values.get(d), i.values.get(d)]);
+                          t.push(this.toTimeSeries(c, u, a, s, f, t.length, r));
+                        }
+                      }
+                  }
+                  if (
+                    "histogram" === this.panel.xaxis.mode &&
+                    !this.panel.stack &&
+                    t.length > 1
+                  ) {
+                    var p = t[0];
+                    p.alias = p.aliasEscaped = "Count";
+                    for (var h = 1; h < t.length; h++)
+                      p.datapoints = p.datapoints.concat(t[h].datapoints);
+                    return [p];
+                  }
+                  return t;
+                },
+              },
+              {
+                key: "toTimeSeries",
+                value: function (e, t, n, r, a, o, i) {
+                  var l = o % se.colors.length,
+                    s = this.panel.aliasColors[t] || se.colors[l],
+                    c = new H.a({
+                      datapoints: a || [],
+                      alias: t,
+                      color: Object(Q.getColorFromHexRgbOrName)(
+                        s,
+                        z.b.theme.type
+                      ),
+                      unit: e.config ? e.config.unit : void 0,
+                      dataFrameIndex: n,
+                      fieldIndex: r,
+                    });
+                  return (
+                    a &&
+                      a.length > 0 &&
+                      i &&
+                      a[a.length - 1][1] - i.from.valueOf() < -1e4 &&
+                      (c.isOutsideRange = !0),
+                    c
+                  );
+                },
+              },
+              {
+                key: "setPanelDefaultsForNewXAxisMode",
+                value: function () {
+                  switch (this.panel.xaxis.mode) {
+                    case "time":
+                      (this.panel.bars = !1),
+                        (this.panel.lines = !0),
+                        (this.panel.points = !1),
+                        (this.panel.legend.show = !0),
+                        (this.panel.tooltip.shared = !0),
+                        (this.panel.xaxis.values = []);
+                      break;
+                    case "series":
+                      (this.panel.bars = !0),
+                        (this.panel.lines = !1),
+                        (this.panel.points = !1),
+                        (this.panel.stack = !1),
+                        (this.panel.legend.show = !1),
+                        (this.panel.tooltip.shared = !1),
+                        (this.panel.xaxis.values = ["total"]);
+                      break;
+                    case "histogram":
+                      (this.panel.bars = !0),
+                        (this.panel.lines = !1),
+                        (this.panel.points = !1),
+                        (this.panel.stack = !1),
+                        (this.panel.legend.show = !1),
+                        (this.panel.tooltip.shared = !1);
+                  }
+                },
+              },
+              {
+                key: "validateXAxisSeriesValue",
+                value: function () {
+                  switch (this.panel.xaxis.mode) {
+                    case "series":
+                      if (0 === this.panel.xaxis.values.length)
+                        return void (this.panel.xaxis.values = ["total"]);
+                      var e = this.getXAxisValueOptions({});
+                      return void (
+                        j.a.find(e, { value: this.panel.xaxis.values[0] }) ||
+                        (this.panel.xaxis.values = ["total"])
+                      );
+                  }
+                },
+              },
+              {
+                key: "getXAxisValueOptions",
+                value: function (e) {
+                  switch (this.panel.xaxis.mode) {
+                    case "series":
+                      return [
+                        { text: "Avg", value: "avg" },
+                        { text: "Min", value: "min" },
+                        { text: "Max", value: "max" },
+                        { text: "Total", value: "total" },
+                        { text: "Count", value: "count" },
+                      ];
+                  }
+                  return [];
+                },
+              },
+              {
+                key: "pluckDeep",
+                value: function (e, t) {
+                  for (var n = t.split("."), r = e, a = 0; a < n.length; ++a) {
+                    if (!r[n[a]]) return;
+                    r = r[n[a]];
+                  }
+                  return r;
+                },
+              },
+            ]) && Fn(t.prototype, n),
+            r && Fn(t, r),
+            e
+          );
+        })(),
+        Vn = n("1gCF");
+      function Bn(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var $n = (function () {
+        function e(t) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$scope = t),
+            (this.panelCtrl = t.ctrl),
+            (this.panel = this.panelCtrl.panel),
+            (this.$scope.ctrl = this),
+            (this.logScales = {
+              linear: 1,
+              "log (base 2)": 2,
+              "log (base 10)": 10,
+              "log (base 32)": 32,
+              "log (base 1024)": 1024,
+            }),
+            (this.xAxisModes = {
+              Time: "time",
+              Series: "series",
+              Histogram: "histogram",
+            }),
+            (this.xAxisStatOptions = [
+              { text: "Avg", value: "avg" },
+              { text: "Min", value: "min" },
+              { text: "Max", value: "max" },
+              { text: "Total", value: "total" },
+              { text: "Count", value: "count" },
+              { text: "Current", value: "current" },
+            ]),
+            "custom" === this.panel.xaxis.mode &&
+              (this.panel.xaxis.name ||
+                (this.panel.xaxis.name = "specify field")),
+            (this.selectors =
+              Vn.a.pages.Dashboard.Panels.Visualization.Graph.VisualizationTab.selectors);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$scope"]),
+          (t = e),
+          (n = [
+            {
+              key: "setUnitFormat",
+              value: function (e) {
+                var t = this;
+                return function (n) {
+                  (e.format = n), t.panelCtrl.render();
+                };
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                this.panelCtrl.render();
+              },
+            },
+            {
+              key: "xAxisModeChanged",
+              value: function () {
+                this.panelCtrl.processor.setPanelDefaultsForNewXAxisMode(),
+                  this.panelCtrl.onDataFramesReceived(this.panelCtrl.dataList);
+              },
+            },
+            {
+              key: "xAxisValueChanged",
+              value: function () {
+                this.panelCtrl.onDataFramesReceived(this.panelCtrl.dataList);
+              },
+            },
+          ]) && Bn(t.prototype, n),
+          r && Bn(t, r),
+          e
+        );
+      })();
+      function qn() {
+        return {
+          restrict: "E",
+          scope: !0,
+          templateUrl: "public/app/plugins/panel/graph/axes_editor.html",
+          controller: $n,
+        };
+      }
+      var Un = n("kHZm");
+      var zn = function e(t) {
+          var n = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.onClose = function () {
+              n.scrollContextElement &&
+                n.scrollContextElement.removeEventListener("scroll", n.onClose),
+                n.scope.$apply(function () {
+                  n.isVisible = !1;
+                });
+            }),
+            (this.toggleMenu = function (e) {
+              (n.isVisible = !n.isVisible),
+                n.isVisible &&
+                  n.scrollContextElement &&
+                  n.scrollContextElement.addEventListener("scroll", n.onClose),
+                n.source
+                  ? (n.position = { x: n.source.pageX, y: n.source.pageY })
+                  : (n.position = { x: e ? e.pageX : 0, y: e ? e.pageY : 0 });
+            }),
+            (this.setScrollContextElement = function (e) {
+              n.scrollContextElement = e;
+            }),
+            (this.setSource = function (e) {
+              n.source = e;
+            }),
+            (this.getSource = function () {
+              return n.source;
+            }),
+            (this.setMenuItemsSupplier = function (e) {
+              n.menuItemsSupplier = e;
+            }),
+            (this.isVisible = !1),
+            (this.scope = t);
+        },
+        Hn = n("GkHB");
+      function Gn(e) {
+        return (Gn =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Wn(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Qn(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Yn(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Kn(e) {
+        if (void 0 === e)
+          throw new ReferenceError(
+            "this hasn't been initialised - super() hasn't been called"
+          );
+        return e;
+      }
+      function Jn(e, t, n) {
+        return (Jn =
+          "undefined" != typeof Reflect && Reflect.get
+            ? Reflect.get
+            : function (e, t, n) {
+                var r = (function (e, t) {
+                  for (
+                    ;
+                    !Object.prototype.hasOwnProperty.call(e, t) &&
+                    null !== (e = Zn(e));
+
+                  );
+                  return e;
+                })(e, t);
+                if (r) {
+                  var a = Object.getOwnPropertyDescriptor(r, t);
+                  return a.get ? a.get.call(n) : a.value;
+                }
+              })(e, t, n || e);
+      }
+      function Zn(e) {
+        return (Zn = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Xn(e, t) {
+        return (Xn =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var er = (function (e) {
+        function t(e, n, r) {
+          var a, o, i;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            (o = this),
+            (i = Zn(t).call(this, e, n)),
+            ((a =
+              !i || ("object" !== Gn(i) && "function" != typeof i)
+                ? Kn(o)
+                : i).annotationsSrv = r),
+            (a.hiddenSeries = {}),
+            (a.hiddenSeriesTainted = !1),
+            (a.seriesList = []),
+            (a.dataList = []),
+            (a.annotations = []),
+            (a.colors = []),
+            (a.linkVariableSuggestions = []),
+            (a.panelDefaults = {
+              datasource: null,
+              renderer: "flot",
+              yaxes: [
+                {
+                  label: null,
+                  show: !0,
+                  logBase: 1,
+                  min: null,
+                  max: null,
+                  format: "short",
+                },
+                {
+                  label: null,
+                  show: !0,
+                  logBase: 1,
+                  min: null,
+                  max: null,
+                  format: "short",
+                },
+              ],
+              xaxis: {
+                show: !0,
+                mode: "time",
+                name: null,
+                values: [],
+                buckets: null,
+              },
+              yaxis: { align: !1, alignLevel: null },
+              lines: !0,
+              fill: 1,
+              fillGradient: 0,
+              linewidth: 1,
+              dashes: !1,
+              hiddenSeries: !1,
+              dashLength: 10,
+              spaceLength: 10,
+              points: !1,
+              pointradius: 2,
+              bars: !1,
+              stack: !1,
+              percentage: !1,
+              legend: {
+                show: !0,
+                values: !1,
+                min: !1,
+                max: !1,
+                current: !1,
+                total: !1,
+                avg: !1,
+              },
+              nullPointMode: "null",
+              steppedLine: !1,
+              tooltip: { value_type: "individual", shared: !0, sort: 0 },
+              timeFrom: null,
+              timeShift: null,
+              targets: [{}],
+              aliasColors: {},
+              seriesOverrides: [],
+              thresholds: [],
+              timeRegions: [],
+              options: { dataLinks: [] },
+            }),
+            (a.onColorChange = function (e, t) {
+              e.setColor(Object(Q.getColorFromHexRgbOrName)(t, z.b.theme.type)),
+                (a.panel.aliasColors[e.alias] = t),
+                a.render();
+            }),
+            (a.onToggleSeries = function (e) {
+              (a.hiddenSeriesTainted = !0), (a.hiddenSeries = e), a.render();
+            }),
+            (a.onToggleSort = function (e, t) {
+              (a.panel.legend.sort = e),
+                (a.panel.legend.sortDesc = t),
+                a.render();
+            }),
+            (a.onToggleAxis = function (e) {
+              var t = j.a.find(a.panel.seriesOverrides, { alias: e.alias });
+              t || ((t = { alias: e.alias }), a.panel.seriesOverrides.push(t)),
+                (t.yaxis = e.yaxis),
+                a.render();
+            }),
+            (a.onContextMenuClose = function () {
+              a.contextMenuCtrl.toggleMenu();
+            }),
+            (a.formatDate = function (e, t) {
+              return a.dashboard.formatDate.apply(a.dashboard, [e, t]);
+            }),
+            (a.getDataFrameByRefId = function (e) {
+              return a.dataList.filter(function (t) {
+                return t.refId === e;
+              })[0];
+            }),
+            j.a.defaults(a.panel, a.panelDefaults),
+            j.a.defaults(a.panel.tooltip, a.panelDefaults.tooltip),
+            j.a.defaults(a.panel.legend, a.panelDefaults.legend),
+            j.a.defaults(a.panel.xaxis, a.panelDefaults.xaxis),
+            j.a.defaults(a.panel.options, a.panelDefaults.options),
+            (a.useDataFrames = !0),
+            (a.processor = new Ln(a.panel)),
+            (a.contextMenuCtrl = new zn(e)),
+            a.events.on(Q.PanelEvents.render, a.onRender.bind(Kn(a))),
+            a.events.on(
+              wt.CoreEvents.dataFramesReceived,
+              a.onDataFramesReceived.bind(Kn(a))
+            ),
+            a.events.on(
+              Q.PanelEvents.dataSnapshotLoad,
+              a.onDataSnapshotLoad.bind(Kn(a))
+            ),
+            a.events.on(
+              Q.PanelEvents.editModeInitialized,
+              a.onInitEditMode.bind(Kn(a))
+            ),
+            a.events.on(
+              Q.PanelEvents.initPanelActions,
+              a.onInitPanelActions.bind(Kn(a))
+            ),
+            (a.onDataLinksChange = a.onDataLinksChange.bind(Kn(a))),
+            (a.annotationsPromise = Promise.resolve({ annotations: [] })),
+            a
+          );
+        }
+        var n, r, a;
+        return (
+          (t.$inject = ["$scope", "$injector", "annotationsSrv"]),
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && Xn(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "onInitEditMode",
+              value: function () {
+                this.addEditorTab(
+                  "Display options",
+                  "public/app/plugins/panel/graph/tab_display.html"
+                ),
+                  this.addEditorTab("Axes", qn),
+                  this.addEditorTab(
+                    "Legend",
+                    "public/app/plugins/panel/graph/tab_legend.html"
+                  ),
+                  this.addEditorTab(
+                    "Thresholds & Time Regions",
+                    "public/app/plugins/panel/graph/tab_thresholds_time_regions.html"
+                  ),
+                  this.addEditorTab(
+                    "Data links",
+                    "public/app/plugins/panel/graph/tab_drilldown_links.html"
+                  ),
+                  (this.subTabIndex = 0),
+                  (this.hiddenSeriesTainted = !1);
+              },
+            },
+            {
+              key: "onInitPanelActions",
+              value: function (e) {
+                e.push({ text: "Export CSV", click: "ctrl.exportCsv()" }),
+                  e.push({
+                    text: "Toggle legend",
+                    click: "ctrl.toggleLegend()",
+                    shortcut: "p l",
+                  });
+              },
+            },
+            {
+              key: "issueQueries",
+              value: function (e) {
+                var n = this;
+                return (
+                  (this.annotationsPromise = this.annotationsSrv.getAnnotations(
+                    {
+                      dashboard: this.dashboard,
+                      panel: this.panel,
+                      range: this.range,
+                    }
+                  )),
+                  this.annotationsSrv.datasourcePromises.then(function (r) {
+                    return Jn(Zn(t.prototype), "issueQueries", n).call(n, e);
+                  })
+                );
+              },
+            },
+            {
+              key: "zoomOut",
+              value: function (e) {
+                this.publishAppEvent(wt.CoreEvents.zoomOut, 2);
+              },
+            },
+            {
+              key: "onDataSnapshotLoad",
+              value: function (e) {
+                this.annotationsPromise = this.annotationsSrv.getAnnotations({
+                  dashboard: this.dashboard,
+                  panel: this.panel,
+                  range: this.range,
+                });
+                var t = Object(Un.a)(e);
+                this.onDataFramesReceived(t);
+              },
+            },
+            {
+              key: "onDataFramesReceived",
+              value: function (e) {
+                var t = this;
+                if (
+                  ((this.dataList = e),
+                  (this.seriesList = this.processor.getSeriesList({
+                    dataList: this.dataList,
+                    range: this.range,
+                  })),
+                  (this.linkVariableSuggestions = Object(Hn.b)(e)),
+                  (this.dataWarning = null),
+                  0 ===
+                    this.seriesList.reduce(function (e, t) {
+                      return e + t.datapoints.length;
+                    }, 0))
+                )
+                  this.dataWarning = {
+                    title: "No data",
+                    tip: "No data returned from query",
+                  };
+                else {
+                  var n = !0,
+                    r = !1,
+                    a = void 0;
+                  try {
+                    for (
+                      var o, i = this.seriesList[Symbol.iterator]();
+                      !(n = (o = i.next()).done);
+                      n = !0
+                    )
+                      if (o.value.isOutsideRange) {
+                        this.dataWarning = {
+                          title: "Data outside time range",
+                          tip:
+                            "Can be caused by timezone mismatch or missing time filter in query",
+                        };
+                        break;
+                      }
+                  } catch (e) {
+                    (r = !0), (a = e);
+                  } finally {
+                    try {
+                      n || null == i.return || i.return();
+                    } finally {
+                      if (r) throw a;
+                    }
+                  }
+                }
+                this.annotationsPromise.then(
+                  function (e) {
+                    (t.loading = !1),
+                      (t.alertState = e.alertState),
+                      (t.annotations = e.annotations),
+                      t.alertState &&
+                        (t.seriesList.alertState = t.alertState.state),
+                      t.render(t.seriesList);
+                  },
+                  function () {
+                    (t.loading = !1), t.render(t.seriesList);
+                  }
+                );
+              },
+            },
+            {
+              key: "onRender",
+              value: function () {
+                if (this.seriesList) {
+                  var e = !0,
+                    t = !1,
+                    n = void 0;
+                  try {
+                    for (
+                      var r, a = this.seriesList[Symbol.iterator]();
+                      !(e = (r = a.next()).done);
+                      e = !0
+                    ) {
+                      var o = r.value;
+                      o.applySeriesOverrides(this.panel.seriesOverrides),
+                        o.unit &&
+                          (this.panel.yaxes[o.yaxis - 1].format = o.unit),
+                        !1 === this.hiddenSeriesTainted &&
+                          !0 === o.hiddenSeries &&
+                          (this.hiddenSeries[o.alias] = !0);
+                    }
+                  } catch (e) {
+                    (t = !0), (n = e);
+                  } finally {
+                    try {
+                      e || null == a.return || a.return();
+                    } finally {
+                      if (t) throw n;
+                    }
+                  }
+                }
+              },
+            },
+            {
+              key: "onDataLinksChange",
+              value: function (e) {
+                this.panel.updateOptions(
+                  (function (e) {
+                    for (var t = 1; t < arguments.length; t++) {
+                      var n = null != arguments[t] ? arguments[t] : {};
+                      t % 2
+                        ? Wn(Object(n), !0).forEach(function (t) {
+                            Qn(e, t, n[t]);
+                          })
+                        : Object.getOwnPropertyDescriptors
+                        ? Object.defineProperties(
+                            e,
+                            Object.getOwnPropertyDescriptors(n)
+                          )
+                        : Wn(Object(n)).forEach(function (t) {
+                            Object.defineProperty(
+                              e,
+                              t,
+                              Object.getOwnPropertyDescriptor(n, t)
+                            );
+                          });
+                    }
+                    return e;
+                  })({}, this.panel.options, { dataLinks: e })
+                );
+              },
+            },
+            {
+              key: "addSeriesOverride",
+              value: function (e) {
+                this.panel.seriesOverrides.push(e || {});
+              },
+            },
+            {
+              key: "removeSeriesOverride",
+              value: function (e) {
+                (this.panel.seriesOverrides = j.a.without(
+                  this.panel.seriesOverrides,
+                  e
+                )),
+                  this.render();
+              },
+            },
+            {
+              key: "toggleLegend",
+              value: function () {
+                (this.panel.legend.show = !this.panel.legend.show),
+                  this.render();
+              },
+            },
+            {
+              key: "legendValuesOptionChanged",
+              value: function () {
+                var e = this.panel.legend;
+                (e.values = e.min || e.max || e.avg || e.current || e.total),
+                  this.render();
+              },
+            },
+            {
+              key: "exportCsv",
+              value: function () {
+                var e = this,
+                  t = this.$scope.$new(!0);
+                (t.seriesList = this.seriesList
+                  .filter(function (t) {
+                    return !e.panel.legend.hideEmpty || !t.allIsNull;
+                  })
+                  .filter(function (t) {
+                    return !e.panel.legend.hideZero || !t.allIsZero;
+                  })),
+                  this.publishAppEvent(wt.CoreEvents.showModal, {
+                    templateHtml:
+                      '<export-data-modal data="seriesList"></export-data-modal>',
+                    scope: t,
+                    modalClass: "modal--narrow",
+                  });
+              },
+            },
+          ]) && Yn(n.prototype, r),
+          a && Yn(n, a),
+          t
+        );
+      })(S.MetricsPanelCtrl);
+      function tr(e) {
+        return (tr =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function nr(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function rr(e) {
+        return (rr = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function ar(e) {
+        if (void 0 === e)
+          throw new ReferenceError(
+            "this hasn't been initialised - super() hasn't been called"
+          );
+        return e;
+      }
+      function or(e, t) {
+        return (or =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      er.template =
+        '\n<div class="graph-panel" ng-class="{\'graph-panel--legend-right\': ctrl.panel.legend.rightSide}">\n  <div class="graph-panel__chart" grafana-graph ng-dblclick="ctrl.zoomOut()">\n  </div>\n\n  <div class="graph-legend">\n    <div class="graph-legend-content" graph-legend></div>\n  </div>\n  <div ng-if="ctrl.contextMenuCtrl.isVisible">\n    <graph-context-menu\n      items="ctrl.contextMenuCtrl.menuItemsSupplier()"\n      onClose="ctrl.onContextMenuClose"\n      getContextMenuSource="ctrl.contextMenuCtrl.getSource"\n      formatSourceDate="ctrl.formatDate"\n      x="ctrl.contextMenuCtrl.position.x"\n      y="ctrl.contextMenuCtrl.position.y"\n    ></graph-context-menu>\n  </div>\n</div>\n';
+      var ir = (function (e) {
+        function t(e, n, r) {
+          var a, o, i;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            (o = this),
+            (i = rr(t).call(this, e, n)),
+            ((a =
+              !i || ("object" !== tr(i) && "function" != typeof i)
+                ? ar(o)
+                : i).dashboardSrv = r),
+            (a.panelDefaults = {
+              query: "",
+              limit: 10,
+              tags: [],
+              recent: !1,
+              search: !1,
+              starred: !0,
+              headings: !0,
+              folderId: null,
+            }),
+            (a.onFolderChange = function (e) {
+              (a.panel.folderId = e.id), a.refresh();
+            }),
+            j.a.defaults(a.panel, a.panelDefaults),
+            a.panel.tag && ((a.panel.tags = [a.panel.tag]), delete a.panel.tag),
+            a.events.on(Q.PanelEvents.refresh, a.onRefresh.bind(ar(a))),
+            a.events.on(
+              Q.PanelEvents.editModeInitialized,
+              a.onInitEditMode.bind(ar(a))
+            ),
+            (a.groups = [
+              { list: [], show: !1, header: "Starred dashboards" },
+              { list: [], show: !1, header: "Recently viewed dashboards" },
+              { list: [], show: !1, header: "Search" },
+            ]),
+            a.panel.mode &&
+              ("starred" === a.panel.mode &&
+                ((a.panel.starred = !0), (a.panel.headings = !1)),
+              "recently viewed" === a.panel.mode &&
+                ((a.panel.recent = !0),
+                (a.panel.starred = !1),
+                (a.panel.headings = !1)),
+              "search" === a.panel.mode &&
+                ((a.panel.search = !0),
+                (a.panel.starred = !1),
+                (a.panel.headings = !1)),
+              delete a.panel.mode),
+            a
+          );
+        }
+        var n, r, a;
+        return (
+          (t.$inject = ["$scope", "$injector", "dashboardSrv"]),
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && or(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "onInitEditMode",
+              value: function () {
+                (this.modes = ["starred", "search", "recently viewed"]),
+                  this.addEditorTab(
+                    "Options",
+                    "public/app/plugins/panel/dashlist/editor.html"
+                  );
+              },
+            },
+            {
+              key: "onRefresh",
+              value: function () {
+                var e = [];
+                return (
+                  e.push(this.getRecentDashboards()),
+                  e.push(this.getStarred()),
+                  e.push(this.getSearch()),
+                  Promise.all(e).then(this.renderingCompleted.bind(this))
+                );
+              },
+            },
+            {
+              key: "getSearch",
+              value: function () {
+                var e = this;
+                if (
+                  ((this.groups[2].show = this.panel.search),
+                  !this.panel.search)
+                )
+                  return Promise.resolve();
+                var t = {
+                  limit: this.panel.limit,
+                  query: this.panel.query,
+                  tag: this.panel.tags,
+                  folderIds: this.panel.folderId,
+                  type: "dash-db",
+                };
+                return Object(X.a)(this.$scope)(
+                  Z.b.search(t).then(function (t) {
+                    e.groups[2].list = t;
+                  })
+                );
+              },
+            },
+            {
+              key: "getStarred",
+              value: function () {
+                var e = this;
+                if (
+                  ((this.groups[0].show = this.panel.starred),
+                  !this.panel.starred)
+                )
+                  return Promise.resolve();
+                var t = { limit: this.panel.limit, starred: "true" };
+                return Object(X.a)(this.$scope)(
+                  Z.b.search(t).then(function (t) {
+                    e.groups[0].list = t;
+                  })
+                );
+              },
+            },
+            {
+              key: "starDashboard",
+              value: function (e, t) {
+                this.dashboardSrv
+                  .starDashboard(e.id, e.isStarred)
+                  .then(function (t) {
+                    e.isStarred = t;
+                  }),
+                  t && (t.stopPropagation(), t.preventDefault());
+              },
+            },
+            {
+              key: "getRecentDashboards",
+              value: function () {
+                var e = this;
+                if (
+                  ((this.groups[1].show = this.panel.recent),
+                  !this.panel.recent)
+                )
+                  return Promise.resolve();
+                var t = j.a.take(ee.a.getDashboardOpened(), this.panel.limit);
+                return Object(X.a)(this.$scope)(
+                  Z.b
+                    .search({ dashboardIds: t, limit: this.panel.limit })
+                    .then(function (n) {
+                      e.groups[1].list = t
+                        .map(function (e) {
+                          return j.a.find(n, function (t) {
+                            return t.id === e;
+                          });
+                        })
+                        .filter(function (e) {
+                          return void 0 !== e;
+                        });
+                    })
+                );
+              },
+            },
+          ]) && nr(n.prototype, r),
+          a && nr(n, a),
+          t
+        );
+      })(S.PanelCtrl);
+      (ir.templateUrl = "module.html"), (ir.scrollable = !0);
+      var lr = n("AVRW"),
+        sr = n("t8hP");
+      function cr(e) {
+        return (cr =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function ur(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function fr(e) {
+        return (fr = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function dr(e) {
+        if (void 0 === e)
+          throw new ReferenceError(
+            "this hasn't been initialised - super() hasn't been called"
+          );
+        return e;
+      }
+      function pr(e, t) {
+        return (pr =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var hr = (function (e) {
+        function t(e, n, r) {
+          var a, o, i;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            (o = this),
+            ((a =
+              !(i = fr(t).call(this, e, n)) ||
+              ("object" !== cr(i) && "function" != typeof i)
+                ? dr(o)
+                : i).panelDefaults = {}),
+            j.a.defaults(a.panel, a.panelDefaults),
+            (a.isAdmin = r.hasRole("Admin")),
+            a.events.on(
+              Q.PanelEvents.editModeInitialized,
+              a.onInitEditMode.bind(dr(a))
+            ),
+            (a.pluginList = []),
+            (a.viewModel = [
+              { header: "Installed Apps", list: [], type: "app" },
+              { header: "Installed Panels", list: [], type: "panel" },
+              { header: "Installed Datasources", list: [], type: "datasource" },
+            ]),
+            a.update(),
+            a
+          );
+        }
+        var n, r, a;
+        return (
+          (t.$inject = ["$scope", "$injector", "contextSrv"]),
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && pr(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "onInitEditMode",
+              value: function () {
+                this.addEditorTab(
+                  "Options",
+                  "public/app/plugins/panel/pluginlist/editor.html"
+                );
+              },
+            },
+            {
+              key: "gotoPlugin",
+              value: function (e, t) {
+                t && t.stopPropagation(),
+                  this.$location.url("plugins/".concat(e.id, "/edit"));
+              },
+            },
+            {
+              key: "updateAvailable",
+              value: function (e, t) {
+                t.stopPropagation(), t.preventDefault();
+                var n = this.$scope.$new(!0);
+                (n.plugin = e),
+                  this.publishAppEvent(wt.CoreEvents.showModal, {
+                    src:
+                      "public/app/features/plugins/partials/update_instructions.html",
+                    scope: n,
+                  });
+              },
+            },
+            {
+              key: "update",
+              value: function () {
+                var e = this;
+                Object(X.a)(this.$scope)(
+                  Object(sr.getBackendSrv)()
+                    .get("api/plugins", { embedded: 0, core: 0 })
+                    .then(function (t) {
+                      (e.pluginList = t),
+                        (e.viewModel[0].list = j.a.filter(t, { type: "app" })),
+                        (e.viewModel[1].list = j.a.filter(t, {
+                          type: "panel",
+                        })),
+                        (e.viewModel[2].list = j.a.filter(t, {
+                          type: "datasource",
+                        }));
+                      var n = !0,
+                        r = !1,
+                        a = void 0;
+                      try {
+                        for (
+                          var o, i = e.pluginList[Symbol.iterator]();
+                          !(n = (o = i.next()).done);
+                          n = !0
+                        ) {
+                          var l = o.value;
+                          l.hasUpdate
+                            ? (l.state = "has-update")
+                            : l.enabled || (l.state = "not-enabled");
+                        }
+                      } catch (e) {
+                        (r = !0), (a = e);
+                      } finally {
+                        try {
+                          n || null == i.return || i.return();
+                        } finally {
+                          if (r) throw a;
+                        }
+                      }
+                    })
+                );
+              },
+            },
+          ]) && ur(n.prototype, r),
+          a && ur(n, a),
+          t
+        );
+      })(lr.a);
+      (hr.templateUrl = "module.html"), (hr.scrollable = !0);
+      var mr = n("3ulR");
+      function gr(e) {
+        return (gr =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function br(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function vr(e) {
+        return (vr = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function yr(e) {
+        if (void 0 === e)
+          throw new ReferenceError(
+            "this hasn't been initialised - super() hasn't been called"
+          );
+        return e;
+      }
+      function wr(e, t) {
+        return (wr =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Or = (function (e) {
+        function t(e, n) {
+          var r, a, o;
+          for (var i in ((function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, t),
+          (a = this),
+          (o = vr(t).call(this, e, n)),
+          ((r =
+            !o || ("object" !== gr(o) && "function" != typeof o)
+              ? yr(a)
+              : o).showOptions = [
+            { text: "Current state", value: "current" },
+            { text: "Recent state changes", value: "changes" },
+          ]),
+          (r.sortOrderOptions = [
+            { text: "Alphabetical (asc)", value: 1 },
+            { text: "Alphabetical (desc)", value: 2 },
+            { text: "Importance", value: 3 },
+          ]),
+          (r.stateFilter = {}),
+          (r.currentAlerts = []),
+          (r.alertHistory = []),
+          (r.panelDefaults = {
+            show: "current",
+            limit: 10,
+            stateFilter: [],
+            onlyAlertsOnDashboard: !1,
+            sortOrder: 1,
+            dashboardFilter: "",
+            nameFilter: "",
+            folderId: null,
+          }),
+          (r.onFolderChange = function (e) {
+            (r.panel.folderId = e.id), r.refresh();
+          }),
+          j.a.defaults(r.panel, r.panelDefaults),
+          r.events.on(
+            Q.PanelEvents.editModeInitialized,
+            r.onInitEditMode.bind(yr(r))
+          ),
+          r.events.on(Q.PanelEvents.refresh, r.onRefresh.bind(yr(r))),
+          (r.templateSrv = r.$injector.get("templateSrv")),
+          r.panel.stateFilter))
+            r.stateFilter[r.panel.stateFilter[i]] = !0;
+          return r;
+        }
+        var n, r, a;
+        return (
+          (t.$inject = ["$scope", "$injector"]),
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && wr(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "sortResult",
+              value: function (e) {
+                if (3 === this.panel.sortOrder)
+                  return j.a.sortBy(e, function (e) {
+                    return mr.a.alertStateSortScore[e.state];
+                  });
+                var t = j.a.sortBy(e, function (e) {
+                  return e.name.toLowerCase();
+                });
+                return 2 === this.panel.sortOrder && t.reverse(), t;
+              },
+            },
+            {
+              key: "updateStateFilter",
+              value: function () {
+                var e = [];
+                for (var t in this.stateFilter)
+                  this.stateFilter[t] && e.push(t);
+                (this.panel.stateFilter = e), this.onRefresh();
+              },
+            },
+            {
+              key: "onRefresh",
+              value: function () {
+                var e,
+                  t = this;
+                "current" === this.panel.show &&
+                  (e = this.getCurrentAlertState()),
+                  "changes" === this.panel.show && (e = this.getStateChanges()),
+                  e.then(function () {
+                    t.renderingCompleted();
+                  });
+              },
+            },
+            {
+              key: "getStateChanges",
+              value: function () {
+                var e = this,
+                  t = {
+                    limit: this.panel.limit,
+                    type: "alert",
+                    newState: this.panel.stateFilter,
+                  };
+                return (
+                  this.panel.onlyAlertsOnDashboard &&
+                    (t.dashboardId = this.dashboard.id),
+                  (t.from =
+                    1e3 * Q.dateMath.parse(this.dashboard.time.from).unix()),
+                  (t.to =
+                    1e3 * Q.dateMath.parse(this.dashboard.time.to).unix()),
+                  Object(X.a)(this.$scope)(
+                    Object(sr.getBackendSrv)()
+                      .get(
+                        "/api/annotations",
+                        t,
+                        "alert-list-get-state-changes-".concat(this.panel.id)
+                      )
+                      .then(function (t) {
+                        return (
+                          (e.alertHistory = j.a.map(t, function (t) {
+                            return (
+                              (t.time = e.dashboard.formatDate(
+                                t.time,
+                                "MMM D, YYYY HH:mm:ss"
+                              )),
+                              (t.stateModel = mr.a.getStateDisplayModel(
+                                t.newState
+                              )),
+                              (t.info = mr.a.getAlertAnnotationInfo(t)),
+                              t
+                            );
+                          })),
+                          (e.noAlertsMessage =
+                            0 === e.alertHistory.length
+                              ? "No alerts in current time range"
+                              : ""),
+                          e.alertHistory
+                        );
+                      })
+                  )
+                );
+              },
+            },
+            {
+              key: "getCurrentAlertState",
+              value: function () {
+                var e = this,
+                  t = { state: this.panel.stateFilter };
+                return (
+                  this.panel.nameFilter &&
+                    (t.query = this.templateSrv.replace(
+                      this.panel.nameFilter,
+                      this.panel.scopedVars
+                    )),
+                  this.panel.folderId >= 0 &&
+                    (t.folderId = this.panel.folderId),
+                  this.panel.dashboardFilter &&
+                    (t.dashboardQuery = this.panel.dashboardFilter),
+                  this.panel.onlyAlertsOnDashboard &&
+                    (t.dashboardId = this.dashboard.id),
+                  this.panel.dashboardTags &&
+                    (t.dashboardTag = this.panel.dashboardTags),
+                  Object(X.a)(this.$scope)(
+                    Object(sr.getBackendSrv)()
+                      .get(
+                        "/api/alerts",
+                        t,
+                        "alert-list-get-current-alert-state-".concat(
+                          this.panel.id
+                        )
+                      )
+                      .then(function (t) {
+                        return (
+                          (e.currentAlerts = e.sortResult(
+                            j.a.map(t, function (e) {
+                              return (
+                                (e.stateModel = mr.a.getStateDisplayModel(
+                                  e.state
+                                )),
+                                (e.newStateDateAgo = Object(Q.dateTime)(
+                                  e.newStateDate
+                                )
+                                  .locale("en")
+                                  .fromNow(!0)),
+                                e
+                              );
+                            })
+                          )),
+                          e.currentAlerts.length > e.panel.limit &&
+                            (e.currentAlerts = e.currentAlerts.slice(
+                              0,
+                              e.panel.limit
+                            )),
+                          (e.noAlertsMessage =
+                            0 === e.currentAlerts.length ? "No alerts" : ""),
+                          e.currentAlerts
+                        );
+                      })
+                  )
+                );
+              },
+            },
+            {
+              key: "onInitEditMode",
+              value: function () {
+                this.addEditorTab(
+                  "Options",
+                  "public/app/plugins/panel/alertlist/editor.html"
+                );
+              },
+            },
+          ]) && br(n.prototype, r),
+          a && br(n, a),
+          t
+        );
+      })(S.PanelCtrl);
+      (Or.templateUrl = "module.html"), (Or.scrollable = !0);
+      var xr = n("lonE"),
+        kr = n("rCnR"),
+        jr = n("p+Sq"),
+        Sr = n("Xmxp"),
+        Er = n("3SGO"),
+        Cr = n("iODs"),
+        Pr = n("kDDq");
+      function Tr(e) {
+        return (Tr =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Dr(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function Ar() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })(["\n                margin-right: 8px;\n              "]);
+        return (
+          (Ar = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function _r(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function Nr(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Mr(e, t) {
+        return !t || ("object" !== Tr(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Ir(e) {
+        return (Ir = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Rr(e, t) {
+        return (Rr =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Fr = (function (e) {
+        function t(e) {
+          var n;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            ((n = Mr(this, Ir(t).call(this, e))).onAnnoClick = function (e, t) {
+              e.stopPropagation();
+              var r = n.props.options,
+                a = Object(jr.a)().getCurrent(),
+                o = {
+                  from: n._timeOffset(t.time, r.navigateBefore, !0),
+                  to: n._timeOffset(t.time, r.navigateAfter, !1),
+                };
+              r.navigateToPanel &&
+                ((o.panelId = t.panelId), (o.fullscreen = !0)),
+                a.id !== t.dashboardId
+                  ? Object(sr.getBackendSrv)()
+                      .get("/api/search", { dashboardIds: t.dashboardId })
+                      .then(function (e) {
+                        if (e && e.length && e[0].id === t.dashboardId) {
+                          var n = e[0];
+                          Cr.d.dispatch(
+                            Object(Er.c)({ query: o, path: n.url })
+                          );
+                        } else Sr.b.emit(Q.AppEvents.alertWarning, ["Unknown Dashboard: " + t.dashboardId]);
+                      })
+                  : Cr.d.dispatch(Object(Er.c)({ query: o, partial: !0 }));
+            }),
+            (n.onTagClick = function (e, t, r) {
+              e.stopPropagation();
+              var a = r
+                ? n.state.queryTags.filter(function (e) {
+                    return e !== t;
+                  })
+                : [].concat(_r(n.state.queryTags), [t]);
+              n.setState({ queryTags: a });
+            }),
+            (n.onUserClick = function (e, t) {
+              e.stopPropagation(),
+                n.setState({
+                  queryUser: { id: t.userId, login: t.login, email: t.email },
+                });
+            }),
+            (n.onClearUser = function () {
+              n.setState({ queryUser: void 0 });
+            }),
+            (n.renderTags = function (e, t) {
+              return e && e.length
+                ? V.a.createElement(
+                    V.a.Fragment,
+                    null,
+                    e.map(function (e) {
+                      return V.a.createElement(
+                        "span",
+                        {
+                          key: e,
+                          onClick: function (r) {
+                            return n.onTagClick(r, e, t);
+                          },
+                          className: "pointer",
+                        },
+                        V.a.createElement(kr.a, {
+                          label: e,
+                          removeIcon: t,
+                          count: 0,
+                        })
+                      );
+                    })
+                  )
+                : null;
+            }),
+            (n.renderItem = function (e, t) {
+              var r = n.props.options,
+                a = r.showUser,
+                o = r.showTags,
+                i = r.showTime,
+                l = Object(jr.a)().getCurrent();
+              return V.a.createElement(
+                "div",
+                { className: "dashlist-item" },
+                V.a.createElement(
+                  "span",
+                  {
+                    className: "dashlist-link pointer",
+                    onClick: function (t) {
+                      n.onAnnoClick(t, e);
+                    },
+                  },
+                  V.a.createElement(
+                    "span",
+                    {
+                      className: Object(Pr.cx)([
+                        "dashlist-title",
+                        Object(Pr.css)(Ar()),
+                      ]),
+                    },
+                    e.text
+                  ),
+                  V.a.createElement(
+                    "span",
+                    { className: "pluginlist-message" },
+                    e.login &&
+                      a &&
+                      V.a.createElement(
+                        "span",
+                        { className: "graph-annotation" },
+                        V.a.createElement(
+                          se.Tooltip,
+                          {
+                            content: V.a.createElement(
+                              "span",
+                              null,
+                              "Created by:",
+                              V.a.createElement("br", null),
+                              " ",
+                              e.email
+                            ),
+                            theme: "info",
+                            placement: "top",
+                          },
+                          V.a.createElement(
+                            "span",
+                            {
+                              onClick: function (t) {
+                                return n.onUserClick(t, e);
+                              },
+                              className: "graph-annotation__user",
+                            },
+                            V.a.createElement("img", { src: e.avatarUrl })
+                          )
+                        )
+                      ),
+                    o && n.renderTags(e.tags, !1)
+                  ),
+                  V.a.createElement(
+                    "span",
+                    { className: "pluginlist-version" },
+                    i && V.a.createElement("span", null, l.formatDate(e.time))
+                  )
+                )
+              );
+            }),
+            (n.state = {
+              annotations: [],
+              timeInfo: "",
+              loaded: !1,
+              queryTags: [],
+            }),
+            n
+          );
+        }
+        var n, r, a, o, i;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && Rr(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "componentDidMount",
+              value: function () {
+                this.doSearch();
+              },
+            },
+            {
+              key: "componentDidUpdate",
+              value: function (e, t) {
+                var n = this.props,
+                  r = n.options,
+                  a = n.timeRange;
+                (r !== e.options ||
+                  this.state.queryTags !== t.queryTags ||
+                  this.state.queryUser !== t.queryUser ||
+                  a !== e.timeRange) &&
+                  this.doSearch();
+              },
+            },
+            {
+              key: "doSearch",
+              value:
+                ((o = regeneratorRuntime.mark(function e() {
+                  var t, n, r, a, o, i, l, s;
+                  return regeneratorRuntime.wrap(
+                    function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            return (
+                              (t = this.props.options),
+                              (n = this.state),
+                              (r = n.queryUser),
+                              (a = n.queryTags),
+                              (o = {
+                                tags: t.tags,
+                                limit: t.limit,
+                                type: "annotation",
+                              }),
+                              t.onlyFromThisDashboard &&
+                                (o.dashboardId = Object(
+                                  jr.a
+                                )().getCurrent().id),
+                              (i = ""),
+                              t.onlyInTimeRange
+                                ? ((l = this.props.timeRange),
+                                  (o.from = l.from.valueOf()),
+                                  (o.to = l.to.valueOf()))
+                                : (i = "All Time"),
+                              r && (o.userId = r.id),
+                              t.tags && t.tags.length && (o.tags = t.tags),
+                              a.length &&
+                                (o.tags = o.tags
+                                  ? [].concat(_r(o.tags), _r(a))
+                                  : a),
+                              (e.next = 11),
+                              Object(sr.getBackendSrv)().get(
+                                "/api/annotations",
+                                o,
+                                "anno-list-panel-".concat(this.props.id)
+                              )
+                            );
+                          case 11:
+                            (s = e.sent),
+                              this.setState({
+                                annotations: s,
+                                timeInfo: i,
+                                loaded: !0,
+                              });
+                          case 13:
+                          case "end":
+                            return e.stop();
+                        }
+                    },
+                    e,
+                    this
+                  );
+                })),
+                (i = function () {
+                  var e = this,
+                    t = arguments;
+                  return new Promise(function (n, r) {
+                    var a = o.apply(e, t);
+                    function i(e) {
+                      Dr(a, n, r, i, l, "next", e);
+                    }
+                    function l(e) {
+                      Dr(a, n, r, i, l, "throw", e);
+                    }
+                    i(void 0);
+                  });
+                }),
+                function () {
+                  return i.apply(this, arguments);
+                }),
+            },
+            {
+              key: "_timeOffset",
+              value: function (e, t) {
+                var n =
+                    arguments.length > 2 &&
+                    void 0 !== arguments[2] &&
+                    arguments[2],
+                  r = 5,
+                  a = "m",
+                  o = /^(\d+)(\w)/.exec(t);
+                o && 3 === o.length && ((r = parseInt(o[1], 10)), (a = o[2]));
+                var i = Object(Q.dateTime)(e);
+                return n && (r *= -1), i.add(r, a).valueOf();
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this.props.height,
+                  t = this.state,
+                  n = t.loaded,
+                  r = t.annotations,
+                  a = t.queryUser,
+                  o = t.queryTags;
+                if (!n) return V.a.createElement("div", null, "loading...");
+                var i = a || o.length > 0;
+                return V.a.createElement(
+                  "div",
+                  { style: { height: e, overflow: "scroll" } },
+                  i &&
+                    V.a.createElement(
+                      "div",
+                      null,
+                      V.a.createElement("b", null, "Filter:   "),
+                      a &&
+                        V.a.createElement(
+                          "span",
+                          { onClick: this.onClearUser, className: "pointer" },
+                          a.email
+                        ),
+                      o.length > 0 && this.renderTags(o, !0)
+                    ),
+                  r.length < 1 &&
+                    V.a.createElement(
+                      "div",
+                      { className: "panel-alert-list__no-alerts" },
+                      "No Annotations Found"
+                    ),
+                  V.a.createElement(xr.a, {
+                    items: r,
+                    renderItem: this.renderItem,
+                    getItemKey: function (e) {
+                      return e.id + "";
+                    },
+                    className: "dashlist",
+                  })
+                );
+              },
+            },
+          ]) && Nr(n.prototype, r),
+          a && Nr(n, a),
+          t
+        );
+      })(L.PureComponent);
+      function Lr(e) {
+        return (Lr =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Vr(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function Br(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function $r(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? Br(Object(n), !0).forEach(function (t) {
+                qr(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : Br(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function qr(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Ur(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function zr(e, t) {
+        return !t || ("object" !== Lr(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Hr(e) {
+        return (Hr = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Gr(e, t) {
+        return (Gr =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Wr = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = zr(
+                this,
+                Hr(t).call(this, e)
+              )).onToggleShowUser = function () {
+                return n.props.onOptionsChange(
+                  $r({}, n.props.options, {
+                    showUser: !n.props.options.showUser,
+                  })
+                );
+              }),
+              (n.onToggleShowTime = function () {
+                return n.props.onOptionsChange(
+                  $r({}, n.props.options, {
+                    showTime: !n.props.options.showTime,
+                  })
+                );
+              }),
+              (n.onToggleShowTags = function () {
+                return n.props.onOptionsChange(
+                  $r({}, n.props.options, {
+                    showTags: !n.props.options.showTags,
+                  })
+                );
+              }),
+              (n.onNavigateBeforeChange = function (e) {
+                n.props.onOptionsChange(
+                  $r({}, n.props.options, { navigateBefore: e.target.value })
+                );
+              }),
+              (n.onNavigateAfterChange = function (e) {
+                n.props.onOptionsChange(
+                  $r({}, n.props.options, { navigateAfter: e.target.value })
+                );
+              }),
+              (n.onToggleNavigateToPanel = function () {
+                return n.props.onOptionsChange(
+                  $r({}, n.props.options, {
+                    navigateToPanel: !n.props.options.navigateToPanel,
+                  })
+                );
+              }),
+              (n.onLimitChange = function (e) {
+                var t = Object(Q.toIntegerOrUndefined)(e.target.value);
+                n.props.onOptionsChange($r({}, n.props.options, { limit: t }));
+              }),
+              (n.onToggleOnlyFromThisDashboard = function () {
+                return n.props.onOptionsChange(
+                  $r({}, n.props.options, {
+                    onlyFromThisDashboard: !n.props.options
+                      .onlyFromThisDashboard,
+                  })
+                );
+              }),
+              (n.onToggleOnlyInTimeRange = function () {
+                return n.props.onOptionsChange(
+                  $r({}, n.props.options, {
+                    onlyInTimeRange: !n.props.options.onlyInTimeRange,
+                  })
+                );
+              }),
+              (n.onTagTextChange = function (e) {
+                n.setState({ tag: e.target.value });
+              }),
+              (n.onTagClick = function (e, t) {
+                e.stopPropagation();
+                var r = n.props.options.tags.filter(function (e) {
+                  return e !== t;
+                });
+                n.props.onOptionsChange($r({}, n.props.options, { tags: r }));
+              }),
+              (n.renderTags = function (e) {
+                return e && e.length
+                  ? V.a.createElement(
+                      V.a.Fragment,
+                      null,
+                      e.map(function (e) {
+                        return V.a.createElement(
+                          "span",
+                          {
+                            key: e,
+                            onClick: function (t) {
+                              return n.onTagClick(t, e);
+                            },
+                            className: "pointer",
+                          },
+                          V.a.createElement(kr.a, {
+                            label: e,
+                            removeIcon: !0,
+                            count: 0,
+                          })
+                        );
+                      })
+                    )
+                  : null;
+              }),
+              (n.state = { tag: "" }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Gr(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this,
+                    t = this.props.options;
+                  return V.a.createElement(
+                    se.PanelOptionsGrid,
+                    null,
+                    V.a.createElement(
+                      se.PanelOptionsGroup,
+                      { title: "Display" },
+                      V.a.createElement(se.Switch, {
+                        label: "Show User",
+                        labelClass: "width-".concat(8),
+                        checked: t.showUser,
+                        onChange: this.onToggleShowUser,
+                      }),
+                      V.a.createElement(se.Switch, {
+                        label: "Show Time",
+                        labelClass: "width-".concat(8),
+                        checked: t.showTime,
+                        onChange: this.onToggleShowTime,
+                      }),
+                      V.a.createElement(se.Switch, {
+                        label: "Show Tags",
+                        labelClass: "width-".concat(8),
+                        checked: t.showTags,
+                        onChange: this.onToggleShowTags,
+                      })
+                    ),
+                    V.a.createElement(
+                      se.PanelOptionsGroup,
+                      { title: "Navigate" },
+                      V.a.createElement(se.FormField, {
+                        label: "Before",
+                        labelWidth: 8,
+                        onChange: this.onNavigateBeforeChange,
+                        value: t.navigateBefore,
+                      }),
+                      V.a.createElement(se.FormField, {
+                        label: "After",
+                        labelWidth: 8,
+                        onChange: this.onNavigateAfterChange,
+                        value: t.navigateAfter,
+                      }),
+                      V.a.createElement(se.Switch, {
+                        label: "To Panel",
+                        labelClass: "width-".concat(8),
+                        checked: t.navigateToPanel,
+                        onChange: this.onToggleNavigateToPanel,
+                      })
+                    ),
+                    V.a.createElement(
+                      se.PanelOptionsGroup,
+                      { title: "Search" },
+                      V.a.createElement(se.Switch, {
+                        label: "Only This Dashboard",
+                        labelClass: "width-12",
+                        checked: t.onlyFromThisDashboard,
+                        onChange: this.onToggleOnlyFromThisDashboard,
+                      }),
+                      V.a.createElement(se.Switch, {
+                        label: "Within Time Range",
+                        labelClass: "width-12",
+                        checked: t.onlyInTimeRange,
+                        onChange: this.onToggleOnlyInTimeRange,
+                      }),
+                      V.a.createElement(
+                        "div",
+                        { className: "form-field" },
+                        V.a.createElement(se.FormLabel, { width: 6 }, "Tags"),
+                        this.renderTags(t.tags),
+                        V.a.createElement("input", {
+                          type: "text",
+                          className: "gf-form-input width-".concat(8),
+                          value: this.state.tag,
+                          onChange: this.onTagTextChange,
+                          onKeyPress: function (n) {
+                            if (e.state.tag && "Enter" === n.key) {
+                              var r = [].concat(Vr(t.tags), [e.state.tag]);
+                              e.props.onOptionsChange(
+                                $r({}, e.props.options, { tags: r })
+                              ),
+                                e.setState({ tag: "" }),
+                                n.preventDefault();
+                            }
+                          },
+                        })
+                      ),
+                      V.a.createElement(se.FormField, {
+                        label: "Limit",
+                        labelWidth: 6,
+                        onChange: this.onLimitChange,
+                        value: Object(Q.toNumberString)(t.limit),
+                        type: "number",
+                      })
+                    )
+                  );
+                },
+              },
+            ]) && Ur(n.prototype, r),
+            a && Ur(n, a),
+            t
+          );
+        })(L.PureComponent),
+        Qr = new Q.PanelPlugin(Fr)
+          .setDefaults({
+            limit: 10,
+            tags: [],
+            onlyFromThisDashboard: !1,
+            onlyInTimeRange: !1,
+            showTags: !0,
+            showUser: !0,
+            showTime: !0,
+            navigateBefore: "10m",
+            navigateAfter: "10m",
+            navigateToPanel: !0,
+          })
+          .setEditor(Wr)
+          .setPanelChangeHandler(function (e, t, n) {
+            return "ryantxu-annolist-panel" === t ? n : e;
+          }),
+        Yr = n("VphZ"),
+        Kr = n("oetV");
+      function Jr(e, t, n) {
+        var r =
+            arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0,
+          a = Kr[e.value],
+          o = "always" === e.invert || e.invert === (t ? "light" : "dark"),
+          i = o ? n : r,
+          l = o ? r : n;
+        return Yr.scaleSequential(a).domain([i, l]);
+      }
+      function Zr(e, t) {
+        var n,
+          r =
+            arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0;
+        return (
+          "linear" === e.colorScale
+            ? (n = Yr.scaleLinear().domain([r, t]).range([0, 1]))
+            : "sqrt" === e.colorScale &&
+              (n = Yr.scalePow()
+                .exponent(e.exponent)
+                .domain([r, t])
+                .range([0, 1])),
+          n
+        );
+      }
+      function Xr(e, t, n, r, a, o, i) {
+        var l = _()(e).find("svg"),
+          s = Yr.select(l.get(0));
+        if (!(o <= 0 || 0 === l.get(0).childNodes.length)) {
+          var c = Yr.scaleLinear().domain([t, n]).range([0, o]),
+            u = (function (e, t, n, r) {
+              for (
+                var a = t - e,
+                  o = Object(J.tickStep)(e, t, 3),
+                  i = Math.ceil(a / o),
+                  l = (function (e, t) {
+                    if (e < 0) return Math.floor(e / t) * t;
+                    return 0;
+                  })(e, o),
+                  s = [],
+                  c = 0;
+                c < i;
+                c++
+              ) {
+                var u = l + o * c;
+                ta(r, u, o)
+                  ? s.push(r)
+                  : (r < u && s.push(r),
+                    ta(n, u, o) ? s.push(n) : (n < u && s.push(n), s.push(u)));
+              }
+              ta(n, t, o) || s.push(n);
+              return s.push(t), (s = j.a.sortBy(j.a.uniq(s)));
+            })(t, n, r, a),
+            f = Yr.axisBottom(c).tickValues(u).tickSize(0),
+            d = l.find(":first-child"),
+            p =
+              (function (e) {
+                var t = e.get(0);
+                return t && t.height && t.height.baseVal
+                  ? t.height.baseVal.value
+                  : 0;
+              })(l) + 0,
+            h =
+              (function (e) {
+                var t = e.get(0);
+                return t && t.x && t.x.baseVal ? t.x.baseVal.value : 0;
+              })(d) + 10;
+          Yr.select(l.get(0))
+            .append("g")
+            .attr("class", "axis")
+            .attr("transform", "translate(" + h + "," + p + ")")
+            .call(f),
+            s.select(".axis").select(".domain").remove();
+        }
+      }
+      function ea(e) {
+        _()(e).find("svg").empty();
+      }
+      function ta(e, t, n) {
+        return Math.abs(e - t) < 0.3 * n;
+      }
+      function na(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      Tn.c.directive("colorLegend", function () {
+        return {
+          restrict: "E",
+          template:
+            '<div class="heatmap-color-legend"><svg width="16.5rem" height="24px"></svg></div>',
+          link: function (e, t, n) {
+            var r = e.ctrl,
+              a = e.ctrl.panel;
+            function o() {
+              var e = _()(t).find("svg"),
+                n = Math.floor(e.outerWidth());
+              if ("spectrum" === a.color.mode) {
+                var o = Jr(
+                  j.a.find(r.colorSchemes, { value: a.color.colorScheme }),
+                  W.b.user.lightTheme,
+                  n
+                );
+                !(function (e, t) {
+                  var n = _()(e).find("svg");
+                  ea(e);
+                  var r = Math.floor(n.outerWidth()),
+                    a = n.attr("height");
+                  if (r) {
+                    var o = Math.floor(r / 2),
+                      i = Math.floor(r / o),
+                      l = Yr.range(0, r, i);
+                    Yr.select(n.get(0))
+                      .selectAll(".heatmap-color-legend-rect")
+                      .data(l)
+                      .enter()
+                      .append("rect")
+                      .attr("x", function (e) {
+                        return e;
+                      })
+                      .attr("y", 0)
+                      .attr("width", i + 1)
+                      .attr("height", a)
+                      .attr("stroke-width", 0)
+                      .attr("fill", function (e) {
+                        return t(e);
+                      });
+                  }
+                })(t, o);
+              } else if ("opacity" === a.color.mode) {
+                var i = a.color;
+                !(function (e, t) {
+                  var n = _()(e).find("svg");
+                  ea(e);
+                  var r = Yr.select(n.get(0)),
+                    a = Math.floor(n.outerWidth()),
+                    o = n.attr("height");
+                  if (a) {
+                    var i;
+                    "linear" === t.colorScale
+                      ? (i = Yr.scaleLinear().domain([0, a]).range([0, 1]))
+                      : "sqrt" === t.colorScale &&
+                        (i = Yr.scalePow()
+                          .exponent(t.exponent)
+                          .domain([0, a])
+                          .range([0, 1]));
+                    var l = Yr.range(0, a, 10);
+                    r.selectAll(".heatmap-opacity-legend-rect")
+                      .data(l)
+                      .enter()
+                      .append("rect")
+                      .attr("x", function (e) {
+                        return e;
+                      })
+                      .attr("y", 0)
+                      .attr("width", 10)
+                      .attr("height", o)
+                      .attr("stroke-width", 0)
+                      .attr(
+                        "fill",
+                        Object(Q.getColorFromHexRgbOrName)(
+                          t.cardColor,
+                          W.b.user.lightTheme
+                            ? Q.GrafanaThemeType.Light
+                            : Q.GrafanaThemeType.Dark
+                        )
+                      )
+                      .style("opacity", function (e) {
+                        return i(e);
+                      });
+                  }
+                })(t, i);
+              }
+            }
+            o(),
+              r.events.on(Q.PanelEvents.render, function () {
+                o();
+              });
+          },
+        };
+      }),
+        Tn.c.directive("heatmapLegend", function () {
+          return {
+            restrict: "E",
+            template: '<div class="heatmap-color-legend"><svg width="'
+              .concat(100, 'px" height="')
+              .concat(6, 'px"></svg></div>'),
+            link: function (e, t, n) {
+              var r = e.ctrl,
+                a = e.ctrl.panel;
+              function o() {
+                if (
+                  (ea(t), !j.a.isEmpty(r.data) && !j.a.isEmpty(r.data.cards))
+                ) {
+                  var e = r.data.cardStats,
+                    n = j.a.isNil(a.color.min)
+                      ? Math.min(e.min, 0)
+                      : a.color.min,
+                    o = j.a.isNil(a.color.max) ? e.max : a.color.max,
+                    i = e.max,
+                    l = e.min;
+                  if ("spectrum" === a.color.mode) {
+                    var s = j.a.find(r.colorSchemes, {
+                      value: a.color.colorScheme,
+                    });
+                    !(function (e, t, n, r, a, o) {
+                      var i = _()(e).find("svg"),
+                        l = Yr.select(i.get(0));
+                      ea(e);
+                      var s = Math.floor(i.outerWidth()) - 30,
+                        c = i.attr("height"),
+                        u = ((r - n) / s) * 10,
+                        f = s / (r - n),
+                        d = Yr.range(n, r, u),
+                        p = Jr(t, W.b.user.lightTheme, r, n);
+                      l
+                        .append("g")
+                        .attr("class", "legend-color-bar")
+                        .attr("transform", "translate(10,0)")
+                        .selectAll(".heatmap-color-legend-rect")
+                        .data(d)
+                        .enter()
+                        .append("rect")
+                        .attr("x", function (e) {
+                          return Math.round((e - n) * f);
+                        })
+                        .attr("y", 0)
+                        .attr("width", Math.round(u * f + 1))
+                        .attr("height", c)
+                        .attr("stroke-width", 0)
+                        .attr("fill", function (e) {
+                          return p(e);
+                        }),
+                        Xr(e, n, r, a, o, s, d);
+                    })(t, s, n, o, i, l);
+                  } else if ("opacity" === a.color.mode) {
+                    var c = a.color;
+                    !(function (e, t, n, r, a, o) {
+                      var i = _()(e).find("svg"),
+                        l = Yr.select(i.get(0));
+                      ea(e);
+                      var s = Math.floor(i.outerWidth()) - 30,
+                        c = i.attr("height"),
+                        u = ((r - n) / s) * 10,
+                        f = s / (r - n),
+                        d = Yr.range(n, r, u),
+                        p = Zr(t, r, n);
+                      l
+                        .append("g")
+                        .attr("class", "legend-color-bar")
+                        .attr("transform", "translate(10,0)")
+                        .selectAll(".heatmap-opacity-legend-rect")
+                        .data(d)
+                        .enter()
+                        .append("rect")
+                        .attr("x", function (e) {
+                          return Math.round((e - n) * f);
+                        })
+                        .attr("y", 0)
+                        .attr("width", Math.round(u * f))
+                        .attr("height", c)
+                        .attr("stroke-width", 0)
+                        .attr("fill", t.cardColor)
+                        .style("opacity", function (e) {
+                          return p(e);
+                        }),
+                        Xr(e, n, r, a, o, s, d);
+                    })(t, c, n, o, i, l);
+                  }
+                }
+              }
+              o(),
+                r.events.on(Q.PanelEvents.render, function () {
+                  o();
+                });
+            },
+          };
+        });
+      var ra = (function () {
+        function e(t, n) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (t.editor = this),
+            (this.panelCtrl = t.ctrl),
+            (this.panel = this.panelCtrl.panel),
+            (this.unitFormats = E.a.getUnitFormats()),
+            (this.logScales = {
+              linear: 1,
+              "log (base 2)": 2,
+              "log (base 10)": 10,
+              "log (base 32)": 32,
+              "log (base 1024)": 1024,
+            }),
+            (this.dataFormats = {
+              "Time series": "timeseries",
+              "Time series buckets": "tsbuckets",
+            }),
+            (this.yBucketBoundModes = {
+              Auto: "auto",
+              Upper: "upper",
+              Lower: "lower",
+              Middle: "middle",
+            });
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$scope", "uiSegmentSrv"]),
+          (t = e),
+          (n = [
+            {
+              key: "setUnitFormat",
+              value: function (e) {
+                (this.panel.yAxis.format = e.value), this.panelCtrl.render();
+              },
+            },
+          ]) && na(t.prototype, n),
+          r && na(t, r),
+          e
+        );
+      })();
+      function aa() {
+        return {
+          restrict: "E",
+          scope: !0,
+          templateUrl:
+            "public/app/plugins/panel/heatmap/partials/axes_editor.html",
+          controller: ra,
+        };
+      }
+      var oa = function e(t) {
+        !(function (e, t) {
+          if (!(e instanceof t))
+            throw new TypeError("Cannot call a class as a function");
+        })(this, e),
+          (t.editor = this),
+          (this.panelCtrl = t.ctrl),
+          (this.panel = this.panelCtrl.panel),
+          this.panelCtrl.render();
+      };
+      function ia() {
+        return {
+          restrict: "E",
+          scope: !0,
+          templateUrl:
+            "public/app/plugins/panel/heatmap/partials/display_editor.html",
+          controller: oa,
+        };
+      }
+      oa.$inject = ["$scope"];
+      function la(e, t) {
+        var n, r;
+        try {
+          (n = sa(e.label)), (r = sa(t.label));
+        } catch (e) {
+          return console.log(e.message || e), 0;
+        }
+        return n > r ? 1 : n < r ? -1 : 0;
+      }
+      function sa(e) {
+        if ("+Inf" === e || "inf" === e) return 1 / 0;
+        var t = Number(e);
+        if (isNaN(t))
+          throw new Error(
+            "Error parsing histogram label: ".concat(e, " is not a number")
+          );
+        return t;
+      }
+      function ca(e) {
+        var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
+          n = 0,
+          r = 0,
+          a = [];
+        j.a.forEach(e, function (e) {
+          j.a.forEach(e.buckets, function (o) {
+            var i = {
+              x: e.x,
+              y: o.y,
+              yBounds: o.bounds,
+              values: o.values,
+              count: o.count,
+            };
+            (t && 0 === i.count) || a.push(i),
+              1 === a.length && ((n = o.count), (r = o.count)),
+              (n = o.count < n ? o.count : n),
+              (r = o.count > r ? o.count : r);
+          });
+        });
+        var o = { min: n, max: r };
+        return { cards: a, cardStats: o };
+      }
+      function ua(e, t, n, r) {
+        var a = t[0];
+        if (null != a && !isNaN(a)) {
+          var o = j.a.concat(t, r);
+          e[n] && e[n].values
+            ? (e[n].values.push(a), e[n].points.push(o))
+            : (e[n] = { x: n, values: [a], points: [o] });
+        }
+      }
+      function fa(e, t, n, r, a) {
+        var o = 1;
+        r.length > 3 && (o = parseInt(r[2], 10)),
+          e[t]
+            ? (e[t].values.push(n), e[t].points.push(r), (e[t].count += o))
+            : (e[t] = { y: t, bounds: a, values: [n], points: [r], count: o });
+      }
+      function da(e, t, n) {
+        return 1 === n
+          ? ha(e, t)
+          : (function (e, t, n) {
+              return ga(e, t, n).bottom;
+            })(e, t, n);
+      }
+      function pa(e, t) {
+        return {
+          bottom: Math.floor(e / t) * t,
+          top: (Math.floor(e / t) + 1) * t,
+        };
+      }
+      function ha(e, t) {
+        return pa(e, t).bottom;
+      }
+      function ma(e, t) {
+        var n = e.values,
+          r = e.points,
+          a = {};
+        return (
+          j.a.forEach(n, function (e, n) {
+            var o = pa(e, t),
+              i = o.bottom;
+            fa(a, i, e, r[n], o);
+          }),
+          a
+        );
+      }
+      function ga(e, t, n) {
+        if (0 === e) return { bottom: 0, top: 0 };
+        var r,
+          a,
+          o = va(e, n);
+        if (1 !== t && t) {
+          var i = 1 / t,
+            l = o - Math.floor(o);
+          (l = Math.floor(l / i) * i), (a = (r = Math.floor(o) + l) + i);
+        } else a = (r = Math.floor(o)) + 1;
+        return { bottom: Math.pow(n, r), top: Math.pow(n, a) };
+      }
+      function ba(e, t, n) {
+        var r = e.values,
+          a = e.points,
+          o = {};
+        return (
+          j.a.forEach(r, function (e, r) {
+            var i = ga(e, t, n),
+              l = i.bottom;
+            fa(o, l, e, a[r], i);
+          }),
+          o
+        );
+      }
+      function va(e, t) {
+        return Math.log(e) / Math.log(t);
+      }
+      function ya(e, t) {
+        var n =
+          arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1;
+        if (1 === n) return Math.abs(t - e);
+        var r = Math.max(e, t) / Math.min(e, t);
+        return va(r, n);
+      }
+      function wa(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var Oa = (function () {
+        function e(t, n) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.scope = n),
+            (this.dashboard = n.ctrl.dashboard),
+            (this.panelCtrl = n.ctrl),
+            (this.panel = n.ctrl.panel),
+            (this.heatmapPanel = t),
+            (this.mouseOverBucket = !1),
+            (this.originalFillColor = null),
+            t.on("mouseleave", this.onMouseLeave.bind(this));
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "onMouseLeave",
+              value: function () {
+                this.destroy();
+              },
+            },
+            {
+              key: "onMouseMove",
+              value: function (e) {
+                this.panel.tooltip.show && this.move(e);
+              },
+            },
+            {
+              key: "add",
+              value: function () {
+                this.tooltip = Yr.select("body")
+                  .append("div")
+                  .attr(
+                    "class",
+                    "heatmap-tooltip graph-tooltip grafana-tooltip"
+                  );
+              },
+            },
+            {
+              key: "destroy",
+              value: function () {
+                this.tooltip && this.tooltip.remove(), (this.tooltip = null);
+              },
+            },
+            {
+              key: "show",
+              value: function (e, t) {
+                if (this.panel.tooltip.show && t && !e.panelRelY) {
+                  var n = this.getBucketIndexes(e, t),
+                    r = n.xBucketIndex,
+                    a = n.yBucketIndex;
+                  if (t.buckets[r]) {
+                    var o, i, l;
+                    this.tooltip || this.add();
+                    var s,
+                      c,
+                      u = t.buckets[r],
+                      f = j.a.find(u.buckets, function (e, t) {
+                        return e.bounds.bottom === a || t === a.toString();
+                      }),
+                      d = this.dashboard.formatDate(u.x, "YYYY-MM-DD HH:mm:ss");
+                    if (j.a.isNumber(this.panel.tooltipDecimals))
+                      (s = this.countValueFormatter(
+                        this.panel.tooltipDecimals,
+                        null
+                      )),
+                        (c = this.panelCtrl.tickValueFormatter(
+                          this.panelCtrl.decimals,
+                          null
+                        ));
+                    else {
+                      var p = (this.panelCtrl.decimals || -1) + 1;
+                      (s = this.countValueFormatter(
+                        p,
+                        this.panelCtrl.scaledDecimals + 2
+                      )),
+                        (c = this.panelCtrl.tickValueFormatter(
+                          p,
+                          this.panelCtrl.scaledDecimals + 2
+                        ));
+                    }
+                    var h = '<div class="graph-tooltip-time">'.concat(
+                      d,
+                      '</div>\n      <div class="heatmap-histogram"></div>'
+                    );
+                    if (f)
+                      if (f.bounds) {
+                        if (t.tsBuckets) {
+                          var m = function (e) {
+                            return t.tsBucketsFormatted
+                              ? t.tsBucketsFormatted[e]
+                              : t.tsBuckets[e];
+                          };
+                          (o = m(a)),
+                            "middle" !== this.panel.yBucketBound &&
+                              (i = a < t.tsBuckets.length - 1 ? m(a + 1) : "");
+                        } else
+                          (o = c(f.y ? f.bounds.bottom : 0)),
+                            (i = c(f.bounds.top));
+                        l = s(f.count);
+                        var g = i && o ? "".concat(o, " - ").concat(i) : o || i;
+                        h += "<div>\n          bucket: <b>"
+                          .concat(g, "</b> <br>\n          count: <b>")
+                          .concat(l, "</b> <br>\n        </div>");
+                      } else
+                        h += "<div>count: <b>".concat(
+                          f.count,
+                          "</b><br></div>"
+                        );
+                    else {
+                      if (!this.panel.tooltip.showHistogram)
+                        return void this.destroy();
+                      (o = a), (i = ""), (l = 0);
+                    }
+                    this.tooltip.html(h),
+                      this.panel.tooltip.showHistogram && this.addHistogram(u),
+                      this.move(e);
+                  } else this.destroy();
+                }
+              },
+            },
+            {
+              key: "getBucketIndexes",
+              value: function (e, t) {
+                return {
+                  xBucketIndex: this.getXBucketIndex(e.x, t),
+                  yBucketIndex: this.getYBucketIndex(e.y, t),
+                };
+              },
+            },
+            {
+              key: "getXBucketIndex",
+              value: function (e, t) {
+                var n = j.a.find(t.buckets, function (n) {
+                  return e > n.x && e - n.x <= t.xBucketSize;
+                });
+                return n ? n.x : da(e, t.xBucketSize, 1);
+              },
+            },
+            {
+              key: "getYBucketIndex",
+              value: function (e, t) {
+                return t.tsBuckets
+                  ? Math.floor(e)
+                  : da(e, t.yBucketSize, this.panel.yAxis.logBase);
+              },
+            },
+            {
+              key: "getSharedTooltipPos",
+              value: function (e) {
+                return (
+                  (e.pageX =
+                    this.heatmapPanel.offset().left + this.scope.xScale(e.x)),
+                  (e.pageY =
+                    this.heatmapPanel.offset().top +
+                    this.scope.chartHeight * e.panelRelY),
+                  e
+                );
+              },
+            },
+            {
+              key: "addHistogram",
+              value: function (e) {
+                var t,
+                  n,
+                  r,
+                  a = this.scope.ctrl.data.buckets[e.x],
+                  o = this.scope.ctrl.data.yBucketSize;
+                this.scope.ctrl.data.tsBuckets
+                  ? ((t = 0),
+                    (n = this.scope.ctrl.data.tsBuckets.length - 1),
+                    (r = this.scope.ctrl.data.tsBuckets.length))
+                  : ((t = this.scope.ctrl.data.yAxis.min),
+                    (n = this.scope.ctrl.data.yAxis.max),
+                    (r = this.scope.ctrl.data.yAxis.ticks));
+                var i = j.a.map(a.buckets, function (e) {
+                  var t = void 0 !== e.count ? e.count : e.values.length;
+                  return [e.bounds.bottom, t];
+                });
+                i = j.a.filter(i, function (e) {
+                  return e[0] >= t && e[0] <= n;
+                });
+                var l,
+                  s = this.scope.yScale.copy().domain([t, n]).range([0, 160]);
+                if (1 === this.panel.yAxis.logBase)
+                  l = Math.floor((160 / (n - t)) * o * 0.9);
+                else {
+                  var c = o || 1;
+                  l = Math.floor((160 / r / c) * 0.9);
+                }
+                l = Math.max(l, 1);
+                var u = j.a.reduce(
+                    j.a.map(i, function (e) {
+                      return e[1];
+                    }),
+                    function (e, t) {
+                      return e + t;
+                    },
+                    0
+                  ),
+                  f = Yr.scaleLinear().domain([0, u]).range([0, 40]);
+                this.tooltip
+                  .select(".heatmap-histogram")
+                  .append("svg")
+                  .attr("width", 160)
+                  .attr("height", 40)
+                  .selectAll(".bar")
+                  .data(i)
+                  .enter()
+                  .append("rect")
+                  .attr("x", function (e) {
+                    return s(e[0]);
+                  })
+                  .attr("width", l)
+                  .attr("y", function (e) {
+                    return 40 - f(e[1]);
+                  })
+                  .attr("height", function (e) {
+                    return f(e[1]);
+                  });
+              },
+            },
+            {
+              key: "move",
+              value: function (e) {
+                if (this.tooltip) {
+                  var t = _()(this.tooltip.node())[0],
+                    n = t.clientWidth,
+                    r = t.clientHeight,
+                    a = e.pageX + 30,
+                    o = e.pageY + 5;
+                  return (
+                    e.pageX + n + 40 > window.innerWidth &&
+                      (a = e.pageX - n - 30),
+                    e.pageY - window.pageYOffset + r + 20 >
+                      window.innerHeight && (o = e.pageY - r - 5),
+                    this.tooltip.style("left", a + "px").style("top", o + "px")
+                  );
+                }
+              },
+            },
+            {
+              key: "countValueFormatter",
+              value: function (e) {
+                var t =
+                    arguments.length > 1 && void 0 !== arguments[1]
+                      ? arguments[1]
+                      : null,
+                  n = Object(Q.getValueFormat)("short");
+                return function (r) {
+                  return Object(Q.formattedValueToString)(n(r, e, t));
+                };
+              },
+            },
+          ]) && wa(t.prototype, n),
+          r && wa(t, r),
+          e
+        );
+      })();
+      function xa(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var ka = (function () {
+        function e(t, n, r, a) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.scope = t),
+            (this.elem = n),
+            (this.ctrl = a),
+            (this.$heatmap = this.elem.find(".heatmap-panel")),
+            (this.tooltip = new Oa(this.$heatmap, this.scope)),
+            (this.selection = { active: !1, x1: -1, x2: -1 }),
+            (this.padding = { left: 0, right: 0, top: 0, bottom: 0 }),
+            (this.margin = { left: 25, right: 15, top: 10, bottom: 20 }),
+            (this.dataRangeWidingFactor = 1.2),
+            this.ctrl.events.on(Q.PanelEvents.render, this.onRender.bind(this)),
+            (this.ctrl.tickValueFormatter = this.tickValueFormatter.bind(this)),
+            W.a.on(
+              wt.CoreEvents.graphHover,
+              this.onGraphHover.bind(this),
+              this.scope
+            ),
+            W.a.on(
+              wt.CoreEvents.graphHoverClear,
+              this.onGraphHoverClear.bind(this),
+              this.scope
+            ),
+            this.$heatmap.on("mousedown", this.onMouseDown.bind(this)),
+            this.$heatmap.on("mousemove", this.onMouseMove.bind(this)),
+            this.$heatmap.on("mouseleave", this.onMouseLeave.bind(this));
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "onGraphHoverClear",
+              value: function () {
+                this.clearCrosshair();
+              },
+            },
+            {
+              key: "onGraphHover",
+              value: function (e) {
+                this.drawSharedCrosshair(e.pos);
+              },
+            },
+            {
+              key: "onRender",
+              value: function () {
+                this.render(), this.ctrl.renderingCompleted();
+              },
+            },
+            {
+              key: "setElementHeight",
+              value: function () {
+                try {
+                  var e =
+                    this.ctrl.height ||
+                    this.panel.height ||
+                    this.ctrl.row.height;
+                  return (
+                    j.a.isString(e) && (e = parseInt(e.replace("px", ""), 10)),
+                    (e -= this.panel.legend.show ? 28 : 11),
+                    this.$heatmap.css("height", e + "px"),
+                    !0
+                  );
+                } catch (e) {
+                  return !1;
+                }
+              },
+            },
+            {
+              key: "getYAxisWidth",
+              value: function (e) {
+                var t = e.selectAll(".axis-y text").nodes();
+                return j.a.max(
+                  j.a.map(t, function (e) {
+                    return e.getBBox().width;
+                  })
+                );
+              },
+            },
+            {
+              key: "getXAxisHeight",
+              value: function (e) {
+                if (e.select(".axis-x line").empty()) return 30;
+                var t = parseFloat(e.select(".axis-x line").attr("y2"));
+                return parseFloat(e.attr("height")) - t;
+              },
+            },
+            {
+              key: "addXAxis",
+              value: function () {
+                this.scope.xScale = this.xScale = Yr.scaleTime()
+                  .domain([this.timeRange.from, this.timeRange.to])
+                  .range([0, this.chartWidth]);
+                var e,
+                  t = this.chartWidth / 100,
+                  n = J.grafanaTimeFormat(
+                    t,
+                    this.timeRange.from,
+                    this.timeRange.to
+                  );
+                e =
+                  "utc" === this.ctrl.dashboard.getTimezone()
+                    ? Yr.utcFormat(n)
+                    : Yr.timeFormat(n);
+                var r = Yr.axisBottom(this.xScale)
+                    .ticks(t)
+                    .tickFormat(e)
+                    .tickPadding(10)
+                    .tickSize(this.chartHeight),
+                  a = this.margin.top,
+                  o = this.yAxisWidth;
+                this.heatmap
+                  .append("g")
+                  .attr("class", "axis axis-x")
+                  .attr("transform", "translate(" + o + "," + a + ")")
+                  .call(r),
+                  this.heatmap.select(".axis-x").select(".domain").remove();
+              },
+            },
+            {
+              key: "addYAxis",
+              value: function () {
+                var e = Math.ceil(this.chartHeight / 50),
+                  t = J.tickStep(
+                    this.data.heatmapStats.min,
+                    this.data.heatmapStats.max,
+                    e
+                  ),
+                  n = this.wideYAxisRange(
+                    this.data.heatmapStats.min,
+                    this.data.heatmapStats.max,
+                    t
+                  ),
+                  r = n.yMin,
+                  a = n.yMax;
+                (r = null !== this.panel.yAxis.min ? this.panel.yAxis.min : r),
+                  (a =
+                    null !== this.panel.yAxis.max ? this.panel.yAxis.max : a),
+                  (t = J.tickStep(r, a, e)),
+                  (e = Math.ceil((a - r) / t));
+                var o = J.getPrecision(t),
+                  i =
+                    null === this.panel.yAxis.decimals
+                      ? o
+                      : this.panel.yAxis.decimals,
+                  l = J.getFlotTickSize(r, a, e, o),
+                  s = J.getScaledDecimals(i, l);
+                (this.ctrl.decimals = i),
+                  (this.ctrl.scaledDecimals = s),
+                  j.a.isEmpty(this.data.buckets) &&
+                    ((a = 1), (r = -1), (e = 3), (i = 1)),
+                  (this.data.yAxis = { min: r, max: a, ticks: e }),
+                  (this.scope.yScale = this.yScale = Yr.scaleLinear()
+                    .domain([r, a])
+                    .range([this.chartHeight, 0]));
+                var c = Yr.axisLeft(this.yScale)
+                  .ticks(e)
+                  .tickFormat(this.tickValueFormatter(i, s))
+                  .tickSizeInner(0 - this.width)
+                  .tickSizeOuter(0)
+                  .tickPadding(5);
+                this.heatmap.append("g").attr("class", "axis axis-y").call(c);
+                var u = this.margin.top,
+                  f = this.getYAxisWidth(this.heatmap) + 5;
+                this.heatmap
+                  .select(".axis-y")
+                  .attr("transform", "translate(" + f + "," + u + ")"),
+                  this.heatmap.select(".axis-y").select(".domain").remove();
+              },
+            },
+            {
+              key: "wideYAxisRange",
+              value: function (e, t, n) {
+                var r,
+                  a,
+                  o =
+                    (t * (this.dataRangeWidingFactor - 1) -
+                      e * (this.dataRangeWidingFactor - 1)) /
+                    2;
+                return (
+                  0 === n
+                    ? ((a = t * this.dataRangeWidingFactor),
+                      (r = e - e * (this.dataRangeWidingFactor - 1)))
+                    : ((a = Math.ceil((t + o) / n) * n),
+                      (r = Math.floor((e - o) / n) * n)),
+                  e >= 0 && r < 0 && (r = 0),
+                  { yMin: r, yMax: a }
+                );
+              },
+            },
+            {
+              key: "addLogYAxis",
+              value: function () {
+                var e = this.panel.yAxis.logBase,
+                  t = this.adjustLogRange(
+                    this.data.heatmapStats.minLog,
+                    this.data.heatmapStats.max,
+                    e
+                  ),
+                  n = t.yMin,
+                  r = t.yMax;
+                (n =
+                  this.panel.yAxis.min && "0" !== this.panel.yAxis.min
+                    ? this.adjustLogMin(this.panel.yAxis.min, e)
+                    : n),
+                  (r =
+                    null !== this.panel.yAxis.max
+                      ? this.adjustLogMax(this.panel.yAxis.max, e)
+                      : r),
+                  j.a.isEmpty(this.data.buckets) &&
+                    ((r = Math.pow(e, 2)), (n = 1)),
+                  (this.scope.yScale = this.yScale = Yr.scaleLog()
+                    .base(this.panel.yAxis.logBase)
+                    .domain([n, r])
+                    .range([this.chartHeight, 0]));
+                var a = this.yScale.domain(),
+                  o = this.logScaleTickValues(a, e),
+                  i = J.getPrecision(n),
+                  l = this.panel.yAxis.decimals || i,
+                  s = J.getFlotTickSize(n, r, o.length, i),
+                  c = J.getScaledDecimals(l, s);
+                (this.ctrl.decimals = l),
+                  (this.ctrl.scaledDecimals = c),
+                  (this.data.yAxis = { min: n, max: r, ticks: o.length });
+                var u = Yr.axisLeft(this.yScale)
+                  .tickValues(o)
+                  .tickFormat(this.tickValueFormatter(l, c))
+                  .tickSizeInner(0 - this.width)
+                  .tickSizeOuter(0)
+                  .tickPadding(5);
+                this.heatmap.append("g").attr("class", "axis axis-y").call(u);
+                var f = this.margin.top,
+                  d = this.getYAxisWidth(this.heatmap) + 5;
+                this.heatmap
+                  .select(".axis-y")
+                  .attr("transform", "translate(" + d + "," + f + ")"),
+                  n < 1 &&
+                    this.heatmap
+                      .select(".axis-y")
+                      .select(".tick text")
+                      .text("0"),
+                  this.heatmap.select(".axis-y").select(".domain").remove();
+              },
+            },
+            {
+              key: "addYAxisFromBuckets",
+              value: function () {
+                var e = this.data.tsBuckets;
+                this.scope.yScale = this.yScale = Yr.scaleLinear()
+                  .domain([0, e.length - 1])
+                  .range([this.chartHeight, 0]);
+                var t = j.a.map(e, function (e, t) {
+                    return t;
+                  }),
+                  n = j.a.max(j.a.map(e, J.getStringPrecision)),
+                  r =
+                    null === this.panel.yAxis.decimals
+                      ? n
+                      : this.panel.yAxis.decimals;
+                this.ctrl.decimals = r;
+                var a = this.tickValueFormatter.bind(this);
+                function o(t) {
+                  var n = e[t];
+                  return (
+                    j.a.isNaN(j.a.toNumber(n)) ||
+                      "" === n ||
+                      (n = a(r)(j.a.toNumber(n))),
+                    n
+                  );
+                }
+                var i = j.a.map(e, function (e, t) {
+                  return o(t);
+                });
+                this.data.tsBucketsFormatted = i;
+                var l = Yr.axisLeft(this.yScale)
+                  .tickValues(t)
+                  .tickFormat(o)
+                  .tickSizeInner(0 - this.width)
+                  .tickSizeOuter(0)
+                  .tickPadding(5);
+                this.heatmap.append("g").attr("class", "axis axis-y").call(l);
+                var s = this.margin.top,
+                  c = this.getYAxisWidth(this.heatmap) + 5;
+                if (
+                  (this.heatmap
+                    .select(".axis-y")
+                    .attr("transform", "translate(" + c + "," + s + ")"),
+                  "middle" === this.panel.yBucketBound && t && t.length)
+                ) {
+                  var u = 0 - this.chartHeight / (t.length - 1) / 2;
+                  this.heatmap
+                    .selectAll(".axis-y text")
+                    .attr("transform", "translate(0," + u + ")");
+                }
+                this.heatmap.select(".axis-y").select(".domain").remove();
+              },
+            },
+            {
+              key: "adjustLogRange",
+              value: function (e, t, n) {
+                return (
+                  this.data.heatmapStats.minLog,
+                  {
+                    yMin:
+                      this.data.heatmapStats.minLog > 1 ||
+                      !this.data.heatmapStats.minLog
+                        ? 1
+                        : this.adjustLogMin(this.data.heatmapStats.minLog, n),
+                    yMax: this.adjustLogMax(this.data.heatmapStats.max, n),
+                  }
+                );
+              },
+            },
+            {
+              key: "adjustLogMax",
+              value: function (e, t) {
+                return Math.pow(t, Math.ceil(J.logp(e, t)));
+              },
+            },
+            {
+              key: "adjustLogMin",
+              value: function (e, t) {
+                return Math.pow(t, Math.floor(J.logp(e, t)));
+              },
+            },
+            {
+              key: "logScaleTickValues",
+              value: function (e, t) {
+                var n = e[0],
+                  r = e[1],
+                  a = [];
+                if (n < 1)
+                  for (var o = Math.floor(J.logp(n, t)); o < 0; o++) {
+                    var i = Math.pow(t, o);
+                    a.push(i);
+                  }
+                for (var l = Math.ceil(J.logp(r, t)), s = 0; s <= l; s++) {
+                  var c = Math.pow(t, s);
+                  a.push(c);
+                }
+                return a;
+              },
+            },
+            {
+              key: "tickValueFormatter",
+              value: function (e) {
+                var t =
+                    arguments.length > 1 && void 0 !== arguments[1]
+                      ? arguments[1]
+                      : null,
+                  n = this.panel.yAxis.format;
+                return function (r) {
+                  try {
+                    if ("none" !== n) {
+                      var a = Object(Q.getValueFormat)(n)(r, e, t);
+                      return Object(Q.formattedValueToString)(a);
+                    }
+                  } catch (e) {
+                    console.error(e.message || e);
+                  }
+                  return r;
+                };
+              },
+            },
+            {
+              key: "fixYAxisTickSize",
+              value: function () {
+                this.heatmap
+                  .select(".axis-y")
+                  .selectAll(".tick line")
+                  .attr("x2", this.chartWidth);
+              },
+            },
+            {
+              key: "addAxes",
+              value: function () {
+                (this.chartHeight =
+                  this.height - this.margin.top - this.margin.bottom),
+                  (this.chartTop = this.margin.top),
+                  (this.chartBottom = this.chartTop + this.chartHeight),
+                  "tsbuckets" === this.panel.dataFormat
+                    ? this.addYAxisFromBuckets()
+                    : 1 === this.panel.yAxis.logBase
+                    ? this.addYAxis()
+                    : this.addLogYAxis(),
+                  (this.yAxisWidth = this.getYAxisWidth(this.heatmap) + 5),
+                  (this.chartWidth =
+                    this.width - this.yAxisWidth - this.margin.right),
+                  this.fixYAxisTickSize(),
+                  this.addXAxis(),
+                  (this.xAxisHeight = this.getXAxisHeight(this.heatmap)),
+                  this.panel.yAxis.show ||
+                    this.heatmap
+                      .select(".axis-y")
+                      .selectAll("line")
+                      .style("opacity", 0),
+                  this.panel.xAxis.show ||
+                    this.heatmap
+                      .select(".axis-x")
+                      .selectAll("line")
+                      .style("opacity", 0);
+              },
+            },
+            {
+              key: "addHeatmapCanvas",
+              value: function () {
+                var e = this.$heatmap[0];
+                (this.width =
+                  Math.floor(this.$heatmap.width()) - this.padding.right),
+                  (this.height =
+                    Math.floor(this.$heatmap.height()) - this.padding.bottom),
+                  (this.cardPadding =
+                    null !== this.panel.cards.cardPadding
+                      ? this.panel.cards.cardPadding
+                      : 1),
+                  (this.cardRound =
+                    null !== this.panel.cards.cardRound
+                      ? this.panel.cards.cardRound
+                      : 0),
+                  this.heatmap && this.heatmap.remove(),
+                  (this.heatmap = Yr.select(e)
+                    .append("svg")
+                    .attr("width", this.width)
+                    .attr("height", this.height));
+              },
+            },
+            {
+              key: "addHeatmap",
+              value: function () {
+                var e = this;
+                if (
+                  (this.addHeatmapCanvas(),
+                  this.addAxes(),
+                  1 !== this.panel.yAxis.logBase &&
+                    "tsbuckets" !== this.panel.dataFormat)
+                ) {
+                  var t = this.panel.yAxis.logBase,
+                    n = this.yScale.domain(),
+                    r = this.logScaleTickValues(n, t);
+                  this.data.buckets = (function (e, t) {
+                    return (
+                      j.a.forEach(e, function (e) {
+                        var n = e.buckets,
+                          r = {
+                            bounds: { bottom: 0, top: 0 },
+                            values: [],
+                            points: [],
+                            count: 0,
+                          },
+                          a = n[0] || r,
+                          o = n[t] || r,
+                          i = {
+                            y: 0,
+                            bounds: { bottom: t, top: o.bounds.top || t },
+                            values: [],
+                            points: [],
+                            count: 0,
+                          };
+                        (i.points = a.points.concat(o.points)),
+                          (i.values = a.values.concat(o.values)),
+                          (i.count = i.values.length),
+                          0 !== i.count && (delete n[t], (n[0] = i));
+                      }),
+                      e
+                    );
+                  })(this.data.buckets, j.a.min(r));
+                }
+                var a = this.data.cards,
+                  o = this.data.cardStats,
+                  i = o.max,
+                  l = Math.min(o.min, 0),
+                  s = j.a.isNil(this.panel.color.max)
+                    ? i
+                    : this.panel.color.max,
+                  c = j.a.isNil(this.panel.color.min)
+                    ? l
+                    : this.panel.color.min,
+                  u = j.a.find(this.ctrl.colorSchemes, {
+                    value: this.panel.color.colorScheme,
+                  });
+                (this.colorScale = Jr(u, W.b.user.lightTheme, s, c)),
+                  (this.opacityScale = Zr(this.panel.color, s, c)),
+                  this.setCardSize();
+                var f = this.heatmap.selectAll(".heatmap-card").data(a);
+                f.append("title"),
+                  (f = f
+                    .enter()
+                    .append("rect")
+                    .attr("x", this.getCardX.bind(this))
+                    .attr("width", this.getCardWidth.bind(this))
+                    .attr("y", this.getCardY.bind(this))
+                    .attr("height", this.getCardHeight.bind(this))
+                    .attr("rx", this.cardRound)
+                    .attr("ry", this.cardRound)
+                    .attr("class", "bordered heatmap-card")
+                    .style("fill", this.getCardColor.bind(this))
+                    .style("stroke", this.getCardColor.bind(this))
+                    .style("stroke-width", 0)
+                    .style("opacity", this.getCardOpacity.bind(this))),
+                  this.$heatmap
+                    .find(".heatmap-card")
+                    .on("mouseenter", function (t) {
+                      (e.tooltip.mouseOverBucket = !0), e.highlightCard(t);
+                    })
+                    .on("mouseleave", function (t) {
+                      (e.tooltip.mouseOverBucket = !1), e.resetCardHighLight(t);
+                    });
+              },
+            },
+            {
+              key: "highlightCard",
+              value: function (e) {
+                var t = Yr.select(e.target).style("fill"),
+                  n = Yr.color(t).darker(2),
+                  r = Yr.color(t).brighter(4),
+                  a = Yr.select(e.target);
+                (this.tooltip.originalFillColor = t),
+                  a
+                    .style("fill", n.toString())
+                    .style("stroke", r.toString())
+                    .style("stroke-width", 1);
+              },
+            },
+            {
+              key: "resetCardHighLight",
+              value: function (e) {
+                Yr.select(e.target)
+                  .style("fill", this.tooltip.originalFillColor)
+                  .style("stroke", this.tooltip.originalFillColor)
+                  .style("stroke-width", 0);
+              },
+            },
+            {
+              key: "setCardSize",
+              value: function () {
+                var e = Math.floor(
+                    this.xScale(this.data.xBucketSize) - this.xScale(0)
+                  ),
+                  t = Math.floor(
+                    this.yScale(this.yScale.invert(0) - this.data.yBucketSize)
+                  );
+                if (1 !== this.panel.yAxis.logBase) {
+                  var n = this.panel.yAxis.logBase,
+                    r = this.data.yBucketSize || 1;
+                  t = Math.floor((this.yScale(1) - this.yScale(n)) / r);
+                }
+                var a = e - 2 * this.cardPadding;
+                (this.cardWidth = Math.max(a, 1)),
+                  (this.cardHeight = t ? t - 2 * this.cardPadding : 0);
+              },
+            },
+            {
+              key: "getCardX",
+              value: function (e) {
+                return this.xScale(e.x) < 0
+                  ? this.yAxisWidth + this.cardPadding
+                  : this.xScale(e.x) + this.yAxisWidth + this.cardPadding;
+              },
+            },
+            {
+              key: "getCardWidth",
+              value: function (e) {
+                var t = this.cardWidth;
+                return (
+                  this.xScale(e.x) < 0
+                    ? (t = this.xScale(e.x) + this.cardWidth)
+                    : this.xScale(e.x) + this.cardWidth > this.chartWidth &&
+                      (t =
+                        this.chartWidth - this.xScale(e.x) - this.cardPadding),
+                  (t = t > 0 ? Math.max(t, 1) : 0)
+                );
+              },
+            },
+            {
+              key: "getCardY",
+              value: function (e) {
+                var t =
+                  this.yScale(e.y) +
+                  this.chartTop -
+                  this.cardHeight -
+                  this.cardPadding;
+                return (
+                  1 !== this.panel.yAxis.logBase && 0 === e.y
+                    ? (t =
+                        this.chartBottom - this.cardHeight - this.cardPadding)
+                    : t < this.chartTop && (t = this.chartTop),
+                  t
+                );
+              },
+            },
+            {
+              key: "getCardHeight",
+              value: function (e) {
+                var t =
+                    this.yScale(e.y) +
+                    this.chartTop -
+                    this.cardHeight -
+                    this.cardPadding,
+                  n = this.cardHeight;
+                return 1 !== this.panel.yAxis.logBase && 0 === e.y
+                  ? this.cardHeight
+                  : (t < this.chartTop
+                      ? (n = this.yScale(e.y) - this.cardPadding)
+                      : this.yScale(e.y) > this.chartBottom
+                      ? (n = this.chartBottom - t)
+                      : t + this.cardHeight > this.chartBottom &&
+                        (n = this.chartBottom - t),
+                    (n = Math.min(n, this.chartHeight)),
+                    (n = Math.max(n, 1)));
+              },
+            },
+            {
+              key: "getCardColor",
+              value: function (e) {
+                return "opacity" === this.panel.color.mode
+                  ? Object(Q.getColorFromHexRgbOrName)(
+                      this.panel.color.cardColor,
+                      W.b.user.lightTheme
+                        ? Q.GrafanaThemeType.Light
+                        : Q.GrafanaThemeType.Dark
+                    )
+                  : this.colorScale(e.count);
+              },
+            },
+            {
+              key: "getCardOpacity",
+              value: function (e) {
+                return "opacity" === this.panel.color.mode
+                  ? this.opacityScale(e.count)
+                  : 1;
+              },
+            },
+            {
+              key: "getEventOffset",
+              value: function (e) {
+                var t = this.$heatmap.offset();
+                return {
+                  x: Math.floor(e.clientX - t.left),
+                  y: Math.floor(e.clientY - t.top),
+                };
+              },
+            },
+            {
+              key: "onMouseDown",
+              value: function (e) {
+                var t = this,
+                  n = this.getEventOffset(e);
+                (this.selection.active = !0),
+                  (this.selection.x1 = n.x),
+                  (this.mouseUpHandler = function () {
+                    t.onMouseUp();
+                  }),
+                  _()(document).one("mouseup", this.mouseUpHandler.bind(this));
+              },
+            },
+            {
+              key: "onMouseUp",
+              value: function () {
+                _()(document).unbind("mouseup", this.mouseUpHandler.bind(this)),
+                  (this.mouseUpHandler = null),
+                  (this.selection.active = !1);
+                var e = Math.abs(this.selection.x2 - this.selection.x1);
+                if (this.selection.x2 >= 0 && e > 2) {
+                  var t = this.xScale.invert(
+                      Math.min(this.selection.x1, this.selection.x2) -
+                        this.yAxisWidth
+                    ),
+                    n = this.xScale.invert(
+                      Math.max(this.selection.x1, this.selection.x2) -
+                        this.yAxisWidth
+                    );
+                  this.ctrl.timeSrv.setTime({
+                    from: Object(Q.toUtc)(t),
+                    to: Object(Q.toUtc)(n),
+                  });
+                }
+                this.clearSelection();
+              },
+            },
+            {
+              key: "onMouseLeave",
+              value: function () {
+                W.a.emit(wt.CoreEvents.graphHoverClear), this.clearCrosshair();
+              },
+            },
+            {
+              key: "onMouseMove",
+              value: function (e) {
+                if (this.heatmap) {
+                  var t = this.getEventOffset(e);
+                  if (this.selection.active)
+                    this.clearCrosshair(),
+                      this.tooltip.destroy(),
+                      (this.selection.x2 = this.limitSelection(t.x)),
+                      this.drawSelection(this.selection.x1, this.selection.x2);
+                  else {
+                    var n = this.getEventPos(e, t);
+                    this.drawCrosshair(t.x),
+                      this.tooltip.show(n, this.data),
+                      this.emitGraphHoverEvent(n);
+                  }
+                }
+              },
+            },
+            {
+              key: "getEventPos",
+              value: function (e, t) {
+                var n = this.xScale.invert(t.x - this.yAxisWidth).valueOf(),
+                  r = this.yScale.invert(t.y - this.chartTop);
+                return {
+                  pageX: e.pageX,
+                  pageY: e.pageY,
+                  x: n,
+                  x1: n,
+                  y: r,
+                  y1: r,
+                  panelRelY: null,
+                  offset: t,
+                };
+              },
+            },
+            {
+              key: "emitGraphHoverEvent",
+              value: function (e) {
+                (e.panelRelY = Math.max(e.offset.y / this.height, 0.001)),
+                  W.a.emit(wt.CoreEvents.graphHover, {
+                    pos: e,
+                    panel: this.panel,
+                  });
+              },
+            },
+            {
+              key: "limitSelection",
+              value: function (e) {
+                return (
+                  (e = Math.max(e, this.yAxisWidth)),
+                  (e = Math.min(e, this.chartWidth + this.yAxisWidth))
+                );
+              },
+            },
+            {
+              key: "drawSelection",
+              value: function (e, t) {
+                if (this.heatmap) {
+                  this.heatmap.selectAll(".heatmap-selection").remove();
+                  var n = Math.min(e, t),
+                    r = Math.abs(e - t);
+                  r > 2 &&
+                    this.heatmap
+                      .append("rect")
+                      .attr("class", "heatmap-selection")
+                      .attr("x", n)
+                      .attr("width", r)
+                      .attr("y", this.chartTop)
+                      .attr("height", this.chartHeight);
+                }
+              },
+            },
+            {
+              key: "clearSelection",
+              value: function () {
+                (this.selection.x1 = -1),
+                  (this.selection.x2 = -1),
+                  this.heatmap &&
+                    this.heatmap.selectAll(".heatmap-selection").remove();
+              },
+            },
+            {
+              key: "drawCrosshair",
+              value: function (e) {
+                if (this.heatmap) {
+                  this.heatmap.selectAll(".heatmap-crosshair").remove();
+                  var t = e;
+                  (t = Math.max(t, this.yAxisWidth)),
+                    (t = Math.min(t, this.chartWidth + this.yAxisWidth)),
+                    this.heatmap
+                      .append("g")
+                      .attr("class", "heatmap-crosshair")
+                      .attr("transform", "translate(" + t + ",0)")
+                      .append("line")
+                      .attr("x1", 1)
+                      .attr("y1", this.chartTop)
+                      .attr("x2", 1)
+                      .attr("y2", this.chartBottom)
+                      .attr("stroke-width", 1);
+                }
+              },
+            },
+            {
+              key: "drawSharedCrosshair",
+              value: function (e) {
+                if (this.heatmap && 0 !== this.ctrl.dashboard.graphTooltip) {
+                  var t = this.xScale(e.x) + this.yAxisWidth;
+                  this.drawCrosshair(t);
+                }
+              },
+            },
+            {
+              key: "clearCrosshair",
+              value: function () {
+                this.heatmap &&
+                  this.heatmap.selectAll(".heatmap-crosshair").remove();
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                if (
+                  ((this.data = this.ctrl.data),
+                  (this.panel = this.ctrl.panel),
+                  (this.timeRange = this.ctrl.range),
+                  this.setElementHeight() && this.data)
+                ) {
+                  if (j.a.isEmpty(this.data.buckets))
+                    return this.addHeatmapCanvas(), void this.addAxes();
+                  this.addHeatmap(),
+                    (this.scope.yAxisWidth = this.yAxisWidth),
+                    (this.scope.xAxisHeight = this.xAxisHeight),
+                    (this.scope.chartHeight = this.chartHeight),
+                    (this.scope.chartWidth = this.chartWidth),
+                    (this.scope.chartTop = this.chartTop);
+                }
+              },
+            },
+          ]) && xa(t.prototype, n),
+          r && xa(t, r),
+          e
+        );
+      })();
+      function ja(e) {
+        return (ja =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Sa(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Ea(e) {
+        return (Ea = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Ca(e) {
+        if (void 0 === e)
+          throw new ReferenceError(
+            "this hasn't been initialised - super() hasn't been called"
+          );
+        return e;
+      }
+      function Pa(e, t) {
+        return (Pa =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Ta = {
+          heatmap: {},
+          cards: { cardPadding: null, cardRound: null },
+          color: {
+            mode: "spectrum",
+            cardColor: "#b4ff00",
+            colorScale: "sqrt",
+            exponent: 0.5,
+            colorScheme: "interpolateOranges",
+          },
+          legend: { show: !1 },
+          dataFormat: "timeseries",
+          yBucketBound: "auto",
+          reverseYBuckets: !1,
+          xAxis: { show: !0 },
+          yAxis: {
+            show: !0,
+            format: "short",
+            decimals: null,
+            logBase: 1,
+            splitFactor: null,
+            min: null,
+            max: null,
+          },
+          xBucketSize: null,
+          xBucketNumber: null,
+          yBucketSize: null,
+          yBucketNumber: null,
+          tooltip: { show: !0, showHistogram: !1 },
+          highlightCards: !0,
+          hideZeroBuckets: !1,
+        },
+        Da = ["opacity", "spectrum"],
+        Aa = ["linear", "sqrt"],
+        _a = [
+          { name: "Spectral", value: "interpolateSpectral", invert: "always" },
+          { name: "RdYlGn", value: "interpolateRdYlGn", invert: "always" },
+          { name: "Blues", value: "interpolateBlues", invert: "dark" },
+          { name: "Greens", value: "interpolateGreens", invert: "dark" },
+          { name: "Greys", value: "interpolateGreys", invert: "dark" },
+          { name: "Oranges", value: "interpolateOranges", invert: "dark" },
+          { name: "Purples", value: "interpolatePurples", invert: "dark" },
+          { name: "Reds", value: "interpolateReds", invert: "dark" },
+          { name: "Turbo", value: "interpolateTurbo", invert: "light" },
+          { name: "Cividis", value: "interpolateCividis", invert: "light" },
+          { name: "Viridis", value: "interpolateViridis", invert: "light" },
+          { name: "Magma", value: "interpolateMagma", invert: "light" },
+          { name: "Inferno", value: "interpolateInferno", invert: "light" },
+          { name: "Plasma", value: "interpolatePlasma", invert: "light" },
+          { name: "Warm", value: "interpolateWarm", invert: "light" },
+          { name: "Cool", value: "interpolateCool", invert: "light" },
+          {
+            name: "Cubehelix",
+            value: "interpolateCubehelixDefault",
+            invert: "light",
+          },
+          { name: "BuGn", value: "interpolateBuGn", invert: "dark" },
+          { name: "BuPu", value: "interpolateBuPu", invert: "dark" },
+          { name: "GnBu", value: "interpolateGnBu", invert: "dark" },
+          { name: "OrRd", value: "interpolateOrRd", invert: "dark" },
+          { name: "PuBuGn", value: "interpolatePuBuGn", invert: "dark" },
+          { name: "PuBu", value: "interpolatePuBu", invert: "dark" },
+          { name: "PuRd", value: "interpolatePuRd", invert: "dark" },
+          { name: "RdPu", value: "interpolateRdPu", invert: "dark" },
+          { name: "YlGnBu", value: "interpolateYlGnBu", invert: "dark" },
+          { name: "YlGn", value: "interpolateYlGn", invert: "dark" },
+          { name: "YlOrBr", value: "interpolateYlOrBr", invert: "dark" },
+          { name: "YlOrRd", value: "interpolateYlOrRd", invert: "dark" },
+        ],
+        Na = ["elasticsearch"],
+        Ma = (function (e) {
+          function t(e, n) {
+            var r, a, o;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              (a = this),
+              ((r =
+                !(o = Ea(t).call(this, e, n)) ||
+                ("object" !== ja(o) && "function" != typeof o)
+                  ? Ca(a)
+                  : o).opacityScales = []),
+              (r.colorModes = []),
+              (r.colorSchemes = []),
+              (r.selectionActivated = !1),
+              j.a.defaultsDeep(r.panel, Ta),
+              (r.opacityScales = Aa),
+              (r.colorModes = Da),
+              (r.colorSchemes = _a),
+              (r.useDataFrames = !0),
+              (r.processor = new Ln({
+                xaxis: { mode: "custom" },
+                aliasColors: {},
+              })),
+              r.events.on(Q.PanelEvents.render, r.onRender.bind(Ca(r))),
+              r.events.on(
+                wt.CoreEvents.dataFramesReceived,
+                r.onDataFramesReceived.bind(Ca(r))
+              ),
+              r.events.on(
+                Q.PanelEvents.dataSnapshotLoad,
+                r.onSnapshotLoad.bind(Ca(r))
+              ),
+              r.events.on(
+                Q.PanelEvents.editModeInitialized,
+                r.onInitEditMode.bind(Ca(r))
+              ),
+              (r.onCardColorChange = r.onCardColorChange.bind(Ca(r))),
+              r
+            );
+          }
+          var n, r, a;
+          return (
+            (t.$inject = ["$scope", "$injector"]),
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Pa(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "onInitEditMode",
+                value: function () {
+                  this.addEditorTab("Axes", aa, 2),
+                    this.addEditorTab("Display", ia, 3),
+                    (this.unitFormats = E.a.getUnitFormats());
+                },
+              },
+              {
+                key: "zoomOut",
+                value: function (e) {
+                  this.publishAppEvent(wt.CoreEvents.zoomOut, 2);
+                },
+              },
+              {
+                key: "onRender",
+                value: function () {
+                  this.range &&
+                    this.series &&
+                    ("tsbuckets" === this.panel.dataFormat
+                      ? this.convertHistogramToHeatmapData()
+                      : this.convertTimeSeriesToHeatmapData());
+                },
+              },
+              {
+                key: "convertTimeSeriesToHeatmapData",
+                value: function () {
+                  var e,
+                    t,
+                    n,
+                    r,
+                    a = this.panel.yAxis.logBase,
+                    o = this.panel.xBucketNumber || 30,
+                    i = Math.floor(
+                      (this.range.to.valueOf() - this.range.from.valueOf()) / o
+                    );
+                  (e = E.a.interval_regex.test(this.panel.xBucketSize)
+                    ? E.a.interval_to_ms(this.panel.xBucketSize)
+                    : isNaN(Number(this.panel.xBucketSize)) ||
+                      "" === this.panel.xBucketSize ||
+                      null === this.panel.xBucketSize
+                    ? i
+                    : Number(this.panel.xBucketSize)),
+                    (r = this.parseSeries(this.series));
+                  var l = this.panel.yBucketNumber || 10;
+                  1 !== a
+                    ? (t = this.panel.yAxis.splitFactor)
+                    : ((t =
+                        r.max === r.min
+                          ? r.max
+                            ? r.max / 10
+                            : 1
+                          : (r.max - r.min) / l),
+                      (t = this.panel.yBucketSize || t)),
+                    (n = (function (e, t, n) {
+                      var r =
+                          arguments.length > 3 && void 0 !== arguments[3]
+                            ? arguments[3]
+                            : 1,
+                        a = {},
+                        o = !0,
+                        i = !1,
+                        l = void 0;
+                      try {
+                        for (
+                          var s,
+                            c = function () {
+                              var e = s.value,
+                                t = e.datapoints,
+                                r = e.label;
+                              j.a.forEach(t, function (e) {
+                                var t = ha(e[1], n);
+                                ua(a, e, t, r);
+                              });
+                            },
+                            u = e[Symbol.iterator]();
+                          !(o = (s = u.next()).done);
+                          o = !0
+                        )
+                          c();
+                      } catch (e) {
+                        (i = !0), (l = e);
+                      } finally {
+                        try {
+                          o || null == u.return || u.return();
+                        } finally {
+                          if (i) throw l;
+                        }
+                      }
+                      return (
+                        j.a.forEach(a, function (e) {
+                          e.buckets = 1 !== r ? ba(e, t, r) : ma(e, t);
+                        }),
+                        a
+                      );
+                    })(this.series, t, e, a)),
+                    r.min ||
+                      r.max ||
+                      ((r = { min: -1, max: 1, minLog: 1 }), (t = 1));
+                  var s = ca(n, this.panel.hideZeroBuckets),
+                    c = s.cards,
+                    u = s.cardStats;
+                  this.data = {
+                    buckets: n,
+                    heatmapStats: r,
+                    xBucketSize: e,
+                    yBucketSize: t,
+                    cards: c,
+                    cardStats: u,
+                  };
+                },
+              },
+              {
+                key: "convertHistogramToHeatmapData",
+                value: function () {
+                  var e,
+                    t,
+                    n,
+                    r = this.getPanelDataSourceType();
+                  j.a.includes(Na, r) || this.series.sort(la),
+                    this.panel.reverseYBuckets && this.series.reverse(),
+                    (t = (function (e) {
+                      for (var t = {}, n = 0; n < e.length; n++) {
+                        var r = e[n],
+                          a = n;
+                        if (isNaN(a)) return t;
+                        var o = !0,
+                          i = !1,
+                          l = void 0;
+                        try {
+                          for (
+                            var s, c = r.datapoints[Symbol.iterator]();
+                            !(o = (s = c.next()).done);
+                            o = !0
+                          ) {
+                            var u = s.value,
+                              f = u[0],
+                              d = u[1];
+                            if (j.a.isNumber(f)) {
+                              var p = t[d];
+                              p || (p = t[d] = { x: d, buckets: {} }),
+                                (p.buckets[a] = {
+                                  y: a,
+                                  count: f,
+                                  bounds: { top: null, bottom: a },
+                                  values: [],
+                                  points: [],
+                                });
+                            }
+                          }
+                        } catch (e) {
+                          (i = !0), (l = e);
+                        } finally {
+                          try {
+                            o || null == c.return || c.return();
+                          } finally {
+                            if (i) throw l;
+                          }
+                        }
+                      }
+                      return t;
+                    })(this.series)),
+                    (n = j.a.map(this.series, "label"));
+                  var a = this.panel.yBucketBound;
+                  ("prometheus" === r && "lower" !== a && "middle" !== a) ||
+                  "upper" === a
+                    ? (n = [""].concat(n))
+                    : n.push(""),
+                    (e = (function (e) {
+                      var t =
+                          arguments.length > 1 && void 0 !== arguments[1]
+                            ? arguments[1]
+                            : 1,
+                        n = 1 / 0;
+                      if (0 === e.length) return 0;
+                      if (1 === e.length) return e[0];
+                      e = j.a.sortBy(e);
+                      for (var r = 1; r < e.length; r++) {
+                        var a = ya(e[r], e[r - 1], t);
+                        n = a < n ? a : n;
+                      }
+                      return n;
+                    })(
+                      j.a.map(j.a.keys(t), function (e) {
+                        return Number(e);
+                      })
+                    ));
+                  var o = ca(t, this.panel.hideZeroBuckets),
+                    i = o.cards,
+                    l = o.cardStats;
+                  this.data = {
+                    buckets: t,
+                    xBucketSize: e,
+                    yBucketSize: 1,
+                    tsBuckets: n,
+                    cards: i,
+                    cardStats: l,
+                  };
+                },
+              },
+              {
+                key: "getPanelDataSourceType",
+                value: function () {
+                  return this.datasource &&
+                    this.datasource.meta &&
+                    this.datasource.meta.id
+                    ? this.datasource.meta.id
+                    : "unknown";
+                },
+              },
+              {
+                key: "onSnapshotLoad",
+                value: function (e) {
+                  this.onDataFramesReceived(Object(Un.a)(e));
+                },
+              },
+              {
+                key: "onDataFramesReceived",
+                value: function (e) {
+                  var t = this;
+                  if (
+                    ((this.series = this.processor
+                      .getSeriesList({ dataList: e, range: this.range })
+                      .map(function (e) {
+                        return (
+                          (e.color = null),
+                          (e.flotpairs = e.getFlotPairs(t.panel.nullPointMode)),
+                          e
+                        );
+                      })),
+                    (this.dataWarning = null),
+                    0 ===
+                      j.a.reduce(
+                        this.series,
+                        function (e, t) {
+                          return e + t.datapoints.length;
+                        },
+                        0
+                      ))
+                  )
+                    this.dataWarning = {
+                      title: "No data points",
+                      tip: "No datapoints returned from data query",
+                    };
+                  else {
+                    var n = !0,
+                      r = !1,
+                      a = void 0;
+                    try {
+                      for (
+                        var o, i = this.series[Symbol.iterator]();
+                        !(n = (o = i.next()).done);
+                        n = !0
+                      )
+                        if (o.value.isOutsideRange) {
+                          this.dataWarning = {
+                            title: "Data points outside time range",
+                            tip:
+                              "Can be caused by timezone mismatch or missing time filter in query",
+                          };
+                          break;
+                        }
+                    } catch (e) {
+                      (r = !0), (a = e);
+                    } finally {
+                      try {
+                        n || null == i.return || i.return();
+                      } finally {
+                        if (r) throw a;
+                      }
+                    }
+                  }
+                  this.render();
+                },
+              },
+              {
+                key: "onDataError",
+                value: function () {
+                  (this.series = []), this.render();
+                },
+              },
+              {
+                key: "onCardColorChange",
+                value: function (e) {
+                  (this.panel.color.cardColor = e), this.render();
+                },
+              },
+              {
+                key: "parseSeries",
+                value: function (e) {
+                  var t = j.a.min(
+                      j.a.map(e, function (e) {
+                        return e.stats.min;
+                      })
+                    ),
+                    n = j.a.min(
+                      j.a.map(e, function (e) {
+                        return e.stats.logmin;
+                      })
+                    );
+                  return {
+                    max: j.a.max(
+                      j.a.map(e, function (e) {
+                        return e.stats.max;
+                      })
+                    ),
+                    min: t,
+                    minLog: n,
+                  };
+                },
+              },
+              {
+                key: "parseHistogramSeries",
+                value: function (e) {
+                  var t = j.a.map(e, function (e) {
+                      return Number(e.alias);
+                    }),
+                    n = j.a.min(t),
+                    r = j.a.min(t);
+                  return { max: j.a.max(t), min: n, minLog: r };
+                },
+              },
+              {
+                key: "link",
+                value: function (e, t, n, r) {
+                  !(function (e, t, n, r) {
+                    new ka(e, t, n, r);
+                  })(e, t, n, r);
+                },
+              },
+            ]) && Sa(n.prototype, r),
+            a && Sa(n, a),
+            t
+          );
+        })(S.MetricsPanelCtrl);
+      Ma.templateUrl = "module.html";
+      var Ia = n("5kRJ");
+      function Ra(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      var Fa = {},
+        La = function (e) {
+          return Array.isArray(e)
+            ? e.reduce(function (e, t) {
+                return t.datapoints ? e.concat(t) : e;
+              }, [])
+            : e.datapoints
+            ? [e]
+            : [];
+        },
+        Va = function (e) {
+          return Array.isArray(e)
+            ? e.reduce(function (e, t) {
+                return t.columns ? e.concat(t) : e;
+              }, [])
+            : e.columns
+            ? [e]
+            : [];
+        };
+      function Ba(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      (Fa.timeseries_to_rows = {
+        description: "Time series to rows",
+        getColumns: function () {
+          return [];
+        },
+        transform: function (e, t, n) {
+          n.columns = [
+            { text: "Time", type: "date" },
+            { text: "Metric" },
+            { text: "Value" },
+          ];
+          for (var r = La(e), a = 0; a < r.length; a++)
+            for (var o = r[a], i = 0; i < o.datapoints.length; i++) {
+              var l = o.datapoints[i];
+              n.rows.push([l[1], o.target, l[0]]);
+            }
+        },
+      }),
+        (Fa.timeseries_to_columns = {
+          description: "Time series to columns",
+          getColumns: function () {
+            return [];
+          },
+          transform: function (e, t, n) {
+            n.columns.push({ text: "Time", type: "date" });
+            for (var r = {}, a = La(e), o = 0; o < a.length; o++) {
+              var i = a[o];
+              n.columns.push({ text: i.target });
+              for (var l = 0; l < i.datapoints.length; l++) {
+                var s = i.datapoints[l],
+                  c = s[1].toString();
+                r[c]
+                  ? (r[c][o] = s[0])
+                  : ((r[c] = { time: s[1] }), (r[c][o] = s[0]));
+              }
+            }
+            for (var u in r) {
+              for (var f = r[u], d = [f.time], p = 0; p < a.length; p++) {
+                var h = f[p];
+                d.push(h);
+              }
+              n.rows.push(d);
+            }
+          },
+        }),
+        (Fa.grouping_to_matrix = {
+          description: "Grouping to matrix",
+          getColumns: function (e) {
+            var t = [];
+            if (void 0 !== Ia.b.variables) {
+              var n = !0,
+                r = !1,
+                a = void 0;
+              try {
+                for (
+                  var o, i = Ia.b.variables[Symbol.iterator]();
+                  !(n = (o = i.next()).done);
+                  n = !0
+                ) {
+                  var l = o.value,
+                    s = String("$" + l.name),
+                    c = String(l.name);
+                  t.push({ text: s, value: c });
+                }
+              } catch (e) {
+                (r = !0), (a = e);
+              } finally {
+                try {
+                  n || null == i.return || i.return();
+                } finally {
+                  if (r) throw a;
+                }
+              }
+            }
+            if (e.length > 0) {
+              var u = e[0],
+                f = u.target.slice(u.target.indexOf("{") + 1, -1).split(", "),
+                d = f[0].split(": "),
+                p = f[1].split(": ");
+              t.push({ text: d[0], value: d[0] }),
+                t.push({ text: p[0], value: p[0] });
+            }
+            return t;
+          },
+          transform: function (e, t, n) {
+            var r = new Map(),
+              a = new Set(),
+              o = new Set(),
+              i = void 0;
+            if (!t || 0 !== t.columns.length) {
+              if (
+                void 0 !== Ia.b.variables &&
+                "$" === t.columns[0].text.charAt(0)
+              ) {
+                var l = !0,
+                  s = !1,
+                  c = void 0;
+                try {
+                  for (
+                    var u, f = Ia.b.variables[Symbol.iterator]();
+                    !(l = (u = f.next()).done);
+                    l = !0
+                  ) {
+                    var d,
+                      p = u.value,
+                      h = String(p.name);
+                    if (
+                      ((d =
+                        void 0 !== p.current
+                          ? String(p.current.value)
+                          : void 0),
+                      h === t.columns[0].value)
+                    ) {
+                      i = d;
+                      break;
+                    }
+                  }
+                } catch (e) {
+                  (s = !0), (c = e);
+                } finally {
+                  try {
+                    l || null == f.return || f.return();
+                  } finally {
+                    if (s) throw c;
+                  }
+                }
+              }
+              void 0 === i && (i = t.columns[0].value);
+            }
+            var m = !0,
+              g = !1,
+              b = void 0;
+            try {
+              for (
+                var v, y = e[Symbol.iterator]();
+                !(m = (v = y.next()).done);
+                m = !0
+              ) {
+                var w,
+                  O,
+                  x = v.value,
+                  k = x.target.slice(x.target.indexOf("{") + 1, -1).split(", "),
+                  j = k[0].split(": "),
+                  S = k[1].split(": ");
+                i === S[0]
+                  ? ((w = S[1]), (O = j[1]))
+                  : ((w = j[1]), (O = S[1])),
+                  a.add(w),
+                  o.add(O),
+                  r.has(w) || r.set(w, new Map()),
+                  r.get(w).set(O, x.datapoints[0][0]);
+              }
+            } catch (e) {
+              (g = !0), (b = e);
+            } finally {
+              try {
+                m || null == y.return || y.return();
+              } finally {
+                if (g) throw b;
+              }
+            }
+            var E = Array.from(o.values()).sort(function (e, t) {
+                return e.localeCompare(t);
+              }),
+              C = Array.from(a.values()).sort(function (e, t) {
+                return e.localeCompare(t);
+              });
+            n.columns.push({ text: "" }),
+              C.forEach(function (e) {
+                return n.columns.push({ text: e });
+              }),
+              E.forEach(function (e) {
+                return n.rows.push(
+                  [e].concat(
+                    C.map(function (t) {
+                      return r.has(t) && r.get(t).has(e)
+                        ? r.get(t).get(e)
+                        : void 0;
+                    })
+                  )
+                );
+              });
+          },
+        }),
+        (Fa.timeseries_aggregations = {
+          description: "Time series aggregations",
+          getColumns: function () {
+            return [
+              { text: "Avg", value: "avg" },
+              { text: "Min", value: "min" },
+              { text: "Max", value: "max" },
+              { text: "Total", value: "total" },
+              { text: "Current", value: "current" },
+              { text: "Count", value: "count" },
+            ];
+          },
+          transform: function (e, t, n) {
+            var r, a;
+            for (
+              n.columns.push({ text: "Metric" }), r = 0;
+              r < t.columns.length;
+              r++
+            )
+              n.columns.push({ text: t.columns[r].text });
+            var o = La(e);
+            for (r = 0; r < o.length; r++) {
+              var i = new H.a({
+                datapoints: o[r].datapoints,
+                alias: o[r].target,
+              });
+              i.getFlotPairs("connected");
+              var l = [i.alias];
+              for (a = 0; a < t.columns.length; a++)
+                l.push(i.stats[t.columns[a].value]);
+              n.rows.push(l);
+            }
+          },
+        }),
+        (Fa.annotations = {
+          description: "Annotations",
+          getColumns: function () {
+            return [];
+          },
+          transform: function (e, t, n) {
+            if (
+              (n.columns.push({ text: "Time", type: "date" }),
+              n.columns.push({ text: "Title" }),
+              n.columns.push({ text: "Text" }),
+              n.columns.push({ text: "Tags" }),
+              e && e.annotations && 0 !== e.annotations.length)
+            )
+              for (var r = 0; r < e.annotations.length; r++) {
+                var a = e.annotations[r];
+                n.rows.push([a.time, a.title, a.text, a.tags]);
+              }
+          },
+        }),
+        (Fa.table = {
+          description: "Table",
+          getColumns: function (e) {
+            if (!e || 0 === e.length) return [];
+            if (1 === e.length) return Ra(e[0].columns);
+            var t = Va(e),
+              n = {};
+            return t.reduce(function (e, t) {
+              return (
+                t.columns.forEach(function (t) {
+                  var r = t.text;
+                  void 0 === n[r] && ((n[r] = e.length), e.push(t));
+                }),
+                e
+              );
+            }, []);
+          },
+          transform: function (e, t, n) {
+            if (e && 0 !== e.length) {
+              var r = Va(e),
+                a = j.a.findIndex(r, function (e) {
+                  return "columns" in e && "rows" in e;
+                });
+              if (a < 0)
+                throw {
+                  message: "Result of query #".concat(
+                    String.fromCharCode(65 + a),
+                    " is not in table format, try using another transform."
+                  ),
+                };
+              G.b.apply(void 0, [n].concat(Ra(r)));
+            }
+          },
+        }),
+        (Fa.json = {
+          description: "JSON Data",
+          getColumns: function (e) {
+            if (!e || 0 === e.length) return [];
+            for (var t = {}, n = 0; n < e.length; n++) {
+              var r = e[n];
+              if ("docs" === r.type)
+                for (
+                  var a = Math.min(r.datapoints.length, 100), o = 0;
+                  o < a;
+                  o++
+                ) {
+                  var i = r.datapoints[o],
+                    l = Object(K.default)(i, {});
+                  for (var s in l) t[s] = !0;
+                }
+            }
+            return j.a.map(t, function (e, t) {
+              return { text: t, value: t };
+            });
+          },
+          transform: function (e, t, n) {
+            var r,
+              a,
+              o,
+              i = !0,
+              l = !1,
+              s = void 0;
+            try {
+              for (
+                var c, u = t.columns[Symbol.iterator]();
+                !(i = (c = u.next()).done);
+                i = !0
+              ) {
+                var f = { text: c.value.text };
+                e.length > 0 && e[0].filterable && (f.filterable = !0),
+                  n.columns.push(f);
+              }
+            } catch (e) {
+              (l = !0), (s = e);
+            } finally {
+              try {
+                i || null == u.return || u.return();
+              } finally {
+                if (l) throw s;
+              }
+            }
+            for (
+              0 === n.columns.length && n.columns.push({ text: "JSON" }), r = 0;
+              r < e.length;
+              r++
+            ) {
+              var d = e[r];
+              for (a = 0; a < d.datapoints.length; a++) {
+                var p = d.datapoints[a],
+                  h = [];
+                if (j.a.isObject(p) && t.columns.length > 0) {
+                  var m = Object(K.default)(p);
+                  for (o = 0; o < t.columns.length; o++)
+                    h.push(m[t.columns[o].value]);
+                } else h.push(JSON.stringify(p));
+                n.rows.push(h);
+              }
+            }
+          },
+        });
+      var $a = (function () {
+        function e(t, n) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.uiSegmentSrv = n),
+            (t.editor = this),
+            (this.panelCtrl = t.ctrl),
+            (this.panel = this.panelCtrl.panel),
+            (this.transformers = Fa),
+            (this.fontSizes = [
+              "80%",
+              "90%",
+              "100%",
+              "110%",
+              "120%",
+              "130%",
+              "150%",
+              "160%",
+              "180%",
+              "200%",
+              "220%",
+              "250%",
+            ]),
+            (this.addColumnSegment = n.newPlusButton()),
+            this.updateTransformHints();
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$scope", "uiSegmentSrv"]),
+          (t = e),
+          (n = [
+            {
+              key: "updateTransformHints",
+              value: function () {
+                switch (
+                  ((this.canSetColumns = !1),
+                  (this.columnsHelpMessage = ""),
+                  this.panel.transform)
+                ) {
+                  case "timeseries_aggregations":
+                  case "json":
+                    this.canSetColumns = !0;
+                    break;
+                  case "table":
+                    this.columnsHelpMessage =
+                      "Columns and their order are determined by the data query";
+                  case "grouping_to_matrix":
+                    this.canSetColumns = !0;
+                }
+              },
+            },
+            {
+              key: "getColumnOptions",
+              value: function () {
+                var e = this;
+                if (!this.panelCtrl.dataRaw) return Promise.resolve([]);
+                var t = this.transformers[this.panel.transform].getColumns(
+                    this.panelCtrl.dataRaw
+                  ),
+                  n = j.a.map(t, function (t) {
+                    return e.uiSegmentSrv.newSegment({ value: t.text });
+                  });
+                return Promise.resolve(n);
+              },
+            },
+            {
+              key: "addColumn",
+              value: function () {
+                var e = Fa[this.panel.transform].getColumns(
+                    this.panelCtrl.dataRaw
+                  ),
+                  t = j.a.find(e, { text: this.addColumnSegment.value });
+                t && (this.panel.columns.push(t), this.render());
+                var n = this.uiSegmentSrv.newPlusButton();
+                (this.addColumnSegment.html = n.html),
+                  (this.addColumnSegment.value = n.value);
+              },
+            },
+            {
+              key: "transformChanged",
+              value: function () {
+                (this.panel.columns = []),
+                  "annotations" === this.panel.transform
+                    ? this.panelCtrl.refresh()
+                    : ("timeseries_aggregations" === this.panel.transform &&
+                        this.panel.columns.push({ text: "Avg", value: "avg" }),
+                      this.updateTransformHints(),
+                      this.render());
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                this.panelCtrl.render();
+              },
+            },
+            {
+              key: "removeColumn",
+              value: function (e) {
+                (this.panel.columns = j.a.without(this.panel.columns, e)),
+                  this.panelCtrl.render();
+              },
+            },
+          ]) && Ba(t.prototype, n),
+          r && Ba(t, r),
+          e
+        );
+      })();
+      function qa(e) {
+        return {
+          restrict: "E",
+          scope: !0,
+          templateUrl: "public/app/plugins/panel/table/editor.html",
+          controller: $a,
+        };
+      }
+      function Ua(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var za = (function () {
+        function e(t) {
+          var n = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (t.editor = this),
+            (this.activeStyleIndex = 0),
+            (this.panelCtrl = t.ctrl),
+            (this.panel = this.panelCtrl.panel),
+            (this.unitFormats = Object(Q.getValueFormats)()),
+            (this.colorModes = [
+              { text: "Disabled", value: null },
+              { text: "Cell", value: "cell" },
+              { text: "Value", value: "value" },
+              { text: "Row", value: "row" },
+            ]),
+            (this.columnTypes = [
+              { text: "Number", value: "number" },
+              { text: "String", value: "string" },
+              { text: "Date", value: "date" },
+              { text: "Hidden", value: "hidden" },
+            ]),
+            (this.fontSizes = [
+              "80%",
+              "90%",
+              "100%",
+              "110%",
+              "120%",
+              "130%",
+              "150%",
+              "160%",
+              "180%",
+              "200%",
+              "220%",
+              "250%",
+            ]),
+            (this.dateFormats = [
+              { text: "YYYY-MM-DD HH:mm:ss", value: "YYYY-MM-DD HH:mm:ss" },
+              {
+                text: "YYYY-MM-DD HH:mm:ss.SSS",
+                value: "YYYY-MM-DD HH:mm:ss.SSS",
+              },
+              { text: "MM/DD/YY h:mm:ss a", value: "MM/DD/YY h:mm:ss a" },
+              { text: "MMMM D, YYYY LT", value: "MMMM D, YYYY LT" },
+              { text: "YYYY-MM-DD", value: "YYYY-MM-DD" },
+            ]),
+            (this.mappingTypes = [
+              { text: "Value to text", value: 1 },
+              { text: "Range to text", value: 2 },
+            ]),
+            (this.alignTypes = e.alignTypesEnum),
+            (this.getColumnNames = function () {
+              return n.panelCtrl.table
+                ? j.a.map(n.panelCtrl.table.columns, function (e) {
+                    return e.text;
+                  })
+                : [];
+            }),
+            (this.onColorChange = this.onColorChange.bind(this));
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$scope"]),
+          (t = e),
+          (n = [
+            {
+              key: "render",
+              value: function () {
+                this.panelCtrl.render();
+              },
+            },
+            {
+              key: "setUnitFormat",
+              value: function (e) {
+                var t = this;
+                return function (n) {
+                  (e.unit = n), t.panelCtrl.render();
+                };
+              },
+            },
+            {
+              key: "addColumnStyle",
+              value: function () {
+                var e = this.panel.styles,
+                  t = e.length,
+                  n = t;
+                t > 0 && "/.*/" === e[t - 1].pattern && (n = t - 1),
+                  e.splice(n, 0, {
+                    unit: "short",
+                    type: "number",
+                    alias: "",
+                    decimals: 2,
+                    colors: [
+                      "rgba(245, 54, 54, 0.9)",
+                      "rgba(237, 129, 40, 0.89)",
+                      "rgba(50, 172, 45, 0.97)",
+                    ],
+                    colorMode: null,
+                    pattern: "",
+                    dateFormat: "YYYY-MM-DD HH:mm:ss",
+                    thresholds: [],
+                    mappingType: 1,
+                    align: "auto",
+                  }),
+                  (this.activeStyleIndex = n);
+              },
+            },
+            {
+              key: "removeColumnStyle",
+              value: function (e) {
+                this.panel.styles = j.a.without(this.panel.styles, e);
+              },
+            },
+            {
+              key: "invertColorOrder",
+              value: function (e) {
+                var t = this.panel.styles[e].colors,
+                  n = t[0];
+                (t[0] = t[2]), (t[2] = n), this.panelCtrl.render();
+              },
+            },
+            {
+              key: "onColorChange",
+              value: function (e, t) {
+                var n = this;
+                return function (r) {
+                  (e.colors[t] = r), n.render();
+                };
+              },
+            },
+            {
+              key: "addValueMap",
+              value: function (e) {
+                e.valueMaps || (e.valueMaps = []),
+                  e.valueMaps.push({ value: "", text: "" }),
+                  this.panelCtrl.render();
+              },
+            },
+            {
+              key: "removeValueMap",
+              value: function (e, t) {
+                e.valueMaps.splice(t, 1), this.panelCtrl.render();
+              },
+            },
+            {
+              key: "addRangeMap",
+              value: function (e) {
+                e.rangeMaps || (e.rangeMaps = []),
+                  e.rangeMaps.push({ from: "", to: "", text: "" }),
+                  this.panelCtrl.render();
+              },
+            },
+            {
+              key: "removeRangeMap",
+              value: function (e, t) {
+                e.rangeMaps.splice(t, 1), this.panelCtrl.render();
+              },
+            },
+          ]) && Ua(t.prototype, n),
+          r && Ua(t, r),
+          e
+        );
+      })();
+      function Ha(e) {
+        return {
+          restrict: "E",
+          scope: !0,
+          templateUrl: "public/app/plugins/panel/table/column_options.html",
+          controller: za,
+        };
+      }
+      function Ga(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      za.alignTypesEnum = [
+        { text: "auto", value: "" },
+        { text: "left", value: "left" },
+        { text: "center", value: "center" },
+        { text: "right", value: "right" },
+      ];
+      var Wa = (function () {
+        function e(t, n, r, a, o, i) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.panel = t),
+            (this.table = n),
+            (this.isUtc = r),
+            (this.sanitize = a),
+            (this.templateSrv = o),
+            (this.theme = i),
+            this.initColumns();
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "setTable",
+              value: function (e) {
+                (this.table = e), this.initColumns();
+              },
+            },
+            {
+              key: "initColumns",
+              value: function () {
+                (this.formatters = []), (this.colorState = {});
+                for (var e = 0; e < this.table.columns.length; e++) {
+                  var t = this.table.columns[e];
+                  t.title = t.text;
+                  for (var n = 0; n < this.panel.styles.length; n++) {
+                    var r = this.panel.styles[n],
+                      a = Object(Q.stringStartsAsRegEx)(r.pattern)
+                        ? r.pattern
+                        : Object(Q.escapeStringForRegex)(
+                            Object(Q.unEscapeStringFromRegex)(r.pattern)
+                          ),
+                      o = Object(Q.stringToJsRegex)(a);
+                    if (t.text.match(o)) {
+                      (t.style = r),
+                        r.alias &&
+                          (t.title = Object(te.a)(t.text.replace(o, r.alias)));
+                      break;
+                    }
+                  }
+                  this.formatters[e] = this.createColumnFormatter(t);
+                }
+              },
+            },
+            {
+              key: "getColorForValue",
+              value: function (e, t) {
+                if (!t.thresholds || !t.colors) return null;
+                for (var n = t.thresholds.length; n > 0; n--)
+                  if (e >= t.thresholds[n - 1])
+                    return Object(Q.getColorFromHexRgbOrName)(
+                      t.colors[n],
+                      this.theme
+                    );
+                return Object(Q.getColorFromHexRgbOrName)(
+                  j.a.first(t.colors),
+                  this.theme
+                );
+              },
+            },
+            {
+              key: "defaultCellFormatter",
+              value: function (e, t) {
+                return null == e || void 0 === e
+                  ? ""
+                  : (j.a.isArray(e) && (e = e.join(", ")),
+                    t && t.sanitize ? this.sanitize(e) : j.a.escape(e));
+              },
+            },
+            {
+              key: "createColumnFormatter",
+              value: function (e) {
+                var t = this;
+                if (!e.style) return this.defaultCellFormatter;
+                if ("hidden" === e.style.type) return function (e) {};
+                if ("date" === e.style.type)
+                  return function (n) {
+                    if (null == n) return "-";
+                    j.a.isArray(n) && (n = n[0]),
+                      j.a.isString(n) &&
+                        !isNaN(n) &&
+                        n.length > 12 &&
+                        (n = parseInt(n, 10));
+                    var r = Object(Q.dateTime)(n);
+                    return (
+                      t.isUtc && (r = r.utc()), r.format(e.style.dateFormat)
+                    );
+                  };
+                if ("string" === e.style.type)
+                  return function (n) {
+                    j.a.isArray(n) && (n = n.join(", "));
+                    var r = e.style.mappingType || 0;
+                    if (1 === r && e.style.valueMaps)
+                      for (var a = 0; a < e.style.valueMaps.length; a++) {
+                        var o = e.style.valueMaps[a];
+                        if (null !== n) {
+                          if (
+                            (!j.a.isString(n) &&
+                              Number(o.value) === Number(n)) ||
+                            o.value === n
+                          )
+                            return (
+                              t.setColorState(n, e.style),
+                              t.defaultCellFormatter(o.text, e.style)
+                            );
+                        } else if ("null" === o.value) return o.text;
+                      }
+                    if (2 === r && e.style.rangeMaps)
+                      for (var i = 0; i < e.style.rangeMaps.length; i++) {
+                        var l = e.style.rangeMaps[i];
+                        if (null !== n) {
+                          if (
+                            Number(l.from) <= Number(n) &&
+                            Number(l.to) >= Number(n)
+                          )
+                            return (
+                              t.setColorState(n, e.style),
+                              t.defaultCellFormatter(l.text, e.style)
+                            );
+                        } else if ("null" === l.from && "null" === l.to)
+                          return l.text;
+                      }
+                    return null == n
+                      ? "-"
+                      : (t.setColorState(n, e.style),
+                        t.defaultCellFormatter(n, e.style));
+                  };
+                if ("number" === e.style.type) {
+                  var n = Object(Q.getValueFormat)(e.unit || e.style.unit);
+                  return function (r) {
+                    return null == r
+                      ? "-"
+                      : isNaN(r) || j.a.isArray(r)
+                      ? t.defaultCellFormatter(r, e.style)
+                      : (t.setColorState(r, e.style),
+                        Object(Q.formattedValueToString)(
+                          n(r, e.style.decimals, null)
+                        ));
+                  };
+                }
+                return function (n) {
+                  return t.defaultCellFormatter(n, e.style);
+                };
+              },
+            },
+            {
+              key: "setColorState",
+              value: function (e, t) {
+                if (t.colorMode && null != e && !j.a.isArray(e)) {
+                  var n = Number(e);
+                  isNaN(n) ||
+                    (this.colorState[t.colorMode] = this.getColorForValue(
+                      n,
+                      t
+                    ));
+                }
+              },
+            },
+            {
+              key: "renderRowVariables",
+              value: function (e) {
+                for (
+                  var t = {}, n = this.table.rows[e], r = 0;
+                  r < n.length;
+                  r++
+                )
+                  t["__cell_".concat(r)] = {
+                    value: n[r],
+                    text: n[r] ? n[r].toString() : "",
+                  };
+                return t;
+              },
+            },
+            {
+              key: "formatColumnValue",
+              value: function (e, t) {
+                var n = this.formatters[e];
+                return n ? n(t) : t;
+              },
+            },
+            {
+              key: "renderCell",
+              value: function (e, t, n) {
+                var r =
+                  arguments.length > 3 &&
+                  void 0 !== arguments[3] &&
+                  arguments[3];
+                n = this.formatColumnValue(e, n);
+                var a = this.table.columns[e],
+                  o = [],
+                  i = "",
+                  l = [],
+                  s = "";
+                this.colorState.cell
+                  ? (o.push("background-color:" + this.colorState.cell),
+                    l.push("table-panel-color-cell"),
+                    (this.colorState.cell = null))
+                  : this.colorState.value &&
+                    (o.push("color:" + this.colorState.value),
+                    (this.colorState.value = null));
+                var c = "";
+                if (
+                  (r &&
+                    (c =
+                      '<div class="table-panel-width-hack">' +
+                      this.table.columns[e].title +
+                      "</div>"),
+                  void 0 === n
+                    ? (o.push("display:none"), (a.hidden = !0))
+                    : (a.hidden = !1),
+                  !0 === a.hidden)
+                )
+                  return "";
+                if (
+                  (a.style &&
+                    a.style.preserveFormat &&
+                    l.push("table-panel-cell-pre"),
+                  a.style && a.style.align)
+                ) {
+                  var u = j.a.find(za.alignTypesEnum, ["text", a.style.align]);
+                  u && u.value && o.push("text-align:".concat(u.value));
+                }
+                if (
+                  (o.length && (i = ' style="' + o.join(";") + '"'),
+                  a.style && a.style.link)
+                ) {
+                  var f = this.renderRowVariables(t);
+                  f.__cell = { value: n, text: n ? n.toString() : "" };
+                  var d = this.templateSrv.replace(
+                      a.style.linkUrl,
+                      f,
+                      encodeURIComponent
+                    ),
+                    p = Object(te.d)(d),
+                    h = Object(te.a)(
+                      this.templateSrv.replace(a.style.linkTooltip, f)
+                    ),
+                    m = a.style.linkTargetBlank ? "_blank" : "";
+                  l.push("table-panel-cell-link"),
+                    (c += '<a href="'
+                      .concat(p, '" target="')
+                      .concat(m, '" data-link-tooltip data-original-title="')
+                      .concat(h, '" data-placement="right"')
+                      .concat(i, ">")),
+                    (c += "".concat(n)),
+                    (c += "</a>");
+                } else c += n;
+                return (
+                  a.filterable &&
+                    (l.push("table-panel-cell-filterable"),
+                    (c += '<a class="table-panel-filter-link" data-link-tooltip data-original-title="Filter out value" data-placement="bottom"\n           data-row="'
+                      .concat(t, '" data-column="')
+                      .concat(e, '" data-operator="!=">')),
+                    (c += '<i class="fa fa-search-minus"></i>'),
+                    (c += "</a>"),
+                    (c += '<a class="table-panel-filter-link" data-link-tooltip data-original-title="Filter for value" data-placement="bottom"\n           data-row="'
+                      .concat(t, '" data-column="')
+                      .concat(e, '" data-operator="=">')),
+                    (c += '<i class="fa fa-search-plus"></i>'),
+                    (c += "</a>")),
+                  l.length && (s = ' class="' + l.join(" ") + '"'),
+                  (c = "<td" + s + i + ">" + c + "</td>")
+                );
+              },
+            },
+            {
+              key: "render",
+              value: function (e) {
+                for (
+                  var t = this.panel.pageSize || 100,
+                    n = e * t,
+                    r = Math.min(n + t, this.table.rows.length),
+                    a = "",
+                    o = n;
+                  o < r;
+                  o++
+                ) {
+                  for (
+                    var i = this.table.rows[o],
+                      l = "",
+                      s = "",
+                      c = [],
+                      u = "",
+                      f = 0;
+                    f < this.table.columns.length;
+                    f++
+                  )
+                    l += this.renderCell(f, o, i[f], o === n);
+                  this.colorState.row &&
+                    ((s =
+                      ' style="background-color:' + this.colorState.row + '"'),
+                    c.push("table-panel-color-row"),
+                    (this.colorState.row = null)),
+                    c.length && (u = ' class="' + c.join(" ") + '"'),
+                    (a += "<tr " + u + s + ">" + l + "</tr>");
+                }
+                return a;
+              },
+            },
+            {
+              key: "render_values",
+              value: function () {
+                for (
+                  var e = [],
+                    t = this.table.columns.filter(function (e) {
+                      return !e.hidden;
+                    }),
+                    n = 0;
+                  n < this.table.rows.length;
+                  n++
+                ) {
+                  for (
+                    var r = this.table.rows[n], a = [], o = 0;
+                    o < this.table.columns.length;
+                    o++
+                  )
+                    this.table.columns[o].hidden ||
+                      a.push(this.formatColumnValue(o, r[o]));
+                  e.push(a);
+                }
+                return { columns: t, rows: e };
+              },
+            },
+          ]) && Ga(t.prototype, n),
+          r && Ga(t, r),
+          e
+        );
+      })();
+      function Qa(e) {
+        return (Qa =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Ya(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Ka(e) {
+        if (void 0 === e)
+          throw new ReferenceError(
+            "this hasn't been initialised - super() hasn't been called"
+          );
+        return e;
+      }
+      function Ja(e, t, n) {
+        return (Ja =
+          "undefined" != typeof Reflect && Reflect.get
+            ? Reflect.get
+            : function (e, t, n) {
+                var r = (function (e, t) {
+                  for (
+                    ;
+                    !Object.prototype.hasOwnProperty.call(e, t) &&
+                    null !== (e = Za(e));
+
+                  );
+                  return e;
+                })(e, t);
+                if (r) {
+                  var a = Object.getOwnPropertyDescriptor(r, t);
+                  return a.get ? a.get.call(n) : a.value;
+                }
+              })(e, t, n || e);
+      }
+      function Za(e) {
+        return (Za = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Xa(e, t) {
+        return (Xa =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var eo = (function (e) {
+        function t(e, n, r, a, o, i) {
+          var l, s, c;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            (s = this),
+            ((l =
+              !(c = Za(t).call(this, e, n)) ||
+              ("object" !== Qa(c) && "function" != typeof c)
+                ? Ka(s)
+                : c).annotationsSrv = a),
+            (l.$sanitize = o),
+            (l.variableSrv = i),
+            (l.panelDefaults = {
+              targets: [{}],
+              transform: "timeseries_to_columns",
+              pageSize: null,
+              showHeader: !0,
+              styles: [
+                {
+                  type: "date",
+                  pattern: "Time",
+                  alias: "Time",
+                  dateFormat: "YYYY-MM-DD HH:mm:ss",
+                  align: "auto",
+                },
+                {
+                  unit: "short",
+                  type: "number",
+                  alias: "",
+                  decimals: 2,
+                  colors: [
+                    "rgba(245, 54, 54, 0.9)",
+                    "rgba(237, 129, 40, 0.89)",
+                    "rgba(50, 172, 45, 0.97)",
+                  ],
+                  colorMode: null,
+                  pattern: "/.*/",
+                  thresholds: [],
+                  align: "right",
+                },
+              ],
+              columns: [],
+              fontSize: "100%",
+              sort: { col: 0, desc: !0 },
+            }),
+            (l.pageIndex = 0),
+            void 0 === l.panel.styles &&
+              ((l.panel.styles = l.panel.columns),
+              (l.panel.columns = l.panel.fields),
+              delete l.panel.columns,
+              delete l.panel.fields),
+            j.a.defaults(l.panel, l.panelDefaults),
+            l.events.on(
+              Q.PanelEvents.dataReceived,
+              l.onDataReceived.bind(Ka(l))
+            ),
+            l.events.on(
+              Q.PanelEvents.dataSnapshotLoad,
+              l.onDataReceived.bind(Ka(l))
+            ),
+            l.events.on(
+              Q.PanelEvents.editModeInitialized,
+              l.onInitEditMode.bind(Ka(l))
+            ),
+            l.events.on(
+              Q.PanelEvents.initPanelActions,
+              l.onInitPanelActions.bind(Ka(l))
+            ),
+            l
+          );
+        }
+        var n, r, a;
+        return (
+          (t.$inject = [
+            "$scope",
+            "$injector",
+            "templateSrv",
+            "annotationsSrv",
+            "$sanitize",
+            "variableSrv",
+          ]),
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && Xa(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "onInitEditMode",
+              value: function () {
+                this.addEditorTab("Options", qa, 2),
+                  this.addEditorTab("Column Styles", Ha, 3);
+              },
+            },
+            {
+              key: "onInitPanelActions",
+              value: function (e) {
+                e.push({ text: "Export CSV", click: "ctrl.exportCsv()" });
+              },
+            },
+            {
+              key: "issueQueries",
+              value: function (e) {
+                var n = this;
+                return (
+                  (this.pageIndex = 0),
+                  "annotations" === this.panel.transform
+                    ? this.annotationsSrv
+                        .getAnnotations({
+                          dashboard: this.dashboard,
+                          panel: this.panel,
+                          range: this.range,
+                        })
+                        .then(function (e) {
+                          return (
+                            (n.loading = !1),
+                            (n.dataRaw = e),
+                            (n.pageIndex = 0),
+                            n.render(),
+                            { data: n.dataRaw }
+                          );
+                        })
+                    : Ja(Za(t.prototype), "issueQueries", this).call(this, e)
+                );
+              },
+            },
+            {
+              key: "onDataReceived",
+              value: function (e) {
+                (this.dataRaw = e),
+                  (this.pageIndex = 0),
+                  this.dataRaw &&
+                    this.dataRaw.length &&
+                    (Object(Q.isTableData)(this.dataRaw[0])
+                      ? (this.panel.transform = "table")
+                      : "docs" === this.dataRaw[0].type
+                      ? (this.panel.transform = "json")
+                      : ("table" !== this.panel.transform &&
+                          "json" !== this.panel.transform) ||
+                        (this.panel.transform = "timeseries_to_rows")),
+                  this.render();
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                return (
+                  (this.table = (function (e, t) {
+                    var n = new G.a();
+                    if (!e || 0 === e.length) return n;
+                    var r = Fa[t.transform];
+                    if (!r)
+                      throw {
+                        message: "Transformer " + t.transform + " not found",
+                      };
+                    return r.transform(e, t, n), n;
+                  })(this.dataRaw, this.panel)),
+                  this.table.sort(this.panel.sort),
+                  (this.renderer = new Wa(
+                    this.panel,
+                    this.table,
+                    this.dashboard.isTimezoneUtc(),
+                    this.$sanitize,
+                    this.templateSrv,
+                    z.b.theme.type
+                  )),
+                  Ja(Za(t.prototype), "render", this).call(this, this.table)
+                );
+              },
+            },
+            {
+              key: "toggleColumnSort",
+              value: function (e, t) {
+                this.table.columns[this.panel.sort.col] &&
+                  (this.table.columns[this.panel.sort.col].sort = !1),
+                  this.panel.sort.col === t
+                    ? this.panel.sort.desc
+                      ? (this.panel.sort.desc = !1)
+                      : (this.panel.sort.col = null)
+                    : ((this.panel.sort.col = t), (this.panel.sort.desc = !0)),
+                  this.render();
+              },
+            },
+            {
+              key: "exportCsv",
+              value: function () {
+                var e = this.$scope.$new(!0);
+                (e.tableData = this.renderer.render_values()),
+                  (e.panel = "table"),
+                  this.publishAppEvent(wt.CoreEvents.showModal, {
+                    templateHtml:
+                      '<export-data-modal panel="panel" data="tableData"></export-data-modal>',
+                    scope: e,
+                    modalClass: "modal--narrow",
+                  });
+              },
+            },
+            {
+              key: "link",
+              value: function (e, t, n, r) {
+                var a,
+                  o = r.panel,
+                  i = 0;
+                function l() {
+                  var e,
+                    n = t.parents(".panel-content"),
+                    l = t.find(".table-panel-scroll"),
+                    s = t.find("tbody"),
+                    c = t.find(".table-panel-footer");
+                  t.css({ "font-size": o.fontSize }),
+                    n.addClass("table-panel-content"),
+                    (function (e) {
+                      r.renderer.setTable(a),
+                        e.empty(),
+                        e.html(r.renderer.render(r.pageIndex));
+                    })(s),
+                    (function (e) {
+                      e.empty();
+                      var t = o.pageSize || 100;
+                      if (1 !== (i = Math.ceil(a.rows.length / t))) {
+                        for (
+                          var n = Math.max(r.pageIndex - 3, 0),
+                            l = Math.min(i, n + 9),
+                            s = _()("<ul></ul>"),
+                            c = n;
+                          c < l;
+                          c++
+                        ) {
+                          var u = c === r.pageIndex ? "active" : "",
+                            f = _()(
+                              '<li><a class="table-panel-page-link pointer ' +
+                                u +
+                                '">' +
+                                (c + 1) +
+                                "</a></li>"
+                            );
+                          s.append(f);
+                        }
+                        e.append(s);
+                      }
+                    })(c),
+                    l.css({
+                      "max-height":
+                        ((e = r.height), i > 1 && (e -= 26), e - 31 + "px"),
+                    });
+                }
+                t.tooltip({ selector: "[data-link-tooltip]" }),
+                  t.on("click", ".table-panel-page-link", function (e) {
+                    var t = _()(e.currentTarget);
+                    (r.pageIndex = parseInt(t.text(), 10) - 1), l();
+                  }),
+                  t.on("click", ".table-panel-filter-link", function (e) {
+                    var t = _()(e.currentTarget).data(),
+                      n = {
+                        datasource: o.datasource,
+                        key: a.columns[t.column].text,
+                        value: a.rows[t.row][t.column],
+                        operator: t.operator,
+                      };
+                    r.variableSrv.setAdhocFilter(n);
+                  });
+                var s = e.$on("$destroy", function () {
+                  t.off("click", ".table-panel-page-link"),
+                    t.off("click", ".table-panel-filter-link"),
+                    s();
+                });
+                r.events.on(Q.PanelEvents.render, function (e) {
+                  (a = e || a) && l(), r.renderingCompleted();
+                });
+              },
+            },
+          ]) && Ya(n.prototype, r),
+          a && Ya(n, a),
+          t
+        );
+      })(S.MetricsPanelCtrl);
+      eo.templateUrl = "module.html";
+      var to = new Q.PanelPlugin(null);
+      function no(e) {
+        return (no =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function ro(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function ao(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? ro(Object(n), !0).forEach(function (t) {
+                oo(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : ro(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function oo(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function io(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function lo(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function so(e, t) {
+        return !t || ("object" !== no(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function co(e) {
+        return (co = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function uo(e, t) {
+        return (uo =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      (to.angularPanelCtrl = eo), to.setNoPadding();
+      var fo = (function (e) {
+          function t() {
+            var e, n;
+            io(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = so(
+                this,
+                (e = co(t)).call.apply(e, [this].concat(a))
+              )).onToggleShowHeader = function () {
+                n.props.onOptionsChange(
+                  ao({}, n.props.options, {
+                    showHeader: !n.props.options.showHeader,
+                  })
+                );
+              }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && uo(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props.options.showHeader;
+                  return V.a.createElement(
+                    "div",
+                    null,
+                    V.a.createElement(
+                      "div",
+                      { className: "section gf-form-group" },
+                      V.a.createElement(
+                        "h5",
+                        { className: "section-heading" },
+                        "Header"
+                      ),
+                      V.a.createElement(se.Switch, {
+                        label: "Show",
+                        labelClass: "width-6",
+                        checked: e,
+                        onChange: this.onToggleShowHeader,
+                      })
+                    )
+                  );
+                },
+              },
+            ]) && lo(n.prototype, r),
+            a && lo(n, a),
+            t
+          );
+        })(L.PureComponent),
+        po = new Q.Registry(function () {
+          return [
+            {
+              id: "width",
+              name: "Column width",
+              description: "column width (for table)",
+              editor: se.NumberValueEditor,
+              override: se.NumberOverrideEditor,
+              process: se.numberOverrideProcessor,
+              settings: { placeholder: "auto", min: 20, max: 300 },
+              shouldApply: function () {
+                return !0;
+              },
+            },
+            {
+              id: "displayMode",
+              name: "Cell display mode",
+              description: "Color value, background, show as gauge, etc",
+              editor: se.SelectValueEditor,
+              override: se.SelectOverrideEditor,
+              process: se.selectOverrideProcessor,
+              settings: {
+                options: [
+                  { value: "auto", label: "Auto" },
+                  { value: "color-background", label: "Color background" },
+                  { value: "gradient-gauge", label: "Gradient gauge" },
+                  { value: "lcd-gauge", label: "LCD gauge" },
+                ],
+              },
+              shouldApply: function () {
+                return !0;
+              },
+            },
+          ];
+        });
+      function ho(e) {
+        return (ho =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function mo(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function go(e, t) {
+        return !t || ("object" !== ho(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function bo(e) {
+        return (bo = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function vo(e, t) {
+        return (vo =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var yo = (function (e) {
+          function t(e) {
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              go(this, bo(t).call(this, e))
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && vo(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.data,
+                    n = e.height,
+                    r = e.width,
+                    a = e.replaceVariables,
+                    o = e.options;
+                  if (t.series.length < 1)
+                    return V.a.createElement("div", null, "No Table Data...");
+                  var i = Object(Q.applyFieldOverrides)({
+                    data: t.series,
+                    fieldOptions: o.fieldOptions,
+                    theme: z.a.theme,
+                    replaceVariables: a,
+                    custom: po,
+                  })[0];
+                  return V.a.createElement(se.Table, {
+                    height: n - 16,
+                    width: r,
+                    data: i,
+                  });
+                },
+              },
+            ]) && mo(n.prototype, r),
+            a && mo(n, a),
+            t
+          );
+        })(L.Component),
+        wo = new Q.PanelPlugin(yo)
+          .setDefaults({
+            fieldOptions: { defaults: {}, overrides: [] },
+            showHeader: !0,
+          })
+          .setCustomFieldConfigs(po)
+          .setEditor(fo),
+        Oo = (n("0X5I"), n("UIT+"));
+      function xo(e) {
+        return (xo =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function ko(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function jo(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? ko(Object(n), !0).forEach(function (t) {
+                So(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : ko(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function So(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Eo(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Co(e) {
+        return (Co = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Po(e) {
+        if (void 0 === e)
+          throw new ReferenceError(
+            "this hasn't been initialised - super() hasn't been called"
+          );
+        return e;
+      }
+      function To(e, t) {
+        return (To =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Do = (function (e) {
+        function t(e, n, r, a) {
+          var o, i, l;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            (i = this),
+            ((o =
+              !(l = Co(t).call(this, e, n)) ||
+              ("object" !== xo(l) && "function" != typeof l)
+                ? Po(i)
+                : l).linkSrv = r),
+            (o.$sanitize = a),
+            (o.data = {}),
+            (o.fieldNames = []),
+            (o.valueNameOptions = [
+              { value: "min", text: "Min" },
+              { value: "max", text: "Max" },
+              { value: "avg", text: "Average" },
+              { value: "current", text: "Current" },
+              { value: "total", text: "Total" },
+              { value: "name", text: "Name" },
+              { value: "first", text: "First" },
+              { value: "delta", text: "Delta" },
+              { value: "diff", text: "Difference" },
+              { value: "range", text: "Range" },
+              { value: "last_time", text: "Time of last point" },
+            ]),
+            (o.panelDefaults = {
+              links: [],
+              datasource: null,
+              maxDataPoints: 100,
+              interval: null,
+              targets: [{}],
+              cacheTimeout: null,
+              format: "none",
+              prefix: "",
+              postfix: "",
+              nullText: null,
+              valueMaps: [{ value: "null", op: "=", text: "N/A" }],
+              mappingTypes: [
+                { name: "value to text", value: 1 },
+                { name: "range to text", value: 2 },
+              ],
+              rangeMaps: [{ from: "null", to: "null", text: "N/A" }],
+              mappingType: 1,
+              nullPointMode: "connected",
+              valueName: "avg",
+              prefixFontSize: "50%",
+              valueFontSize: "80%",
+              postfixFontSize: "50%",
+              thresholds: "",
+              colorBackground: !1,
+              colorValue: !1,
+              colors: ["#299c46", "rgba(237, 129, 40, 0.89)", "#d44a3a"],
+              sparkline: {
+                show: !1,
+                full: !1,
+                ymin: null,
+                ymax: null,
+                lineColor: "rgb(31, 120, 193)",
+                fillColor: "rgba(31, 118, 189, 0.18)",
+              },
+              gauge: {
+                show: !1,
+                minValue: 0,
+                maxValue: 100,
+                thresholdMarkers: !0,
+                thresholdLabels: !1,
+              },
+              tableColumn: "",
+            }),
+            j.a.defaults(o.panel, o.panelDefaults),
+            o.events.on(
+              wt.CoreEvents.dataFramesReceived,
+              o.onFramesReceived.bind(Po(o))
+            ),
+            o.events.on(
+              Q.PanelEvents.dataSnapshotLoad,
+              o.onSnapshotLoad.bind(Po(o))
+            ),
+            o.events.on(
+              Q.PanelEvents.editModeInitialized,
+              o.onInitEditMode.bind(Po(o))
+            ),
+            (o.useDataFrames = !0),
+            (o.onSparklineColorChange = o.onSparklineColorChange.bind(Po(o))),
+            (o.onSparklineFillChange = o.onSparklineFillChange.bind(Po(o))),
+            o
+          );
+        }
+        var n, r, a;
+        return (
+          (t.$inject = ["$scope", "$injector", "linkSrv", "$sanitize"]),
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && To(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "onInitEditMode",
+              value: function () {
+                (this.fontSizes = [
+                  "20%",
+                  "30%",
+                  "50%",
+                  "70%",
+                  "80%",
+                  "100%",
+                  "110%",
+                  "120%",
+                  "150%",
+                  "170%",
+                  "200%",
+                ]),
+                  this.addEditorTab(
+                    "Options",
+                    "public/app/plugins/panel/singlestat/editor.html",
+                    2
+                  ),
+                  this.addEditorTab(
+                    "Value Mappings",
+                    "public/app/plugins/panel/singlestat/mappings.html",
+                    3
+                  );
+              },
+            },
+            {
+              key: "migrateToGaugePanel",
+              value: function (e) {
+                e
+                  ? this.onPluginTypeChange(z.b.panels.gauge)
+                  : ((this.panel.gauge.show = !1), this.render());
+              },
+            },
+            {
+              key: "setUnitFormat",
+              value: function () {
+                var e = this;
+                return function (t) {
+                  (e.panel.format = t), e.refresh();
+                };
+              },
+            },
+            {
+              key: "onSnapshotLoad",
+              value: function (e) {
+                this.onFramesReceived(Object(Un.a)(e));
+              },
+            },
+            {
+              key: "onFramesReceived",
+              value: function (e) {
+                var t = this.panel;
+                if (e && e.length > 1)
+                  return (
+                    (this.data = {
+                      value: 0,
+                      display: {
+                        text:
+                          "Only queries that return single series/table is supported",
+                        numeric: NaN,
+                      },
+                    }),
+                    void this.render()
+                  );
+                var n = (function (e) {
+                    var t = { byName: {}, names: [] },
+                      n = !0,
+                      r = !1,
+                      a = void 0;
+                    try {
+                      for (
+                        var o, i = e[Symbol.iterator]();
+                        !(n = (o = i.next()).done);
+                        n = !0
+                      ) {
+                        var l = o.value,
+                          s = { frame: l },
+                          c = !0,
+                          u = !1,
+                          f = void 0;
+                        try {
+                          for (
+                            var d, p = l.fields[Symbol.iterator]();
+                            !(c = (d = p.next()).done);
+                            c = !0
+                          ) {
+                            var h = d.value;
+                            if (h.type === Q.FieldType.time)
+                              s.firstTimeField || (s.firstTimeField = h);
+                            else {
+                              var m = { field: h, frame: s };
+                              t.first || (t.first = m);
+                              var g = h.config.title;
+                              g &&
+                                !t.byName[g] &&
+                                ((t.byName[g] = m), t.names.push(g)),
+                                (g = h.name) &&
+                                  !t.byName[g] &&
+                                  ((t.byName[g] = m), t.names.push(g));
+                            }
+                          }
+                        } catch (e) {
+                          (u = !0), (f = e);
+                        } finally {
+                          try {
+                            c || null == p.return || p.return();
+                          } finally {
+                            if (u) throw f;
+                          }
+                        }
+                      }
+                    } catch (e) {
+                      (r = !0), (a = e);
+                    } finally {
+                      try {
+                        n || null == i.return || i.return();
+                      } finally {
+                        if (r) throw a;
+                      }
+                    }
+                    return t;
+                  })(e),
+                  r = n.byName[t.tableColumn];
+                if (((this.fieldNames = n.names), r || (r = n.first), r))
+                  this.data = this.processField(r);
+                else {
+                  var a = Object(Q.getDisplayProcessor)({
+                    field: {
+                      config: {
+                        mappings: Object(se.convertOldAngularValueMapping)(
+                          this.panel
+                        ),
+                        noValue: "No Data",
+                      },
+                    },
+                    theme: z.b.theme,
+                  });
+                  this.data = { value: null, display: a(null) };
+                }
+                this.render();
+              },
+            },
+            {
+              key: "processField",
+              value: function (e) {
+                var t = this.panel,
+                  n = this.dashboard,
+                  r = e.field.config.title || e.field.name,
+                  a = t.valueName,
+                  o = e.field,
+                  i = void 0;
+                if ("name" === a) i = r;
+                else {
+                  "last_time" === a &&
+                    e.frame.firstTimeField &&
+                    ((o = e.frame.firstTimeField), (a = Q.ReducerID.last));
+                  var l = Q.fieldReducers.getIfExists(a);
+                  l
+                    ? ((a = l.id),
+                      o.type === Q.FieldType.string &&
+                        [Q.ReducerID.mean, Q.ReducerID.sum].includes(a) &&
+                        (a = t.valueName = Q.ReducerID.first))
+                    : (a = Q.ReducerID.lastNotNull),
+                    (i = Object(Q.reduceField)({ field: o, reducers: [a] })[a]);
+                }
+                var s = Object(Q.getDisplayProcessor)({
+                    field: jo({}, e.field, {
+                      config: jo({}, e.field.config, {
+                        unit: t.format,
+                        decimals: t.decimals,
+                        mappings: Object(se.convertOldAngularValueMapping)(t),
+                      }),
+                    }),
+                    theme: z.b.theme,
+                    timeZone: n.getTimezone(),
+                  }),
+                  c = {
+                    field: e.field,
+                    value: i,
+                    display: s(i),
+                    scopedVars: j.a.extend({}, t.scopedVars),
+                    sparkline: [],
+                  };
+                return (
+                  (c.scopedVars.__name = { value: r }),
+                  (t.tableColumn = this.fieldNames.length > 1 ? r : ""),
+                  t.sparkline &&
+                    t.sparkline.show &&
+                    e.frame.firstTimeField &&
+                    (c.sparkline = Object(Q.getFlotPairs)({
+                      xField: e.frame.firstTimeField,
+                      yField: e.field,
+                      nullValueMode: t.nullPointMode,
+                    })),
+                  c
+                );
+              },
+            },
+            {
+              key: "canModifyText",
+              value: function () {
+                return !this.panel.gauge.show;
+              },
+            },
+            {
+              key: "setColoring",
+              value: function (e) {
+                e.background
+                  ? ((this.panel.colorValue = !1),
+                    (this.panel.colors = [
+                      "rgba(71, 212, 59, 0.4)",
+                      "rgba(245, 150, 40, 0.73)",
+                      "rgba(225, 40, 40, 0.59)",
+                    ]))
+                  : ((this.panel.colorBackground = !1),
+                    (this.panel.colors = [
+                      "rgba(50, 172, 45, 0.97)",
+                      "rgba(237, 129, 40, 0.89)",
+                      "rgba(245, 54, 54, 0.9)",
+                    ])),
+                  this.render();
+              },
+            },
+            {
+              key: "invertColorOrder",
+              value: function () {
+                var e = this.panel.colors[0];
+                (this.panel.colors[0] = this.panel.colors[2]),
+                  (this.panel.colors[2] = e),
+                  this.render();
+              },
+            },
+            {
+              key: "onColorChange",
+              value: function (e) {
+                var t = this;
+                return function (n) {
+                  (t.panel.colors[e] = n), t.render();
+                };
+              },
+            },
+            {
+              key: "onSparklineColorChange",
+              value: function (e) {
+                (this.panel.sparkline.lineColor = e), this.render();
+              },
+            },
+            {
+              key: "onSparklineFillChange",
+              value: function (e) {
+                (this.panel.sparkline.fillColor = e), this.render();
+              },
+            },
+            {
+              key: "removeValueMap",
+              value: function (e) {
+                var t = j.a.indexOf(this.panel.valueMaps, e);
+                this.panel.valueMaps.splice(t, 1), this.render();
+              },
+            },
+            {
+              key: "addValueMap",
+              value: function () {
+                this.panel.valueMaps.push({ value: "", op: "=", text: "" });
+              },
+            },
+            {
+              key: "removeRangeMap",
+              value: function (e) {
+                var t = j.a.indexOf(this.panel.rangeMaps, e);
+                this.panel.rangeMaps.splice(t, 1), this.render();
+              },
+            },
+            {
+              key: "addRangeMap",
+              value: function () {
+                this.panel.rangeMaps.push({ from: "", to: "", text: "" });
+              },
+            },
+            {
+              key: "link",
+              value: function (e, t, n, r) {
+                var a,
+                  o = this.$location,
+                  i = this.linkSrv,
+                  l = this.$timeout,
+                  s = this.$sanitize,
+                  c = r.panel,
+                  u = this.templateSrv,
+                  f = null;
+                function d() {
+                  return t.closest(".panel-container");
+                }
+                function p(e, t, n, a) {
+                  var o, i, l;
+                  return (
+                    (a = s(u.replace(a, r.data.scopedVars))),
+                    (a = n
+                      ? ((o = a),
+                        (i = r.data),
+                        (l = Ao(i, i.value))
+                          ? '<span style="color:' + l + '">' + o + "</span>"
+                          : o)
+                      : a),
+                    '<span class="' +
+                      e +
+                      '" style="font-size:' +
+                      (parseInt(t, 10) / 100) * 38 +
+                      'px">' +
+                      a +
+                      "</span>"
+                  );
+                }
+                function h() {
+                  var e = r.data,
+                    t = '<div class="singlestat-panel-value-container">';
+                  return (
+                    c.prefix &&
+                      (t += p(
+                        "singlestat-panel-prefix",
+                        c.prefixFontSize,
+                        c.colorPrefix,
+                        c.prefix
+                      )),
+                    (t += p(
+                      "singlestat-panel-value",
+                      c.valueFontSize,
+                      c.colorValue,
+                      Object(Q.formattedValueToString)(e.display)
+                    )),
+                    c.postfix &&
+                      (t += p(
+                        "singlestat-panel-postfix",
+                        c.postfixFontSize,
+                        c.colorPostfix,
+                        c.postfix
+                      )),
+                    (t += "</div>")
+                  );
+                }
+                function m() {
+                  var e = r.data,
+                    n = t.width(),
+                    a = t.height(),
+                    o = Math.min(n, 1.3 * a);
+                  if (
+                    ((r.invalidGaugeRange = !1),
+                    c.gauge.minValue > c.gauge.maxValue)
+                  )
+                    r.invalidGaugeRange = !0;
+                  else {
+                    var i = _()("<div></div>"),
+                      l = {
+                        top: "5px",
+                        margin: "auto",
+                        position: "relative",
+                        height: 0.9 * a + "px",
+                        width: o + "px",
+                      };
+                    i.css(l);
+                    for (var s = [], f = 0; f < e.thresholds.length; f++)
+                      s.push({ value: e.thresholds[f], color: e.colorMap[f] });
+                    s.push({
+                      value: c.gauge.maxValue,
+                      color: e.colorMap[e.colorMap.length - 1],
+                    });
+                    var d = z.b.bootData.user.lightTheme
+                        ? "rgb(230,230,230)"
+                        : "rgb(38,38,38)",
+                      p = parseInt(c.valueFontSize, 10) / 100,
+                      h = Math.min(o / 5, 100) * p,
+                      m = c.gauge.thresholdLabels ? 1.5 : 1,
+                      g = Math.min(o / 6, 60) / m,
+                      b = g / 5,
+                      v = h / 2.5,
+                      y = {
+                        series: {
+                          gauges: {
+                            gauge: {
+                              min: c.gauge.minValue,
+                              max: c.gauge.maxValue,
+                              background: { color: d },
+                              border: { color: null },
+                              shadow: { show: !1 },
+                              width: g,
+                            },
+                            frame: { show: !1 },
+                            label: { show: !1 },
+                            layout: { margin: 0, thresholdWidth: 0 },
+                            cell: { border: { width: 0 } },
+                            threshold: {
+                              values: s,
+                              label: {
+                                show: c.gauge.thresholdLabels,
+                                margin: b + 1,
+                                font: { size: v },
+                              },
+                              show: c.gauge.thresholdMarkers,
+                              width: b,
+                            },
+                            value: {
+                              color: c.colorValue
+                                ? Ao(e, e.display.numeric)
+                                : null,
+                              formatter: function () {
+                                return (function () {
+                                  var e = r.data,
+                                    t = c.prefix
+                                      ? u.replace(c.prefix, e.scopedVars)
+                                      : "";
+                                  return (
+                                    (t += Object(Q.formattedValueToString)(
+                                      e.display
+                                    )),
+                                    (t += c.postfix
+                                      ? u.replace(c.postfix, e.scopedVars)
+                                      : "")
+                                  );
+                                })();
+                              },
+                              font: {
+                                size: h,
+                                family:
+                                  z.b.theme.typography.fontFamily.sansSerif,
+                              },
+                            },
+                            show: !0,
+                          },
+                        },
+                      };
+                    t.append(i);
+                    var w = { data: [[0, e.value]] };
+                    _.a.plot(i, [w], y);
+                  }
+                }
+                function g() {
+                  var e = r.data,
+                    n = t.width();
+                  if (n < 30) setTimeout(g, 30);
+                  else if (e.sparkline && e.sparkline.length) {
+                    var a = r.height,
+                      o = _()("<div></div>"),
+                      i = { position: "absolute", bottom: "0px" };
+                    if (c.sparkline.full) {
+                      (i.left = "0px"), (i.width = n + "px");
+                      var l = a <= 100 ? 5 : 15 * Math.round(a / 100) + 5;
+                      i.height = a - l + "px";
+                    } else
+                      (i.left = "0px"),
+                        (i.width = n + "px"),
+                        (i.height = Math.floor(0.25 * a) + "px");
+                    o.css(i);
+                    var s = {
+                      legend: { show: !1 },
+                      series: {
+                        lines: {
+                          show: !0,
+                          fill: 1,
+                          lineWidth: 1,
+                          fillColor: Object(Q.getColorFromHexRgbOrName)(
+                            c.sparkline.fillColor,
+                            z.b.theme.type
+                          ),
+                          zero: !1,
+                        },
+                      },
+                      yaxis: {
+                        show: !1,
+                        min: c.sparkline.ymin,
+                        max: c.sparkline.ymax,
+                      },
+                      xaxis: {
+                        show: !1,
+                        mode: "time",
+                        min: r.range.from.valueOf(),
+                        max: r.range.to.valueOf(),
+                      },
+                      grid: { hoverable: !1, show: !1 },
+                    };
+                    t.append(o);
+                    var u = {
+                      data: e.sparkline,
+                      color: Object(Q.getColorFromHexRgbOrName)(
+                        c.sparkline.lineColor,
+                        z.b.theme.type
+                      ),
+                    };
+                    _.a.plot(o, [u], s);
+                  }
+                }
+                (t = t.find(".singlestat-panel")),
+                  (a = _()('<div id="tooltip" class="">hello</div>"')),
+                  t.mouseleave(function () {
+                    0 !== c.links.length &&
+                      l(function () {
+                        a.detach();
+                      });
+                  }),
+                  t.click(function (e) {
+                    f &&
+                      (_()(e).parents(".panel-header").length > 0 ||
+                        ("_blank" !== f.target
+                          ? (0 === f.href.indexOf("http")
+                              ? (window.location.href = f.href)
+                              : l(function () {
+                                  o.url(Oo.b.stripBaseFromUrl(f.href));
+                                }),
+                            a.detach())
+                          : window.open(f.href, "_blank")));
+                  }),
+                  t.mousemove(function (e) {
+                    f &&
+                      (a.text("click to go to: " + f.title),
+                      a.place_tt(e.pageX, e.pageY - 50));
+                  }),
+                  this.events.on(Q.PanelEvents.render, function () {
+                    !(function () {
+                      if (r.data) {
+                        var n = r.data,
+                          a = r.panel;
+                        (n.thresholds = a.thresholds
+                          ? a.thresholds.split(",").map(function (e) {
+                              return Number(e.trim());
+                            })
+                          : []),
+                          a.colors &&
+                            (n.colorMap = a.colors.map(function (e) {
+                              return Object(Q.getColorFromHexRgbOrName)(
+                                e,
+                                z.b.theme.type
+                              );
+                            }));
+                        var o = a.gauge.show ? "" : h();
+                        if (a.colorBackground) {
+                          var l = Ao(n, n.display.numeric);
+                          l
+                            ? (d().css("background-color", l),
+                              e.fullscreen
+                                ? t.css("background-color", l)
+                                : t.css("background-color", ""))
+                            : (d().css("background-color", ""),
+                              t.css("background-color", ""));
+                        } else
+                          d().css("background-color", ""),
+                            t.css("background-color", "");
+                        t.html(o),
+                          a.sparkline.show && g(),
+                          a.gauge.show && m(),
+                          t.toggleClass("pointer", a.links.length > 0),
+                          (f =
+                            a.links.length > 0
+                              ? i.getDataLinkUIModel(
+                                  a.links[0],
+                                  n.scopedVars,
+                                  {}
+                                )
+                              : null);
+                      }
+                    })(),
+                      r.renderingCompleted();
+                  });
+              },
+            },
+          ]) && Eo(n.prototype, r),
+          a && Eo(n, a),
+          t
+        );
+      })(S.MetricsPanelCtrl);
+      function Ao(e, t) {
+        if (!j.a.isFinite(t)) return null;
+        for (var n = e.thresholds.length; n > 0; n--)
+          if (t >= e.thresholds[n - 1]) return e.colorMap[n];
+        return j.a.first(e.colorMap);
+      }
+      function _o(e) {
+        return (_o =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function No(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Mo(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? No(Object(n), !0).forEach(function (t) {
+                Io(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : No(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Io(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Ro(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Fo(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Lo(e, t) {
+        return !t || ("object" !== _o(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Vo(e) {
+        return (Vo = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Bo(e, t) {
+        return (Bo =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      Do.templateUrl = "module.html";
+      var $o = (function (e) {
+        function t() {
+          var e, n;
+          Ro(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = Lo(
+              this,
+              (e = Vo(t)).call.apply(e, [this].concat(a))
+            )).renderValue = function (e, t, r, a) {
+              var o,
+                i = n.props,
+                l = i.timeRange,
+                s = i.options;
+              e.sparkline &&
+                ((o = {
+                  data: e.sparkline,
+                  xMin: l.from.valueOf(),
+                  xMax: l.to.valueOf(),
+                  yMin: e.field.min,
+                  yMax: e.field.max,
+                }),
+                s.fieldOptions.calcs[0] === Q.ReducerID.last &&
+                  (o.highlightIndex = o.data.length - 1));
+              return V.a.createElement(
+                se.DataLinksContextMenu,
+                { links: Object(On.a)(e) },
+                function (n) {
+                  var i = n.openMenu,
+                    l = n.targetClassName;
+                  return V.a.createElement(se.BigValue, {
+                    value: e.display,
+                    sparkline: o,
+                    colorMode: s.colorMode,
+                    graphMode: s.graphMode,
+                    justifyMode: s.justifyMode,
+                    alignmentFactors: a,
+                    width: t,
+                    height: r,
+                    theme: z.a.theme,
+                    onClick: i,
+                    className: l,
+                  });
+                }
+              );
+            }),
+            (n.getValues = function () {
+              var e = n.props,
+                t = e.data,
+                r = e.options,
+                a = e.replaceVariables;
+              return Object(Q.getFieldDisplayValues)(
+                Mo({}, r, {
+                  replaceVariables: a,
+                  theme: z.a.theme,
+                  data: t.series,
+                  sparkline: r.graphMode !== se.BigValueGraphMode.None,
+                  autoMinMax: !0,
+                })
+              );
+            }),
+            n
+          );
+        }
+        var n, r, a;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && Bo(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.height,
+                  n = e.options,
+                  r = e.width,
+                  a = e.data,
+                  o = e.renderCounter;
+                return V.a.createElement(se.VizRepeater, {
+                  getValues: this.getValues,
+                  getAlignmentFactors: Q.getDisplayValueAlignmentFactors,
+                  renderValue: this.renderValue,
+                  width: r,
+                  height: t,
+                  source: a,
+                  renderCounter: o,
+                  orientation: qo(r, t, n.orientation),
+                });
+              },
+            },
+          ]) && Fo(n.prototype, r),
+          a && Fo(n, a),
+          t
+        );
+      })(L.PureComponent);
+      function qo(e, t, n) {
+        return n !== Q.VizOrientation.Auto
+          ? n
+          : e / t > 2
+          ? Q.VizOrientation.Vertical
+          : Q.VizOrientation.Horizontal;
+      }
+      function Uo(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function zo(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var Ho = (function (e) {
+          for (var t = 1; t < arguments.length; t++) {
+            var n = null != arguments[t] ? arguments[t] : {};
+            t % 2
+              ? Uo(Object(n), !0).forEach(function (t) {
+                  zo(e, t, n[t]);
+                })
+              : Object.getOwnPropertyDescriptors
+              ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+              : Uo(Object(n)).forEach(function (t) {
+                  Object.defineProperty(
+                    e,
+                    t,
+                    Object.getOwnPropertyDescriptor(n, t)
+                  );
+                });
+          }
+          return e;
+        })({}, nt),
+        Go = [
+          { value: Q.VizOrientation.Auto, label: "Auto" },
+          { value: Q.VizOrientation.Horizontal, label: "Horizontal" },
+          { value: Q.VizOrientation.Vertical, label: "Vertical" },
+        ],
+        Wo = {
+          showThresholdMarkers: !0,
+          showThresholdLabels: !1,
+          fieldOptions: Ho,
+          orientation: Q.VizOrientation.Auto,
+        };
+      function Qo(e) {
+        return (Qo =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Yo(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Ko(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? Yo(Object(n), !0).forEach(function (t) {
+                Jo(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : Yo(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Jo(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Zo(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Xo(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function ei(e, t) {
+        return !t || ("object" !== Qo(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function ti(e) {
+        return (ti = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function ni(e, t) {
+        return (ni =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var ri = (function (e) {
+          function t() {
+            var e, n;
+            Zo(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = ei(
+                this,
+                (e = ti(t)).call.apply(e, [this].concat(a))
+              )).onThresholdsChanged = function (e) {
+                var t = n.props.options.fieldOptions.defaults;
+                n.onDefaultsChange(Ko({}, t, { thresholds: e }));
+              }),
+              (n.onValueMappingsChanged = function (e) {
+                var t = n.props.options.fieldOptions.defaults;
+                n.onDefaultsChange(Ko({}, t, { mappings: e }));
+              }),
+              (n.onDisplayOptionsChanged = function (e) {
+                return n.props.onOptionsChange(
+                  Ko({}, n.props.options, { fieldOptions: e })
+                );
+              }),
+              (n.onColorModeChanged = function (e) {
+                var t = e.value;
+                return n.props.onOptionsChange(
+                  Ko({}, n.props.options, { colorMode: t })
+                );
+              }),
+              (n.onGraphModeChanged = function (e) {
+                var t = e.value;
+                return n.props.onOptionsChange(
+                  Ko({}, n.props.options, { graphMode: t })
+                );
+              }),
+              (n.onJustifyModeChanged = function (e) {
+                var t = e.value;
+                return n.props.onOptionsChange(
+                  Ko({}, n.props.options, { justifyMode: t })
+                );
+              }),
+              (n.onOrientationChange = function (e) {
+                var t = e.value;
+                return n.props.onOptionsChange(
+                  Ko({}, n.props.options, { orientation: t })
+                );
+              }),
+              (n.onDefaultsChange = function (e) {
+                n.onDisplayOptionsChanged(
+                  Ko({}, n.props.options.fieldOptions, { defaults: e })
+                );
+              }),
+              (n.onDataLinksChanged = function (e) {
+                n.onDefaultsChange(
+                  Ko({}, n.props.options.fieldOptions.defaults, { links: e })
+                );
+              }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && ni(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props.options,
+                    t = e.fieldOptions,
+                    n = t.defaults,
+                    r = t.values
+                      ? Object(Hn.b)(this.props.data.series)
+                      : Object(Hn.a)(this.props.data.series);
+                  return V.a.createElement(
+                    V.a.Fragment,
+                    null,
+                    V.a.createElement(
+                      se.PanelOptionsGrid,
+                      null,
+                      V.a.createElement(
+                        se.PanelOptionsGroup,
+                        { title: "Display" },
+                        V.a.createElement(se.FieldDisplayEditor, {
+                          onChange: this.onDisplayOptionsChanged,
+                          value: t,
+                          labelWidth: 8,
+                        }),
+                        V.a.createElement(
+                          "div",
+                          { className: "form-field" },
+                          V.a.createElement(
+                            se.FormLabel,
+                            { width: 8 },
+                            "Orientation"
+                          ),
+                          V.a.createElement(se.Select, {
+                            width: 12,
+                            options: Go,
+                            defaultValue: Go[0],
+                            onChange: this.onOrientationChange,
+                            value: Go.find(function (t) {
+                              return t.value === e.orientation;
+                            }),
+                          })
+                        ),
+                        V.a.createElement(
+                          "div",
+                          { className: "form-field" },
+                          V.a.createElement(
+                            se.FormLabel,
+                            { width: 8 },
+                            "Color"
+                          ),
+                          V.a.createElement(se.Select, {
+                            width: 12,
+                            options: Xe,
+                            defaultValue: Xe[0],
+                            onChange: this.onColorModeChanged,
+                            value: Xe.find(function (t) {
+                              return t.value === e.colorMode;
+                            }),
+                          })
+                        ),
+                        V.a.createElement(
+                          "div",
+                          { className: "form-field" },
+                          V.a.createElement(
+                            se.FormLabel,
+                            { width: 8 },
+                            "Graph"
+                          ),
+                          V.a.createElement(se.Select, {
+                            width: 12,
+                            options: et,
+                            defaultValue: et[0],
+                            onChange: this.onGraphModeChanged,
+                            value: et.find(function (t) {
+                              return t.value === e.graphMode;
+                            }),
+                          })
+                        ),
+                        V.a.createElement(
+                          "div",
+                          { className: "form-field" },
+                          V.a.createElement(
+                            se.FormLabel,
+                            { width: 8 },
+                            "Justify"
+                          ),
+                          V.a.createElement(se.Select, {
+                            width: 12,
+                            options: tt,
+                            defaultValue: tt[0],
+                            onChange: this.onJustifyModeChanged,
+                            value: tt.find(function (t) {
+                              return t.value === e.justifyMode;
+                            }),
+                          })
+                        )
+                      ),
+                      V.a.createElement(
+                        se.PanelOptionsGroup,
+                        { title: "Field" },
+                        V.a.createElement(se.FieldPropertiesEditor, {
+                          showMinMax: !0,
+                          onChange: this.onDefaultsChange,
+                          value: n,
+                          showTitle: !0,
+                        })
+                      ),
+                      V.a.createElement(se.ThresholdsEditor, {
+                        onChange: this.onThresholdsChanged,
+                        thresholds: n.thresholds,
+                      })
+                    ),
+                    V.a.createElement(se.ValueMappingsEditor, {
+                      onChange: this.onValueMappingsChanged,
+                      valueMappings: n.mappings,
+                    }),
+                    V.a.createElement(
+                      se.PanelOptionsGroup,
+                      { title: "Data links" },
+                      V.a.createElement(se.DataLinksEditor, {
+                        value: n.links,
+                        onChange: this.onDataLinksChanged,
+                        suggestions: r,
+                        maxLinks: 10,
+                      })
+                    )
+                  );
+                },
+              },
+            ]) && Xo(n.prototype, r),
+            a && Xo(n, a),
+            t
+          );
+        })(L.PureComponent),
+        ai = new Q.PanelPlugin($o)
+          .setDefaults(rt)
+          .setEditor(ri)
+          .setNoPadding()
+          .setPanelChangeHandler(se.sharedSingleStatPanelChangedHandler)
+          .setMigrationHandler(se.sharedSingleStatMigrationHandler),
+        oi = n("WnbS");
+      function ii(e) {
+        return (ii =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function li(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function si(e, t) {
+        return !t || ("object" !== ii(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function ci(e) {
+        return (ci = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function ui(e, t) {
+        return (ui =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var fi = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = si(this, ci(t).call(this, e))).stepIndex = 0),
+              (n.dismiss = function () {
+                var e = n.props.id,
+                  t = Object(jr.a)().getCurrent(),
+                  r = t.getPanelById(e);
+                t.removePanel(r),
+                  Z.b
+                    .request({
+                      method: "PUT",
+                      url: "/api/user/helpflags/1",
+                      showSuccessAlert: !1,
+                    })
+                    .then(function (e) {
+                      W.b.user.helpFlags1 = e.helpFlags1;
+                    });
+              }),
+              (n.state = { checksDone: !1 }),
+              (n.steps = [
+                {
+                  title: "Install Grafana",
+                  icon: "icon-gf icon-gf-check",
+                  href: "http://docs.grafana.org/",
+                  target: "_blank",
+                  note: "Review the installation docs",
+                  check: function () {
+                    return Promise.resolve(!0);
+                  },
+                },
+                {
+                  title: "Create a data source",
+                  cta: "Add data source",
+                  icon: "gicon gicon-datasources",
+                  href: "datasources/new?gettingstarted",
+                  check: function () {
+                    return new Promise(function (e) {
+                      e(
+                        Object(oi.a)()
+                          .getMetricSources()
+                          .filter(function (e) {
+                            return !0 !== e.meta.builtIn;
+                          }).length > 0
+                      );
+                    });
+                  },
+                },
+                {
+                  title: "Build a dashboard",
+                  cta: "New dashboard",
+                  icon: "gicon gicon-dashboard",
+                  href: "dashboard/new?gettingstarted",
+                  check: function () {
+                    return Z.b.search({ limit: 1 }).then(function (e) {
+                      return e.length > 0;
+                    });
+                  },
+                },
+                {
+                  title: "Invite your team",
+                  cta: "Add Users",
+                  icon: "gicon gicon-team",
+                  href: "org/users?gettingstarted",
+                  check: function () {
+                    return Z.b.get("/api/org/users/lookup").then(function (e) {
+                      return !1;
+                    });
+                  },
+                },
+                {
+                  title: "Install apps & plugins",
+                  cta: "Explore plugin repository",
+                  icon: "gicon gicon-plugins",
+                  href:
+                    "https://grafana.com/plugins?utm_source=grafana_getting_started",
+                  check: function () {
+                    return Z.b
+                      .get("/api/plugins", { embedded: 0, core: 0 })
+                      .then(function (e) {
+                        return e.length > 0;
+                      });
+                  },
+                },
+              ]),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && ui(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value: function () {
+                  var e = this;
+                  return (
+                    (this.stepIndex = -1),
+                    this.nextStep().then(function (t) {
+                      e.setState({ checksDone: !0 });
+                    })
+                  );
+                },
+              },
+              {
+                key: "nextStep",
+                value: function () {
+                  var e = this;
+                  if (this.stepIndex === this.steps.length - 1)
+                    return Promise.resolve();
+                  this.stepIndex += 1;
+                  var t = this.steps[this.stepIndex];
+                  return t.check().then(function (n) {
+                    return n
+                      ? ((t.done = !0), e.nextStep())
+                      : Promise.resolve();
+                  });
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  return this.state.checksDone
+                    ? V.a.createElement(
+                        "div",
+                        { className: "progress-tracker-container" },
+                        V.a.createElement(
+                          "button",
+                          {
+                            className: "progress-tracker-close-btn",
+                            onClick: this.dismiss,
+                          },
+                          V.a.createElement("i", { className: "fa fa-remove" })
+                        ),
+                        V.a.createElement(
+                          "div",
+                          { className: "progress-tracker" },
+                          this.steps.map(function (e, t) {
+                            return V.a.createElement(
+                              "div",
+                              {
+                                key: t,
+                                className: e.done
+                                  ? "progress-step completed"
+                                  : "progress-step active",
+                              },
+                              V.a.createElement(
+                                "a",
+                                {
+                                  className: "progress-link",
+                                  href: e.href,
+                                  target: e.target,
+                                  title: e.note,
+                                },
+                                V.a.createElement(
+                                  "span",
+                                  { className: "progress-marker" },
+                                  V.a.createElement("i", { className: e.icon })
+                                ),
+                                V.a.createElement(
+                                  "span",
+                                  { className: "progress-text" },
+                                  e.title
+                                )
+                              ),
+                              V.a.createElement(
+                                "a",
+                                {
+                                  className: "btn-small progress-step-cta",
+                                  href: e.href,
+                                  target: e.target,
+                                },
+                                e.cta
+                              )
+                            );
+                          })
+                        )
+                      )
+                    : V.a.createElement("div", null, "checking...");
+                },
+              },
+            ]) && li(n.prototype, r),
+            a && li(n, a),
+            t
+          );
+        })(L.PureComponent),
+        di = new Q.PanelPlugin(fi);
+      function pi(e) {
+        return (pi =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function hi(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function mi(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? hi(Object(n), !0).forEach(function (t) {
+                gi(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : hi(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function gi(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function bi(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function vi(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function yi(e, t) {
+        return !t || ("object" !== pi(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function wi(e) {
+        return (wi = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Oi(e, t) {
+        return (Oi =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var xi = (function (e) {
+        function t() {
+          var e, n;
+          bi(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = yi(
+              this,
+              (e = wi(t)).call.apply(e, [this].concat(a))
+            )).labelWidth = 6),
+            (n.onToggleThresholdLabels = function () {
+              return n.props.onOptionsChange(
+                mi({}, n.props.options, {
+                  showThresholdLabels: !n.props.options.showThresholdLabels,
+                })
+              );
+            }),
+            (n.onToggleThresholdMarkers = function () {
+              return n.props.onOptionsChange(
+                mi({}, n.props.options, {
+                  showThresholdMarkers: !n.props.options.showThresholdMarkers,
+                })
+              );
+            }),
+            (n.onThresholdsChanged = function (e) {
+              var t = n.props.options.fieldOptions.defaults;
+              n.onDefaultsChange(mi({}, t, { thresholds: e }));
+            }),
+            (n.onValueMappingsChanged = function (e) {
+              var t = n.props.options.fieldOptions.defaults;
+              n.onDefaultsChange(mi({}, t, { mappings: e }));
+            }),
+            (n.onDisplayOptionsChanged = function (e, t, r) {
+              return n.props.onOptionsChange(
+                mi({}, n.props.options, { fieldOptions: e }),
+                r
+              );
+            }),
+            (n.onDefaultsChange = function (e, t, r) {
+              n.onDisplayOptionsChanged(
+                mi({}, n.props.options.fieldOptions, { defaults: e }),
+                t,
+                r
+              );
+            }),
+            (n.onDataLinksChanged = function (e, t) {
+              n.onDefaultsChange(
+                mi({}, n.props.options.fieldOptions.defaults, { links: e }),
+                void 0,
+                t
+              );
+            }),
+            n
+          );
+        }
+        var n, r, a;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && Oi(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e = this.props.options,
+                  t = e.fieldOptions,
+                  n = e.showThresholdLabels,
+                  r = e.showThresholdMarkers,
+                  a = t.defaults,
+                  o = t.values
+                    ? Object(Hn.b)(this.props.data.series)
+                    : Object(Hn.a)(this.props.data.series);
+                return V.a.createElement(
+                  V.a.Fragment,
+                  null,
+                  V.a.createElement(
+                    se.PanelOptionsGrid,
+                    null,
+                    V.a.createElement(
+                      se.PanelOptionsGroup,
+                      { title: "Display" },
+                      V.a.createElement(se.FieldDisplayEditor, {
+                        onChange: this.onDisplayOptionsChanged,
+                        value: t,
+                        labelWidth: this.labelWidth,
+                      }),
+                      V.a.createElement(se.Switch, {
+                        label: "Labels",
+                        labelClass: "width-".concat(this.labelWidth),
+                        checked: n,
+                        onChange: this.onToggleThresholdLabels,
+                      }),
+                      V.a.createElement(se.Switch, {
+                        label: "Markers",
+                        labelClass: "width-".concat(this.labelWidth),
+                        checked: r,
+                        onChange: this.onToggleThresholdMarkers,
+                      })
+                    ),
+                    V.a.createElement(
+                      se.PanelOptionsGroup,
+                      { title: "Field" },
+                      V.a.createElement(se.FieldPropertiesEditor, {
+                        showMinMax: !0,
+                        showTitle: !0,
+                        onChange: this.onDefaultsChange,
+                        value: a,
+                      })
+                    ),
+                    V.a.createElement(se.ThresholdsEditor, {
+                      onChange: this.onThresholdsChanged,
+                      thresholds: a.thresholds,
+                    })
+                  ),
+                  V.a.createElement(se.ValueMappingsEditor, {
+                    onChange: this.onValueMappingsChanged,
+                    valueMappings: a.mappings,
+                  }),
+                  V.a.createElement(
+                    se.PanelOptionsGroup,
+                    { title: "Data links" },
+                    V.a.createElement(se.DataLinksEditor, {
+                      value: a.links,
+                      onChange: this.onDataLinksChanged,
+                      suggestions: o,
+                      maxLinks: 10,
+                    })
+                  )
+                );
+              },
+            },
+          ]) && vi(n.prototype, r),
+          a && vi(n, a),
+          t
+        );
+      })(L.PureComponent);
+      function ki(e) {
+        return (ki =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function ji(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Si(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Ei(e, t) {
+        return !t || ("object" !== ki(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Ci(e) {
+        return (Ci = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Pi(e, t) {
+        return (Pi =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Ti = (function (e) {
+          function t() {
+            var e, n;
+            ji(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = Ei(
+                this,
+                (e = Ci(t)).call.apply(e, [this].concat(a))
+              )).renderValue = function (e, t, r) {
+                var a = n.props.options,
+                  o = e.field,
+                  i = e.display;
+                return V.a.createElement(
+                  se.DataLinksContextMenu,
+                  { links: Object(On.a)(e) },
+                  function (e) {
+                    var n = e.openMenu,
+                      l = e.targetClassName;
+                    return V.a.createElement(se.Gauge, {
+                      value: i,
+                      width: t,
+                      height: r,
+                      field: o,
+                      showThresholdLabels: a.showThresholdLabels,
+                      showThresholdMarkers: a.showThresholdMarkers,
+                      theme: z.a.theme,
+                      onClick: n,
+                      className: l,
+                    });
+                  }
+                );
+              }),
+              (n.getValues = function () {
+                var e = n.props,
+                  t = e.data,
+                  r = e.options,
+                  a = e.replaceVariables;
+                return Object(Q.getFieldDisplayValues)({
+                  fieldOptions: r.fieldOptions,
+                  replaceVariables: a,
+                  theme: z.a.theme,
+                  data: t.series,
+                  autoMinMax: !0,
+                });
+              }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Pi(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.height,
+                    n = e.width,
+                    r = e.data,
+                    a = e.renderCounter;
+                  return V.a.createElement(se.VizRepeater, {
+                    getValues: this.getValues,
+                    renderValue: this.renderValue,
+                    width: n,
+                    height: t,
+                    source: r,
+                    renderCounter: a,
+                    orientation: Q.VizOrientation.Auto,
+                  });
+                },
+              },
+            ]) && Si(n.prototype, r),
+            a && Si(n, a),
+            t
+          );
+        })(L.PureComponent),
+        Di = new Q.PanelPlugin(Ti)
+          .setDefaults(Wo)
+          .setEditor(xi)
+          .setPanelChangeHandler(function (e, t, n) {
+            var r = Object(se.sharedSingleStatPanelChangedHandler)(e, t, n);
+            if ("singlestat" === t && n.angular) {
+              var a = n.angular.gauge;
+              a &&
+                ((r.showThresholdMarkers = a.thresholdMarkers),
+                (r.showThresholdLabels = a.thresholdLabels));
+            }
+            return r;
+          })
+          .setMigrationHandler(function (e) {
+            return Object(se.sharedSingleStatMigrationHandler)(e);
+          });
+      function Ai(e) {
+        return (Ai =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function _i(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Ni(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? _i(Object(n), !0).forEach(function (t) {
+                Mi(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : _i(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Mi(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Ii(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Ri(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Fi(e, t) {
+        return !t || ("object" !== Ai(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Li(e) {
+        return (Li = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Vi(e, t) {
+        return (Vi =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Bi = [
+          { value: se.PieChartType.PIE, label: "Pie" },
+          { value: se.PieChartType.DONUT, label: "Donut" },
+        ],
+        $i = (function (e) {
+          function t() {
+            var e, n;
+            Ii(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = Fi(
+                this,
+                (e = Li(t)).call.apply(e, [this].concat(a))
+              )).onPieTypeChange = function (e) {
+                return n.props.onOptionsChange(
+                  Ni({}, n.props.options, { pieType: e.value })
+                );
+              }),
+              (n.onStrokeWidthChange = function (e) {
+                var t = e.target;
+                return n.props.onOptionsChange(
+                  Ni({}, n.props.options, { strokeWidth: t.value })
+                );
+              }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Vi(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props.options,
+                    t = e.pieType,
+                    n = e.strokeWidth;
+                  return V.a.createElement(
+                    se.PanelOptionsGroup,
+                    { title: "PieChart" },
+                    V.a.createElement(
+                      "div",
+                      { className: "gf-form" },
+                      V.a.createElement(se.FormLabel, { width: 8 }, "Type"),
+                      V.a.createElement(se.Select, {
+                        width: 12,
+                        options: Bi,
+                        onChange: this.onPieTypeChange,
+                        value: Bi.find(function (e) {
+                          return e.value === t;
+                        }),
+                      })
+                    ),
+                    V.a.createElement(
+                      "div",
+                      { className: "gf-form" },
+                      V.a.createElement(se.FormField, {
+                        label: "Divider width",
+                        labelWidth: 8,
+                        onChange: this.onStrokeWidthChange,
+                        value: n,
+                      })
+                    )
+                  );
+                },
+              },
+            ]) && Ri(n.prototype, r),
+            a && Ri(n, a),
+            t
+          );
+        })(L.PureComponent);
+      function qi(e) {
+        return (qi =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Ui(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function zi(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? Ui(Object(n), !0).forEach(function (t) {
+                Hi(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : Ui(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Hi(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Gi(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Wi(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Qi(e, t) {
+        return !t || ("object" !== qi(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Yi(e) {
+        return (Yi = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Ki(e, t) {
+        return (Ki =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Ji = (function (e) {
+        function t() {
+          var e, n;
+          Gi(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = Qi(
+              this,
+              (e = Yi(t)).call.apply(e, [this].concat(a))
+            )).onValueMappingsChanged = function (e) {
+              var t = n.props.options.fieldOptions.defaults;
+              n.onDefaultsChange(zi({}, t, { mappings: e }));
+            }),
+            (n.onDisplayOptionsChanged = function (e) {
+              return n.props.onOptionsChange(
+                zi({}, n.props.options, { fieldOptions: e })
+              );
+            }),
+            (n.onDefaultsChange = function (e) {
+              n.onDisplayOptionsChanged(
+                zi({}, n.props.options.fieldOptions, { defaults: e })
+              );
+            }),
+            n
+          );
+        }
+        var n, r, a;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && Ki(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.onOptionsChange,
+                  n = e.options,
+                  r = e.data,
+                  a = n.fieldOptions,
+                  o = a.defaults;
+                return V.a.createElement(
+                  V.a.Fragment,
+                  null,
+                  V.a.createElement(
+                    se.PanelOptionsGrid,
+                    null,
+                    V.a.createElement(
+                      se.PanelOptionsGroup,
+                      { title: "Display" },
+                      V.a.createElement(se.FieldDisplayEditor, {
+                        onChange: this.onDisplayOptionsChanged,
+                        value: a,
+                      })
+                    ),
+                    V.a.createElement(
+                      se.PanelOptionsGroup,
+                      { title: "Field (default)" },
+                      V.a.createElement(se.FieldPropertiesEditor, {
+                        showMinMax: !0,
+                        onChange: this.onDefaultsChange,
+                        value: o,
+                      })
+                    ),
+                    V.a.createElement($i, {
+                      data: r,
+                      onOptionsChange: t,
+                      options: n,
+                    })
+                  ),
+                  V.a.createElement(se.ValueMappingsEditor, {
+                    onChange: this.onValueMappingsChanged,
+                    valueMappings: o.mappings,
+                  })
+                );
+              },
+            },
+          ]) && Wi(n.prototype, r),
+          a && Wi(n, a),
+          t
+        );
+      })(L.PureComponent);
+      function Zi(e) {
+        return (Zi =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Xi(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function el(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function tl(e, t) {
+        return !t || ("object" !== Zi(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function nl(e) {
+        return (nl = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function rl(e, t) {
+        return (rl =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var al = (function (e) {
+        function t() {
+          return Xi(this, t), tl(this, nl(t).apply(this, arguments));
+        }
+        var n, r, a;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && rl(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.width,
+                  n = e.height,
+                  r = e.options,
+                  a = e.data,
+                  o = e.replaceVariables,
+                  i = Object(Q.getFieldDisplayValues)({
+                    fieldOptions: r.fieldOptions,
+                    data: a.series,
+                    theme: z.a.theme,
+                    replaceVariables: o,
+                  }).map(function (e) {
+                    return e.display;
+                  });
+                return V.a.createElement(se.PieChart, {
+                  width: t,
+                  height: n,
+                  values: i,
+                  pieType: r.pieType,
+                  strokeWidth: r.strokeWidth,
+                  theme: z.a.theme,
+                });
+              },
+            },
+          ]) && el(n.prototype, r),
+          a && el(n, a),
+          t
+        );
+      })(L.PureComponent);
+      function ol(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function il(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var ll = {
+          pieType: se.PieChartType.PIE,
+          strokeWidth: 1,
+          orientation: Q.VizOrientation.Auto,
+          fieldOptions: (function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = null != arguments[t] ? arguments[t] : {};
+              t % 2
+                ? ol(Object(n), !0).forEach(function (t) {
+                    il(e, t, n[t]);
+                  })
+                : Object.getOwnPropertyDescriptors
+                ? Object.defineProperties(
+                    e,
+                    Object.getOwnPropertyDescriptors(n)
+                  )
+                : ol(Object(n)).forEach(function (t) {
+                    Object.defineProperty(
+                      e,
+                      t,
+                      Object.getOwnPropertyDescriptor(n, t)
+                    );
+                  });
+            }
+            return e;
+          })({}, nt, {
+            calcs: [Q.ReducerID.last],
+            defaults: { unit: "short" },
+          }),
+        },
+        sl = new Q.PanelPlugin(al).setDefaults(ll).setEditor(Ji);
+      function cl(e) {
+        return (cl =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function ul(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function fl(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? ul(Object(n), !0).forEach(function (t) {
+                dl(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : ul(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function dl(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function pl(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function hl(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function ml(e, t) {
+        return !t || ("object" !== cl(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function gl(e) {
+        return (gl = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function bl(e, t) {
+        return (bl =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var vl = (function (e) {
+          function t() {
+            var e, n;
+            pl(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = ml(
+                this,
+                (e = gl(t)).call.apply(e, [this].concat(a))
+              )).renderValue = function (e, t, r, a) {
+                var o = n.props.options,
+                  i = e.field,
+                  l = e.display,
+                  s = e.view,
+                  c = e.colIndex;
+                return V.a.createElement(
+                  se.DataLinksContextMenu,
+                  { links: Object(On.a)(e) },
+                  function (e) {
+                    var u = e.openMenu,
+                      f = e.targetClassName;
+                    return V.a.createElement(se.BarGauge, {
+                      value: l,
+                      width: t,
+                      height: r,
+                      orientation: o.orientation,
+                      field: i,
+                      display:
+                        null == s ? void 0 : s.getFieldDisplayProcessor(c),
+                      theme: z.a.theme,
+                      itemSpacing: n.getItemSpacing(),
+                      displayMode: o.displayMode,
+                      onClick: u,
+                      className: f,
+                      alignmentFactors: a,
+                      showUnfilled: o.showUnfilled,
+                    });
+                  }
+                );
+              }),
+              (n.getValues = function () {
+                var e = n.props,
+                  t = e.data,
+                  r = e.options,
+                  a = e.replaceVariables;
+                return Object(Q.getFieldDisplayValues)(
+                  fl({}, r, {
+                    replaceVariables: a,
+                    theme: z.a.theme,
+                    data: t.series,
+                    autoMinMax: !0,
+                  })
+                );
+              }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && bl(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "getItemSpacing",
+                value: function () {
+                  return "lcd" === this.props.options.displayMode ? 2 : 10;
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.height,
+                    n = e.width,
+                    r = e.options,
+                    a = e.data,
+                    o = e.renderCounter;
+                  return V.a.createElement(se.VizRepeater, {
+                    source: a,
+                    getAlignmentFactors: Q.getDisplayValueAlignmentFactors,
+                    getValues: this.getValues,
+                    renderValue: this.renderValue,
+                    renderCounter: o,
+                    width: n,
+                    height: t,
+                    itemSpacing: this.getItemSpacing(),
+                    orientation: r.orientation,
+                  });
+                },
+              },
+            ]) && hl(n.prototype, r),
+            a && hl(n, a),
+            t
+          );
+        })(L.PureComponent),
+        yl = [
+          { value: se.BarGaugeDisplayMode.Gradient, label: "Gradient" },
+          { value: se.BarGaugeDisplayMode.Lcd, label: "Retro LCD" },
+          { value: se.BarGaugeDisplayMode.Basic, label: "Basic" },
+        ],
+        wl = {
+          displayMode: se.BarGaugeDisplayMode.Lcd,
+          orientation: Q.VizOrientation.Horizontal,
+          fieldOptions: Ho,
+          showUnfilled: !0,
+        };
+      function Ol(e) {
+        return (Ol =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function xl(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function kl(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? xl(Object(n), !0).forEach(function (t) {
+                jl(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : xl(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function jl(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Sl(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function El(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Cl(e, t) {
+        return !t || ("object" !== Ol(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Pl(e) {
+        return (Pl = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Tl(e, t) {
+        return (Tl =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Dl = (function (e) {
+          function t() {
+            var e, n;
+            Sl(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = Cl(
+                this,
+                (e = Pl(t)).call.apply(e, [this].concat(a))
+              )).onThresholdsChanged = function (e) {
+                var t = n.props.options.fieldOptions.defaults;
+                n.onDefaultsChange(kl({}, t, { thresholds: e }));
+              }),
+              (n.onValueMappingsChanged = function (e) {
+                var t = n.props.options.fieldOptions.defaults;
+                n.onDefaultsChange(kl({}, t, { mappings: e }));
+              }),
+              (n.onDisplayOptionsChanged = function (e) {
+                return n.props.onOptionsChange(
+                  kl({}, n.props.options, { fieldOptions: e })
+                );
+              }),
+              (n.onDefaultsChange = function (e) {
+                n.onDisplayOptionsChanged(
+                  kl({}, n.props.options.fieldOptions, { defaults: e })
+                );
+              }),
+              (n.onOrientationChange = function (e) {
+                var t = e.value;
+                return n.props.onOptionsChange(
+                  kl({}, n.props.options, { orientation: t })
+                );
+              }),
+              (n.onDisplayModeChange = function (e) {
+                var t = e.value;
+                return n.props.onOptionsChange(
+                  kl({}, n.props.options, { displayMode: t })
+                );
+              }),
+              (n.onToggleShowUnfilled = function () {
+                n.props.onOptionsChange(
+                  kl({}, n.props.options, {
+                    showUnfilled: !n.props.options.showUnfilled,
+                  })
+                );
+              }),
+              (n.onDataLinksChanged = function (e) {
+                n.onDefaultsChange(
+                  kl({}, n.props.options.fieldOptions.defaults, { links: e })
+                );
+              }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Tl(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props.options,
+                    t = e.fieldOptions,
+                    n = t.defaults,
+                    r = t.values
+                      ? Object(Hn.b)(this.props.data.series)
+                      : Object(Hn.a)(this.props.data.series);
+                  return V.a.createElement(
+                    V.a.Fragment,
+                    null,
+                    V.a.createElement(
+                      se.PanelOptionsGrid,
+                      null,
+                      V.a.createElement(
+                        se.PanelOptionsGroup,
+                        { title: "Display" },
+                        V.a.createElement(se.FieldDisplayEditor, {
+                          onChange: this.onDisplayOptionsChanged,
+                          value: t,
+                          labelWidth: 6,
+                        }),
+                        V.a.createElement(
+                          "div",
+                          { className: "form-field" },
+                          V.a.createElement(
+                            se.FormLabel,
+                            { width: 6 },
+                            "Orientation"
+                          ),
+                          V.a.createElement(se.Select, {
+                            width: 12,
+                            options: Go,
+                            defaultValue: Go[0],
+                            onChange: this.onOrientationChange,
+                            value: Go.find(function (t) {
+                              return t.value === e.orientation;
+                            }),
+                          })
+                        ),
+                        V.a.createElement(
+                          "div",
+                          { className: "form-field" },
+                          V.a.createElement(se.FormLabel, { width: 6 }, "Mode"),
+                          V.a.createElement(se.Select, {
+                            width: 12,
+                            options: yl,
+                            defaultValue: yl[0],
+                            onChange: this.onDisplayModeChange,
+                            value: yl.find(function (t) {
+                              return t.value === e.displayMode;
+                            }),
+                          })
+                        ),
+                        "lcd" !== e.displayMode &&
+                          V.a.createElement(se.Switch, {
+                            label: "Unfilled",
+                            labelClass: "width-".concat(6),
+                            checked: e.showUnfilled,
+                            onChange: this.onToggleShowUnfilled,
+                          })
+                      ),
+                      V.a.createElement(
+                        se.PanelOptionsGroup,
+                        { title: "Field" },
+                        V.a.createElement(se.FieldPropertiesEditor, {
+                          showMinMax: !0,
+                          showTitle: !0,
+                          onChange: this.onDefaultsChange,
+                          value: n,
+                        })
+                      ),
+                      V.a.createElement(se.ThresholdsEditor, {
+                        onChange: this.onThresholdsChanged,
+                        thresholds: n.thresholds,
+                      })
+                    ),
+                    V.a.createElement(se.ValueMappingsEditor, {
+                      onChange: this.onValueMappingsChanged,
+                      valueMappings: n.mappings,
+                    }),
+                    V.a.createElement(
+                      se.PanelOptionsGroup,
+                      { title: "Data links" },
+                      V.a.createElement(se.DataLinksEditor, {
+                        value: n.links,
+                        onChange: this.onDataLinksChanged,
+                        suggestions: r,
+                        maxLinks: 10,
+                      })
+                    )
+                  );
+                },
+              },
+            ]) && El(n.prototype, r),
+            a && El(n, a),
+            t
+          );
+        })(L.PureComponent),
+        Al = new Q.PanelPlugin(vl)
+          .setDefaults(wl)
+          .setEditor(Dl)
+          .setPanelChangeHandler(se.sharedSingleStatPanelChangedHandler)
+          .setMigrationHandler(function (e) {
+            return Object(se.sharedSingleStatMigrationHandler)(e);
+          }),
+        _l = n("m257"),
+        Nl = {
+          showLabels: !1,
+          showTime: !0,
+          wrapLogMessage: !0,
+          sortOrder: _l.c.Descending,
+        },
+        Ml = n("QJHg");
+      function Il(e) {
+        return (Il =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Rl(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Fl(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? Rl(Object(n), !0).forEach(function (t) {
+                Ll(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : Rl(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Ll(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Vl(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Bl(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function $l(e, t) {
+        return !t || ("object" !== Il(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function ql(e) {
+        return (ql = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Ul(e, t) {
+        return (Ul =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var zl = [
+          { value: _l.c.Descending, label: "Descending" },
+          { value: _l.c.Ascending, label: "Ascending" },
+        ],
+        Hl = (function (e) {
+          function t() {
+            var e, n;
+            Vl(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = $l(
+                this,
+                (e = ql(t)).call.apply(e, [this].concat(a))
+              )).onToggleLabels = function () {
+                var e = n.props,
+                  t = e.options;
+                (0, e.onOptionsChange)(
+                  Fl({}, t, { showLabels: !t.showLabels })
+                );
+              }),
+              (n.onToggleTime = function () {
+                var e = n.props,
+                  t = e.options;
+                (0, e.onOptionsChange)(Fl({}, t, { showTime: !t.showTime }));
+              }),
+              (n.onTogglewrapLogMessage = function () {
+                var e = n.props,
+                  t = e.options;
+                (0, e.onOptionsChange)(
+                  Fl({}, t, { wrapLogMessage: !t.wrapLogMessage })
+                );
+              }),
+              (n.onShowValuesChange = function (e) {
+                var t = n.props,
+                  r = t.options;
+                (0, t.onOptionsChange)(Fl({}, r, { sortOrder: e.value }));
+              }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Ul(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props.options,
+                    t = e.showLabels,
+                    n = e.showTime,
+                    r = e.wrapLogMessage,
+                    a = e.sortOrder,
+                    o = zl.filter(function (e) {
+                      return e.value === a;
+                    })[0];
+                  return V.a.createElement(
+                    V.a.Fragment,
+                    null,
+                    V.a.createElement(
+                      se.PanelOptionsGrid,
+                      null,
+                      V.a.createElement(
+                        se.PanelOptionsGroup,
+                        { title: "Columns" },
+                        V.a.createElement(se.Switch, {
+                          label: "Time",
+                          labelClass: "width-10",
+                          checked: n,
+                          onChange: this.onToggleTime,
+                        }),
+                        V.a.createElement(se.Switch, {
+                          label: "Unique labels",
+                          labelClass: "width-10",
+                          checked: t,
+                          onChange: this.onToggleLabels,
+                        }),
+                        V.a.createElement(se.Switch, {
+                          label: "Wrap lines",
+                          labelClass: "width-10",
+                          checked: r,
+                          onChange: this.onTogglewrapLogMessage,
+                        }),
+                        V.a.createElement(
+                          "div",
+                          { className: "gf-form" },
+                          V.a.createElement(se.FormLabel, null, "Order"),
+                          V.a.createElement(se.Select, {
+                            options: zl,
+                            value: o,
+                            onChange: this.onShowValuesChange,
+                          })
+                        )
+                      )
+                    )
+                  );
+                },
+              },
+            ]) && Bl(n.prototype, r),
+            a && Bl(n, a),
+            t
+          );
+        })(L.PureComponent),
+        Gl = new Q.PanelPlugin(function (e) {
+          var t = e.data,
+            n = e.timeZone,
+            r = e.options,
+            a = r.showLabels,
+            o = r.showTime,
+            i = r.wrapLogMessage,
+            l = r.sortOrder;
+          e.width;
+          if (!t)
+            return V.a.createElement(
+              "div",
+              { className: "panel-empty" },
+              V.a.createElement("p", null, "No data found in response")
+            );
+          var s = t ? Object(Ml.a)(t.series, t.request.intervalMs, n) : null,
+            c = Object(_l.w)(s, l);
+          return V.a.createElement(
+            se.CustomScrollbar,
+            { autoHide: !0 },
+            V.a.createElement(se.LogRows, {
+              logRows: c.rows,
+              dedupStrategy: Q.LogsDedupStrategy.none,
+              highlighterExpressions: [],
+              showLabels: a,
+              showTime: o,
+              wrapLogMessage: i,
+              timeZone: n,
+              allowDetails: !0,
+            })
+          );
+        })
+          .setDefaults(Nl)
+          .setEditor(Hl);
+      function Wl(e) {
+        var t = new Q.ArrayVector([]),
+          n = new Q.ArrayVector([]),
+          r = new Q.ArrayVector([]),
+          a = new Q.ArrayVector([]),
+          o = !0,
+          i = !1,
+          l = void 0;
+        try {
+          for (
+            var s, c = e.items[Symbol.iterator]();
+            !(o = (s = c.next()).done);
+            o = !0
+          ) {
+            var u = s.value,
+              f = Object(Q.dateTime)(u.pubDate);
+            try {
+              if (
+                (t.buffer.push(f.valueOf()),
+                n.buffer.push(u.title),
+                r.buffer.push(u.link),
+                u.content)
+              ) {
+                var d = u.content.replace(/<\/?[^>]+(>|$)/g, "");
+                a.buffer.push(d);
+              }
+            } catch (e) {
+              console.warn("Error reading news item:", e, u);
+            }
+          }
+        } catch (e) {
+          (i = !0), (l = e);
+        } finally {
+          try {
+            o || null == c.return || c.return();
+          } finally {
+            if (i) throw l;
+          }
+        }
+        return {
+          fields: [
+            {
+              name: "date",
+              type: Q.FieldType.time,
+              config: { title: "Date" },
+              values: t,
+            },
+            { name: "title", type: Q.FieldType.string, config: {}, values: n },
+            { name: "link", type: Q.FieldType.string, config: {}, values: r },
+            {
+              name: "content",
+              type: Q.FieldType.string,
+              config: {},
+              values: a,
+            },
+          ],
+          length: t.length,
+        };
+      }
+      function Ql(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function Yl(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              Ql(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              Ql(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function Kl(e) {
+        return Jl.apply(this, arguments);
+      }
+      function Jl() {
+        return (Jl = Yl(
+          regeneratorRuntime.mark(function e(t) {
+            var n, r, a, o, i, l;
+            return regeneratorRuntime.wrap(function (e) {
+              for (;;)
+                switch ((e.prev = e.next)) {
+                  case 0:
+                    return (e.next = 2), fetch(t);
+                  case 2:
+                    return (n = e.sent), (e.next = 5), n.text();
+                  case 5:
+                    return (
+                      (r = e.sent),
+                      (a = new DOMParser()),
+                      (o = a.parseFromString(r, "text/xml")),
+                      (i = { items: [] }),
+                      (l = function (e, t) {
+                        var n,
+                          r = e.querySelector(t);
+                        return r && null !== (n = r.textContent) && void 0 !== n
+                          ? n
+                          : "";
+                      }),
+                      o.querySelectorAll("item").forEach(function (e) {
+                        var t = {
+                          title: l(e, "title"),
+                          link: l(e, "link"),
+                          content: l(e, "description"),
+                          pubDate: l(e, "pubDate"),
+                        };
+                        i.items.push(t);
+                      }),
+                      e.abrupt("return", i)
+                    );
+                  case 12:
+                  case "end":
+                    return e.stop();
+                }
+            }, e);
+          })
+        )).apply(this, arguments);
+      }
+      function Zl(e) {
+        return (Zl =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Xl() {
+        var e = as([
+          "\n    position: absolute;\n    top: 0;\n    right: 0;\n    background: ",
+          ";\n    width: 55px;\n    text-align: right;\n    padding: ",
+          ";\n    font-weight: 500;\n    border-radius: 0 0 0 3px;\n    color: ",
+          ";\n  ",
+        ]);
+        return (
+          (Xl = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function es() {
+        var e = as(["\n    p {\n      margin-bottom: 4px;\n    }\n  "]);
+        return (
+          (es = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ts() {
+        var e = as([
+          "\n    color: ",
+          ";\n    max-width: calc(100% - 70px);\n    font-size: 16px;\n    margin-bottom: ",
+          ";\n  ",
+        ]);
+        return (
+          (ts = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ns() {
+        var e = as([
+          "\n    ",
+          "\n    padding: ",
+          ";\n    position: relative;\n    margin-bottom: 4px;\n    margin-right: ",
+          ";\n  ",
+        ]);
+        return (
+          (ns = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function rs() {
+        var e = as(["\n    height: 100%;\n  "]);
+        return (
+          (rs = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function as(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      function os(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function is(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function ls(e, t) {
+        return !t || ("object" !== Zl(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function ss(e) {
+        return (ss = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function cs(e, t) {
+        return (cs =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var us = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = ls(this, ss(t).call(this, e))).state = {}),
+              n
+            );
+          }
+          var n, r, a, o, i;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && cs(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value: function () {
+                  this.loadFeed();
+                },
+              },
+              {
+                key: "componentDidUpdate",
+                value: function (e) {
+                  this.props.options.feedUrl !== e.options.feedUrl &&
+                    this.loadFeed();
+                },
+              },
+              {
+                key: "loadFeed",
+                value:
+                  ((o = regeneratorRuntime.mark(function e() {
+                    var t, n, r, a, o;
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return (
+                                (t = this.props.options),
+                                (e.prev = 1),
+                                (r =
+                                  null !== (n = t.feedUrl) && void 0 !== n
+                                    ? n
+                                    : "https://grafana.com/blog/news.xml"),
+                                (e.next = 5),
+                                Kl(r)
+                              );
+                            case 5:
+                              (a = e.sent),
+                                (o = Wl(a)),
+                                this.setState({
+                                  news: new Q.DataFrameView(o),
+                                  isError: !1,
+                                }),
+                                (e.next = 14);
+                              break;
+                            case 10:
+                              (e.prev = 10),
+                                (e.t0 = e.catch(1)),
+                                console.error("Error Loading News", e.t0),
+                                this.setState({ news: void 0, isError: !0 });
+                            case 14:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this,
+                      [[1, 10]]
+                    );
+                  })),
+                  (i = function () {
+                    var e = this,
+                      t = arguments;
+                    return new Promise(function (n, r) {
+                      var a = o.apply(e, t);
+                      function i(e) {
+                        os(a, n, r, i, l, "next", e);
+                      }
+                      function l(e) {
+                        os(a, n, r, i, l, "throw", e);
+                      }
+                      i(void 0);
+                    });
+                  }),
+                  function () {
+                    return i.apply(this, arguments);
+                  }),
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this.state,
+                    t = e.isError,
+                    n = e.news,
+                    r = fs(z.b.theme);
+                  return t
+                    ? V.a.createElement("div", null, "Error Loading News")
+                    : n
+                    ? V.a.createElement(
+                        "div",
+                        { className: r.container },
+                        V.a.createElement(
+                          se.CustomScrollbar,
+                          null,
+                          n.map(function (e, t) {
+                            return V.a.createElement(
+                              "div",
+                              { key: t, className: r.item },
+                              V.a.createElement(
+                                "a",
+                                { href: e.link, target: "_blank" },
+                                V.a.createElement(
+                                  "div",
+                                  { className: r.title },
+                                  e.title
+                                ),
+                                V.a.createElement(
+                                  "div",
+                                  { className: r.date },
+                                  Object(Q.dateTime)(e.date).format("MMM DD"),
+                                  " "
+                                ),
+                                V.a.createElement("div", {
+                                  className: r.content,
+                                  dangerouslySetInnerHTML: {
+                                    __html: Object(te.c)(e.content),
+                                  },
+                                })
+                              )
+                            );
+                          })
+                        )
+                      )
+                    : V.a.createElement("div", null, "loading...");
+                },
+              },
+            ]) && is(n.prototype, r),
+            a && is(n, a),
+            t
+          );
+        })(L.PureComponent),
+        fs = Object(se.stylesFactory)(function (e) {
+          return {
+            container: Object(Pr.css)(rs()),
+            item: Object(Pr.css)(
+              ns(),
+              se.styleMixins.listItem(e),
+              e.spacing.sm,
+              e.spacing.sm
+            ),
+            title: Object(Pr.css)(ts(), e.colors.linkExternal, e.spacing.sm),
+            content: Object(Pr.css)(es()),
+            date: Object(Pr.css)(
+              Xl(),
+              e.colors.panelBg,
+              e.spacing.xs,
+              e.colors.textWeak
+            ),
+          };
+        });
+      function ds(e) {
+        return (ds =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function ps(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function hs(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? ps(Object(n), !0).forEach(function (t) {
+                ms(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : ps(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function ms(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function gs(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function bs(e, t) {
+        return !t || ("object" !== ds(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function vs(e) {
+        return (vs = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function ys(e, t) {
+        return (ys =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var ws = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = bs(this, vs(t).call(this, e))).onUpdatePanel = function () {
+                return n.props.onOptionsChange(
+                  hs({}, n.props.options, { feedUrl: n.state.feedUrl })
+                );
+              }),
+              (n.onFeedUrlChange = function (e) {
+                var t = e.target;
+                return n.setState({ feedUrl: t.value });
+              }),
+              (n.onSetProxyPrefix = function () {
+                var e =
+                  "https://cors-anywhere.herokuapp.com/" + n.state.feedUrl;
+                n.setState({ feedUrl: e }),
+                  n.props.onOptionsChange(
+                    hs({}, n.props.options, { feedUrl: e })
+                  );
+              }),
+              (n.state = { feedUrl: e.options.feedUrl }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && ys(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.state.feedUrl || "",
+                    t =
+                      e &&
+                      !e.startsWith("https://cors-anywhere.herokuapp.com/");
+                  return V.a.createElement(
+                    V.a.Fragment,
+                    null,
+                    V.a.createElement(
+                      se.PanelOptionsGroup,
+                      { title: "Feed" },
+                      V.a.createElement(
+                        "div",
+                        { className: "gf-form" },
+                        V.a.createElement(se.FormField, {
+                          label: "URL",
+                          labelWidth: 7,
+                          inputWidth: 30,
+                          value: e || "",
+                          placeholder: "https://grafana.com/blog/news.xml",
+                          onChange: this.onFeedUrlChange,
+                          tooltip:
+                            "Only RSS feed formats are supported (not Atom).",
+                          onBlur: this.onUpdatePanel,
+                        })
+                      ),
+                      t &&
+                        V.a.createElement(
+                          "div",
+                          null,
+                          V.a.createElement("br", null),
+                          V.a.createElement(
+                            "div",
+                            null,
+                            "If the feed is unable to connect, consider a CORS proxy"
+                          ),
+                          V.a.createElement(
+                            se.Button,
+                            {
+                              variant: "inverse",
+                              onClick: this.onSetProxyPrefix,
+                            },
+                            "Use Proxy"
+                          )
+                        )
+                    )
+                  );
+                },
+              },
+            ]) && gs(n.prototype, r),
+            a && gs(n, a),
+            t
+          );
+        })(L.PureComponent),
+        Os = new Q.PanelPlugin(us).setDefaults({}).setEditor(ws);
+      function xs(e) {
+        return (xs =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function ks() {
+        var e = Cs([
+          "\n      ",
+          "\n      padding: ",
+          ";\n      display: flex;\n      margin-bottom: ",
+          ";\n      align-items: center;\n    ",
+        ]);
+        return (
+          (ks = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function js() {
+        var e = Cs([
+          "\n      ",
+          "\n      position: absolute;\n      bottom: 0;\n      width: 100%;\n      text-align: center;\n      padding: ",
+          ";\n      border-radius: 0;\n      box-shadow: none;\n      color: ",
+          ";\n    ",
+        ]);
+        return (
+          (js = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Ss() {
+        var e = Cs(["\n      padding-right: ", ";\n    "]);
+        return (
+          (Ss = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Es() {
+        var e = Cs([
+          "\n      display: flex;\n      flex-direction: column;\n      padding: ",
+          ";\n    ",
+        ]);
+        return (
+          (Es = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Cs(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      function Ps(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Ts(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Ds(e, t) {
+        return !t || ("object" !== xs(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function As(e) {
+        return (As = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function _s(e, t) {
+        return (_s =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Ns = (function (e) {
+          function t() {
+            return Ps(this, t), Ds(this, As(t).apply(this, arguments));
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && _s(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = Rs();
+                  return V.a.createElement(
+                    V.a.Fragment,
+                    null,
+                    V.a.createElement(
+                      "div",
+                      { className: e.list },
+                      V.a.createElement(Ms, {
+                        title: "Documentation",
+                        icon: "fa fa-book",
+                        url:
+                          "https://grafana.com/docs/grafana/latest?utm_source=grafana_homelinks",
+                        target: "_blank",
+                      }),
+                      V.a.createElement(Ms, {
+                        title: "Getting started",
+                        icon: "fa fa-bolt",
+                        url:
+                          "https://grafana.com/docs/grafana/latest/guides/getting_started/?utm_source=grafana_homelinks",
+                        target: "_blank",
+                      }),
+                      V.a.createElement(Ms, {
+                        title: "Community forum",
+                        icon: "fa fa-comments",
+                        url:
+                          "https://community.grafana.com?utm_source=grafana_homelinks",
+                        target: "_blank",
+                      }),
+                      V.a.createElement(Ms, {
+                        title: "Report a bug",
+                        icon: "fa fa-bug",
+                        url:
+                          "https://github.com/grafana/grafana/issues/new?template=1-bug_report.md",
+                        target: "_blank",
+                      })
+                    ),
+                    V.a.createElement(Is, null)
+                  );
+                },
+              },
+            ]) && Ts(n.prototype, r),
+            a && Ts(n, a),
+            t
+          );
+        })(L.PureComponent),
+        Ms = function (e) {
+          var t = e.title,
+            n = e.url,
+            r = e.target,
+            a = e.icon,
+            o = Rs();
+          return V.a.createElement(
+            "a",
+            { className: o.item, href: n, target: r },
+            V.a.createElement("i", { className: Object(Pr.cx)(a, o.icon) }),
+            t
+          );
+        },
+        Is = function () {
+          var e = Rs(),
+            t = z.b.buildInfo,
+            n = t.version,
+            r = t.commit;
+          return V.a.createElement(
+            "div",
+            { className: e.footer },
+            "Version ",
+            n,
+            " (",
+            r,
+            ")"
+          );
+        },
+        Rs = Object(se.stylesFactory)(function () {
+          var e = z.b.theme;
+          return {
+            list: Object(Pr.css)(Es(), e.spacing.md),
+            icon: Object(Pr.css)(Ss(), e.spacing.sm),
+            footer: Object(Pr.css)(
+              js(),
+              se.styleMixins.listItem(e),
+              e.spacing.sm,
+              e.colors.textWeak
+            ),
+            item: Object(Pr.css)(
+              ks(),
+              se.styleMixins.listItem(e),
+              e.spacing.sm,
+              e.spacing.xs
+            ),
+          };
+        }),
+        Fs = new Q.PanelPlugin(Ns).setDefaults({}).setNoPadding();
+      function Ls(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function Vs(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              Ls(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              Ls(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      var Bs = (function () {
+          var e = Vs(
+            regeneratorRuntime.mark(function e() {
+              return regeneratorRuntime.wrap(function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      return (e.next = 2), n.e(36).then(n.bind(null, "nKVo"));
+                    case 2:
+                      return e.abrupt("return", e.sent);
+                    case 3:
+                    case "end":
+                      return e.stop();
+                  }
+              }, e);
+            })
+          );
+          return function () {
+            return e.apply(this, arguments);
+          };
+        })(),
+        $s = (function () {
+          var e = Vs(
+            regeneratorRuntime.mark(function e() {
+              return regeneratorRuntime.wrap(function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      return (e.next = 2), n.e(31).then(n.bind(null, "Z209"));
+                    case 2:
+                      return e.abrupt("return", e.sent);
+                    case 3:
+                    case "end":
+                      return e.stop();
+                  }
+              }, e);
+            })
+          );
+          return function () {
+            return e.apply(this, arguments);
+          };
+        })(),
+        qs = (function () {
+          var e = Vs(
+            regeneratorRuntime.mark(function e() {
+              return regeneratorRuntime.wrap(function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      return (e.next = 2), n.e(56).then(n.bind(null, "cD+E"));
+                    case 2:
+                      return e.abrupt("return", e.sent);
+                    case 3:
+                    case "end":
+                      return e.stop();
+                  }
+              }, e);
+            })
+          );
+          return function () {
+            return e.apply(this, arguments);
+          };
+        })(),
+        Us = (function () {
+          var e = Vs(
+            regeneratorRuntime.mark(function e() {
+              return regeneratorRuntime.wrap(function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      return (e.next = 2), n.e(33).then(n.bind(null, "EnIS"));
+                    case 2:
+                      return e.abrupt("return", e.sent);
+                    case 3:
+                    case "end":
+                      return e.stop();
+                  }
+              }, e);
+            })
+          );
+          return function () {
+            return e.apply(this, arguments);
+          };
+        })(),
+        zs = (function () {
+          var e = Vs(
+            regeneratorRuntime.mark(function e() {
+              return regeneratorRuntime.wrap(function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      return (e.next = 2), n.e(45).then(n.bind(null, "02dm"));
+                    case 2:
+                      return e.abrupt("return", e.sent);
+                    case 3:
+                    case "end":
+                      return e.stop();
+                  }
+              }, e);
+            })
+          );
+          return function () {
+            return e.apply(this, arguments);
+          };
+        })(),
+        Hs = (function () {
+          var e = Vs(
+            regeneratorRuntime.mark(function e() {
+              return regeneratorRuntime.wrap(function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      return (e.next = 2), n.e(35).then(n.bind(null, "gcd9"));
+                    case 2:
+                      return e.abrupt("return", e.sent);
+                    case 3:
+                    case "end":
+                      return e.stop();
+                  }
+              }, e);
+            })
+          );
+          return function () {
+            return e.apply(this, arguments);
+          };
+        })(),
+        Gs = (function () {
+          var e = Vs(
+            regeneratorRuntime.mark(function e() {
+              return regeneratorRuntime.wrap(function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      return (e.next = 2), n.e(37).then(n.bind(null, "sl8e"));
+                    case 2:
+                      return e.abrupt("return", e.sent);
+                    case 3:
+                    case "end":
+                      return e.stop();
+                  }
+              }, e);
+            })
+          );
+          return function () {
+            return e.apply(this, arguments);
+          };
+        })(),
+        Ws = (function () {
+          var e = Vs(
+            regeneratorRuntime.mark(function e() {
+              return regeneratorRuntime.wrap(function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      return (
+                        (e.next = 2),
+                        Promise.all([n.e(4), n.e(40)]).then(
+                          n.bind(null, "+2Nz")
+                        )
+                      );
+                    case 2:
+                      return e.abrupt("return", e.sent);
+                    case 3:
+                    case "end":
+                      return e.stop();
+                  }
+              }, e);
+            })
+          );
+          return function () {
+            return e.apply(this, arguments);
+          };
+        })(),
+        Qs = (function () {
+          var e = Vs(
+            regeneratorRuntime.mark(function e() {
+              return regeneratorRuntime.wrap(function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      return (e.next = 2), n.e(41).then(n.bind(null, "CaV2"));
+                    case 2:
+                      return e.abrupt("return", e.sent);
+                    case 3:
+                    case "end":
+                      return e.stop();
+                  }
+              }, e);
+            })
+          );
+          return function () {
+            return e.apply(this, arguments);
+          };
+        })(),
+        Ys = (function () {
+          var e = Vs(
+            regeneratorRuntime.mark(function e() {
+              return regeneratorRuntime.wrap(function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      return (e.next = 2), n.e(44).then(n.bind(null, "qSU+"));
+                    case 2:
+                      return e.abrupt("return", e.sent);
+                    case 3:
+                    case "end":
+                      return e.stop();
+                  }
+              }, e);
+            })
+          );
+          return function () {
+            return e.apply(this, arguments);
+          };
+        })(),
+        Ks = (function () {
+          var e = Vs(
+            regeneratorRuntime.mark(function e() {
+              return regeneratorRuntime.wrap(function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      return (e.next = 2), n.e(46).then(n.bind(null, "2Wqq"));
+                    case 2:
+                      return e.abrupt("return", e.sent);
+                    case 3:
+                    case "end":
+                      return e.stop();
+                  }
+              }, e);
+            })
+          );
+          return function () {
+            return e.apply(this, arguments);
+          };
+        })(),
+        Js = (function () {
+          var e = Vs(
+            regeneratorRuntime.mark(function e() {
+              return regeneratorRuntime.wrap(function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      return (
+                        (e.next = 2),
+                        Promise.all([n.e(4), n.e(47)]).then(
+                          n.bind(null, "EaOu")
+                        )
+                      );
+                    case 2:
+                      return e.abrupt("return", e.sent);
+                    case 3:
+                    case "end":
+                      return e.stop();
+                  }
+              }, e);
+            })
+          );
+          return function () {
+            return e.apply(this, arguments);
+          };
+        })(),
+        Zs = {
+          "app/plugins/datasource/graphite/module": Bs,
+          "app/plugins/datasource/cloudwatch/module": $s,
+          "app/plugins/datasource/dashboard/module": qs,
+          "app/plugins/datasource/elasticsearch/module": Us,
+          "app/plugins/datasource/opentsdb/module": zs,
+          "app/plugins/datasource/grafana/module": Hs,
+          "app/plugins/datasource/influxdb/module": Gs,
+          "app/plugins/datasource/loki/module": Ws,
+          "app/plugins/datasource/mixed/module": Qs,
+          "app/plugins/datasource/mysql/module": Ys,
+          "app/plugins/datasource/postgres/module": Ks,
+          "app/plugins/datasource/mssql/module": (function () {
+            var e = Vs(
+              regeneratorRuntime.mark(function e() {
+                return regeneratorRuntime.wrap(function (e) {
+                  for (;;)
+                    switch ((e.prev = e.next)) {
+                      case 0:
+                        return (e.next = 2), n.e(43).then(n.bind(null, "R57O"));
+                      case 2:
+                        return e.abrupt("return", e.sent);
+                      case 3:
+                      case "end":
+                        return e.stop();
+                    }
+                }, e);
+              })
+            );
+            return function () {
+              return e.apply(this, arguments);
+            };
+          })(),
+          "app/plugins/datasource/prometheus/module": Js,
+          "app/plugins/datasource/testdata/module": (function () {
+            var e = Vs(
+              regeneratorRuntime.mark(function e() {
+                return regeneratorRuntime.wrap(function (e) {
+                  for (;;)
+                    switch ((e.prev = e.next)) {
+                      case 0:
+                        return (e.next = 2), n.e(50).then(n.bind(null, "RQDA"));
+                      case 2:
+                        return e.abrupt("return", e.sent);
+                      case 3:
+                      case "end":
+                        return e.stop();
+                    }
+                }, e);
+              })
+            );
+            return function () {
+              return e.apply(this, arguments);
+            };
+          })(),
+          "app/plugins/datasource/input/module": (function () {
+            var e = Vs(
+              regeneratorRuntime.mark(function e() {
+                return regeneratorRuntime.wrap(function (e) {
+                  for (;;)
+                    switch ((e.prev = e.next)) {
+                      case 0:
+                        return (e.next = 2), n.e(38).then(n.bind(null, "sz7o"));
+                      case 2:
+                        return e.abrupt("return", e.sent);
+                      case 3:
+                      case "end":
+                        return e.stop();
+                    }
+                }, e);
+              })
+            );
+            return function () {
+              return e.apply(this, arguments);
+            };
+          })(),
+          "app/plugins/datasource/stackdriver/module": (function () {
+            var e = Vs(
+              regeneratorRuntime.mark(function e() {
+                return regeneratorRuntime.wrap(function (e) {
+                  for (;;)
+                    switch ((e.prev = e.next)) {
+                      case 0:
+                        return (e.next = 2), n.e(49).then(n.bind(null, "swYP"));
+                      case 2:
+                        return e.abrupt("return", e.sent);
+                      case 3:
+                      case "end":
+                        return e.stop();
+                    }
+                }, e);
+              })
+            );
+            return function () {
+              return e.apply(this, arguments);
+            };
+          })(),
+          "app/plugins/datasource/grafana-azure-monitor-datasource/module": (function () {
+            var e = Vs(
+              regeneratorRuntime.mark(function e() {
+                return regeneratorRuntime.wrap(function (e) {
+                  for (;;)
+                    switch ((e.prev = e.next)) {
+                      case 0:
+                        return (e.next = 2), n.e(29).then(n.bind(null, "CLTJ"));
+                      case 2:
+                        return e.abrupt("return", e.sent);
+                      case 3:
+                      case "end":
+                        return e.stop();
+                    }
+                }, e);
+              })
+            );
+            return function () {
+              return e.apply(this, arguments);
+            };
+          })(),
+          "app/plugins/panel/text/module": r,
+          "app/plugins/panel/text2/module": a,
+          "app/plugins/panel/graph2/module": o,
+          "app/plugins/panel/graph/module": i,
+          "app/plugins/panel/dashlist/module": l,
+          "app/plugins/panel/pluginlist/module": s,
+          "app/plugins/panel/alertlist/module": c,
+          "app/plugins/panel/annolist/module": u,
+          "app/plugins/panel/heatmap/module": f,
+          "app/plugins/panel/table/module": d,
+          "app/plugins/panel/table2/module": p,
+          "app/plugins/panel/news/module": O,
+          "app/plugins/panel/singlestat/module": h,
+          "app/plugins/panel/stat/module": m,
+          "app/plugins/panel/gettingstarted/module": g,
+          "app/plugins/panel/gauge/module": b,
+          "app/plugins/panel/piechart/module": v,
+          "app/plugins/panel/bargauge/module": y,
+          "app/plugins/panel/logs/module": w,
+          "app/plugins/panel/homelinks/module": x,
+        },
+        Xs = n("DtyJ"),
+        ec = n("ahDk");
+      function tc(e) {
+        return (tc =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function nc() {
+        return (nc =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function rc(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function ac(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function oc(e, t, n) {
+        return t && ac(e.prototype, t), n && ac(e, n), e;
+      }
+      function ic(e, t) {
+        return !t || ("object" !== tc(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function lc(e) {
+        return (lc = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function sc(e, t) {
+        if ("function" != typeof t && null !== t)
+          throw new TypeError(
+            "Super expression must either be null or a function"
+          );
+        (e.prototype = Object.create(t && t.prototype, {
+          constructor: { value: e, writable: !0, configurable: !0 },
+        })),
+          t && cc(e, t);
+      }
+      function cc(e, t) {
+        return (cc =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var uc = (function (e) {
+        function t(e) {
+          return rc(this, t), ic(this, lc(t).call(this, e));
+        }
+        return (
+          sc(t, e),
+          oc(t, [
+            {
+              key: "render",
+              value: function () {
+                return V.a.createElement(
+                  "div",
+                  {
+                    style: {
+                      display: "flex",
+                      alignItems: "center",
+                      justifyContent: "center",
+                      height: "100%",
+                    },
+                  },
+                  V.a.createElement(
+                    se.Alert,
+                    nc(
+                      { severity: wt.AppNotificationSeverity.Error },
+                      this.props
+                    )
+                  )
+                );
+              },
+            },
+          ]),
+          t
+        );
+      })(L.PureComponent);
+      function fc(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function dc(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              fc(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              fc(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      n.d(t, "d", function () {
+        return vc;
+      }),
+        n.d(t, "b", function () {
+          return wc;
+        }),
+        n.d(t, "a", function () {
+          return Oc;
+        }),
+        n.d(t, "c", function () {
+          return kc;
+        });
+      var pc = se;
+      (pc.PanelPlugin = Q.PanelPlugin),
+        (pc.DataSourcePlugin = Q.DataSourcePlugin),
+        (pc.AppPlugin = Q.AppPlugin),
+        (pc.DataSourceApi = Q.DataSourceApi);
+      var hc = "?_cache=".concat(Date.now());
+      function mc(e, t) {
+        sr.SystemJS.registerDynamic(e, [], !0, function (e, n, r) {
+          r.exports = t;
+        });
+      }
+      sr.SystemJS.registry.set(
+        "plugin-loader",
+        sr.SystemJS.newModule({
+          locate: function (e) {
+            return e.address + hc;
+          },
+        })
+      ),
+        sr.SystemJS.config({
+          baseURL: "public",
+          defaultExtension: "js",
+          packages: { plugins: { defaultExtension: "js" } },
+          map: {
+            text: "vendor/plugin-text/text.js",
+            css: "vendor/plugin-css/css.js",
+          },
+          meta: {
+            "/*": { esModule: !0, authorization: !0, loader: "plugin-loader" },
+          },
+        }),
+        mc("@grafana/data", Q),
+        mc("@grafana/ui", pc),
+        mc("@grafana/runtime", sr),
+        mc("lodash", j.a),
+        mc("moment", P.a),
+        mc("jquery", _.a),
+        mc("angular", D.a),
+        mc("d3", Yr),
+        mc("rxjs", Xs),
+        mc("rxjs/operators", ec),
+        mc("prismjs", M.a),
+        mc("slate", I.o),
+        mc("@grafana/slate-react", R.b),
+        mc("slate-plain-serializer", F.a),
+        mc("react", V.a),
+        mc("react-dom", $.a),
+        mc("react-redux", q),
+        mc("redux", U),
+        mc("emotion", Pr),
+        mc("app/features/dashboard/impression_store", {
+          impressions: ee.a,
+          __esModule: !0,
+        }),
+        mc("app/core/services/backend_srv", {
+          BackendSrv: Z.a,
+          getBackendSrv: Z.c,
+        }),
+        mc("app/plugins/sdk", S),
+        mc("app/core/utils/datemath", Q.dateMath),
+        mc("app/core/utils/file_export", Y),
+        mc("app/core/utils/flatten", K),
+        mc("app/core/utils/kbn", E.a),
+        mc("app/core/utils/ticks", J),
+        mc("app/core/utils/promiseToDigest", {
+          promiseToDigest: X.a,
+          __esModule: !0,
+        }),
+        mc("app/core/config", z.b),
+        mc("app/core/time_series", H.a),
+        mc("app/core/time_series2", H.a),
+        mc("app/core/table_model", G.a),
+        mc("app/core/app_events", W.a),
+        mc("app/core/core_module", W.c),
+        mc("app/core/core", {
+          coreModule: W.c,
+          appEvents: W.a,
+          contextSrv: W.b,
+          __esModule: !0,
+        });
+      for (
+        var gc = 0,
+          bc = [
+            "jquery.flot",
+            "jquery.flot.pie",
+            "jquery.flot.time",
+            "jquery.flot.fillbelow",
+            "jquery.flot.crosshair",
+            "jquery.flot.stack",
+            "jquery.flot.selection",
+            "jquery.flot.stackpercent",
+            "jquery.flot.events",
+            "jquery.flot.gauge",
+          ];
+        gc < bc.length;
+        gc++
+      ) {
+        mc(bc[gc], { fakeDep: 1 });
+      }
+      function vc(e) {
+        return yc.apply(this, arguments);
+      }
+      function yc() {
+        return (yc = dc(
+          regeneratorRuntime.mark(function e(t) {
+            var n;
+            return regeneratorRuntime.wrap(function (e) {
+              for (;;)
+                switch ((e.prev = e.next)) {
+                  case 0:
+                    if (!(n = Zs[t])) {
+                      e.next = 9;
+                      break;
+                    }
+                    if ("function" != typeof n) {
+                      e.next = 8;
+                      break;
+                    }
+                    return (e.next = 5), n();
+                  case 5:
+                    return e.abrupt("return", e.sent);
+                  case 8:
+                    return e.abrupt("return", Promise.resolve(n));
+                  case 9:
+                    return e.abrupt("return", sr.SystemJS.import(t));
+                  case 10:
+                  case "end":
+                    return e.stop();
+                }
+            }, e);
+          })
+        )).apply(this, arguments);
+      }
+      function wc(e) {
+        return vc(e.module).then(function (t) {
+          if (t.plugin) {
+            var n = t.plugin;
+            return (n.meta = e), n;
+          }
+          if (t.Datasource) {
+            var r = new Q.DataSourcePlugin(t.Datasource);
+            return r.setComponentsFromLegacyExports(t), (r.meta = e), r;
+          }
+          throw new Error(
+            "Plugin module is missing DataSourcePlugin or Datasource constructor export"
+          );
+        });
+      }
+      function Oc(e) {
+        return vc(e.module).then(function (t) {
+          var n = t.plugin ? t.plugin : new Q.AppPlugin();
+          return (
+            n.init(e), (n.meta = e), n.setComponentsFromLegacyExports(t), n
+          );
+        });
+      }
+      var xc = {};
+      function kc(e) {
+        var t = xc[e];
+        if (t) return t;
+        var n = z.b.panels[e];
+        return n
+          ? ((xc[e] = vc(n.module)
+              .then(function (e) {
+                if (e.plugin) return e.plugin;
+                if (e.PanelCtrl) {
+                  var t = new Q.PanelPlugin(null);
+                  return (t.angularPanelCtrl = e.PanelCtrl), t;
+                }
+                throw new Error("missing export: plugin or PanelCtrl");
+              })
+              .then(function (e) {
+                return (e.meta = n), e;
+              })
+              .catch(function (t) {
+                return (
+                  console.warn("Error loading panel plugin: " + e, t),
+                  (function (e, t) {
+                    var n = (function (t) {
+                        function n() {
+                          return (
+                            rc(this, n), ic(this, lc(n).apply(this, arguments))
+                          );
+                        }
+                        return (
+                          sc(n, t),
+                          oc(n, [
+                            {
+                              key: "render",
+                              value: function () {
+                                var t = V.a.createElement(
+                                  V.a.Fragment,
+                                  null,
+                                  "Check the server startup logs for more information. ",
+                                  V.a.createElement("br", null),
+                                  "If this plugin was loaded from git, make sure it was compiled."
+                                );
+                                return V.a.createElement(uc, {
+                                  title: "Error loading: ".concat(e.id),
+                                  text: t,
+                                });
+                              },
+                            },
+                          ]),
+                          n
+                        );
+                      })(L.PureComponent),
+                      r = new Q.PanelPlugin(n);
+                    return (r.meta = e), (r.loadError = !0), r;
+                  })(n)
+                );
+              })),
+            xc[e])
+          : Promise.resolve(
+              (function (e) {
+                var t = (function (t) {
+                    function n() {
+                      return (
+                        rc(this, n), ic(this, lc(n).apply(this, arguments))
+                      );
+                    }
+                    return (
+                      sc(n, t),
+                      oc(n, [
+                        {
+                          key: "render",
+                          value: function () {
+                            return V.a.createElement(uc, {
+                              title: "Panel plugin not found: ".concat(e),
+                            });
+                          },
+                        },
+                      ]),
+                      n
+                    );
+                  })(L.PureComponent),
+                  n = new Q.PanelPlugin(t);
+                return (
+                  (n.meta = {
+                    id: e,
+                    name: e,
+                    sort: 100,
+                    type: Q.PluginType.panel,
+                    module: "",
+                    baseUrl: "",
+                    info: {
+                      author: { name: "" },
+                      description: "",
+                      links: [],
+                      logos: { large: "", small: "" },
+                      screenshots: [],
+                      updated: "",
+                      version: "",
+                    },
+                  }),
+                  n
+                );
+              })(e)
+            );
+      }
+    },
+    WNR3: function (e, t) {
+      var n = "public/app/features/alerting/partials/notification_edit.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body">\n\n  <h3 class=page-sub-heading ng-hide=ctrl.isNew>Edit Notification Channel</h3>\n  <h3 class=page-sub-heading ng-show=ctrl.isNew>New Notification Channel</h3>\n\n  <form name=ctrl.theForm ng-if=ctrl.notifiers>\n    <div class=gf-form-group>\n      <div class=gf-form>\n        <span class="gf-form-label width-12">Name</span>\n        <input type=text required class="gf-form-input max-width-15" ng-model=ctrl.model.name required>\n      </div>\n      <div class=gf-form>\n        <span class="gf-form-label width-12">Type</span>\n        <div class="gf-form-select-wrapper width-15">\n          <select class=gf-form-input ng-model=ctrl.model.type ng-options="t.type as t.name for t in ctrl.notifiers" ng-change="ctrl.typeChanged(notification, $index)">\n          </select>\n        </div>\n      </div>\n      <gf-form-switch class=gf-form label="Default (send on all alerts)" label-class=width-14 checked=ctrl.model.isDefault tooltip="Use this notification for all alerts">\n      </gf-form-switch>\n      <gf-form-switch class=gf-form label="Include image" label-class=width-14 checked=ctrl.model.settings.uploadImage tooltip="Captures an image and include it in the notification">\n      </gf-form-switch>\n      <gf-form-switch class=gf-form label="Disable Resolve Message" label-class=width-14 checked=ctrl.model.disableResolveMessage tooltip="Disable the resolve message [OK] that is sent when alerting state returns to false">\n      </gf-form-switch>\n      <gf-form-switch class=gf-form label="Send reminders" label-class=width-14 checked=ctrl.model.sendReminder tooltip="Send additional notifications for triggered alerts">\n      </gf-form-switch>\n      <div class=gf-form-inline>\n        <div class=gf-form ng-if=ctrl.model.sendReminder>\n          <span class="gf-form-label width-12">Send reminder every\n            <info-popover mode=right-normal position="top center">\n              Specify how often reminders should be sent, e.g. every 30s, 1m, 10m, 30m or 1h etc.\n            </info-popover>\n          </span>\n          <input type=text placeholder="Select or specify custom" class="gf-form-input width-15" ng-model=ctrl.model.frequency bs-typeahead=ctrl.getFrequencySuggestion data-min-length=0 ng-required=ctrl.model.sendReminder>\n        </div>\n      </div>\n      <div class=gf-form>\n          <span class="alert alert-info width-30" ng-if=ctrl.model.sendReminder>\n            Alert reminders are sent after rules are evaluated. Therefore a reminder can never be sent more frequently than a configured alert rule evaluation interval.\n          </span>\n        </div>\n    </div>\n\n    <div class=gf-form-group ng-include src=ctrl.notifierTemplateId>\n    </div>\n\n    <div class="gf-form-group gf-form-button-row">\n\t\t\t<button type=submit ng-click=ctrl.save() class="btn btn-primary width-7">Save</button>\n\t\t\t<button type=submit ng-click=ctrl.testNotification() class="btn btn-secondary">Send Test</button>\n\t\t\t<button type=delete ng-if=!ctrl.isNew ng-click=ctrl.deleteNotification() class="btn btn-danger width-7">Delete</button>\n\t\t\t<a href=alerting/notifications class="btn btn-inverse">Back</a>\n    </div>\n  </form>\n</div>\n\n<footer/>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    WUic: function (e, t, n) {
+      "use strict";
+      n.d(t, "b", function () {
+        return x;
+      }),
+        n.d(t, "a", function () {
+          return k;
+        });
+      var r = n("LvDl"),
+        a = n.n(r),
+        o = n("txxJ"),
+        i = n("Xmxp"),
+        l = n("m257"),
+        s = n("UIT+"),
+        c = n("iODs"),
+        u = n("GQ3c"),
+        f = n("imBb"),
+        d = n.n(f),
+        p = n("Obii"),
+        h = (n("XcA1"), n("t8hP")),
+        m = n("Y2hc"),
+        g = n("KODV");
+      function b(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function v(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              b(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              b(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function y(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var w,
+        O = (function () {
+          function e(t, n, r, a, o, l) {
+            var s = this;
+            !(function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, e),
+              (this.$rootScope = t),
+              (this.$location = n),
+              (this.$timeout = r),
+              (this.datasourceSrv = a),
+              (this.timeSrv = o),
+              (this.contextSrv = l),
+              (this.modalOpen = !1),
+              (this.timepickerOpen = !1),
+              t.$on("$routeChangeSuccess", function () {
+                d.a.reset(), s.setupGlobal();
+              }),
+              this.setupGlobal(),
+              i.b.on(u.CoreEvents.showModal, function () {
+                return (s.modalOpen = !0);
+              }),
+              i.b.on(u.CoreEvents.timepickerOpen, function () {
+                return (s.timepickerOpen = !0);
+              }),
+              i.b.on(u.CoreEvents.timepickerClosed, function () {
+                return (s.timepickerOpen = !1);
+              });
+          }
+          var t, n, r;
+          return (
+            (e.$inject = [
+              "$rootScope",
+              "$location",
+              "$timeout",
+              "datasourceSrv",
+              "timeSrv",
+              "contextSrv",
+            ]),
+            (t = e),
+            (n = [
+              {
+                key: "setupGlobal",
+                value: function () {
+                  "/login" !== this.$location.path() &&
+                    (this.bind(["?", "h"], this.showHelpModal),
+                    this.bind("g h", this.goToHome),
+                    this.bind("g a", this.openAlerting),
+                    this.bind("g p", this.goToProfile),
+                    this.bind("s o", this.openSearch),
+                    this.bind("f", this.openSearch),
+                    this.bind("esc", this.exit),
+                    this.bindGlobal("esc", this.globalEsc));
+                },
+              },
+              {
+                key: "globalEsc",
+                value: function () {
+                  var e = document,
+                    t = e.activeElement;
+                  document.querySelectorAll(".slate-typeahead--open").length >
+                    0 ||
+                    (t &&
+                    t.blur &&
+                    ("INPUT" === t.nodeName ||
+                      "TEXTAREA" === t.nodeName ||
+                      t.hasAttribute("data-slate-editor"))
+                      ? e.activeElement.blur()
+                      : this.exit());
+                },
+              },
+              {
+                key: "openSearch",
+                value: function () {
+                  i.b.emit(u.CoreEvents.showDashSearch);
+                },
+              },
+              {
+                key: "openAlerting",
+                value: function () {
+                  this.$location.url("/alerting");
+                },
+              },
+              {
+                key: "goToHome",
+                value: function () {
+                  this.$location.url("/");
+                },
+              },
+              {
+                key: "goToProfile",
+                value: function () {
+                  this.$location.url("/profile");
+                },
+              },
+              {
+                key: "showHelpModal",
+                value: function () {
+                  i.b.emit(u.CoreEvents.showModal, {
+                    templateHtml: "<help-modal></help-modal>",
+                  });
+                },
+              },
+              {
+                key: "exit",
+                value: function () {
+                  if ((i.b.emit(u.CoreEvents.hideModal), !this.modalOpen)) {
+                    if (this.timepickerOpen)
+                      return (
+                        this.$rootScope.appEvent(u.CoreEvents.closeTimepicker),
+                        void (this.timepickerOpen = !1)
+                      );
+                    var e = this.$location.search();
+                    return e.editview
+                      ? (delete e.editview, void this.$location.search(e))
+                      : e.editPanel
+                      ? (delete e.editPanel, void this.$location.search(e))
+                      : void (e.fullscreen
+                          ? i.b.emit(p.PanelEvents.panelChangeView, {
+                              fullscreen: !1,
+                              edit: !1,
+                            })
+                          : e.kiosk &&
+                            this.$rootScope.appEvent(
+                              u.CoreEvents.toggleKioskMode,
+                              { exit: !0 }
+                            ));
+                  }
+                  this.modalOpen = !1;
+                },
+              },
+              {
+                key: "bind",
+                value: function (e, t) {
+                  var n = this;
+                  d.a.bind(
+                    e,
+                    function (e) {
+                      return (
+                        e.preventDefault(),
+                        e.stopPropagation(),
+                        (e.returnValue = !1),
+                        n.$rootScope.$apply(t.bind(n))
+                      );
+                    },
+                    "keydown"
+                  );
+                },
+              },
+              {
+                key: "bindGlobal",
+                value: function (e, t) {
+                  var n = this;
+                  d.a.bindGlobal(
+                    e,
+                    function (e) {
+                      return (
+                        e.preventDefault(),
+                        e.stopPropagation(),
+                        (e.returnValue = !1),
+                        n.$rootScope.$apply(t.bind(n))
+                      );
+                    },
+                    "keydown"
+                  );
+                },
+              },
+              {
+                key: "unbind",
+                value: function (e, t) {
+                  d.a.unbind(e, t);
+                },
+              },
+              {
+                key: "showDashEditView",
+                value: function () {
+                  var e = a.a.extend(this.$location.search(), {
+                    editview: "settings",
+                  });
+                  this.$location.search(e);
+                },
+              },
+              {
+                key: "setupDashboardBindings",
+                value: function (e, t) {
+                  var n = this;
+                  this.bind("mod+o", function () {
+                    (t.graphTooltip = (t.graphTooltip + 1) % 3),
+                      i.b.emit(u.CoreEvents.graphHoverClear),
+                      t.startRefresh();
+                  }),
+                    this.bind("mod+s", function () {
+                      i.b.emit(u.CoreEvents.showModalReact, {
+                        component: g.a,
+                        props: { dashboard: t },
+                      });
+                    }),
+                    this.bind("t z", function () {
+                      e.appEvent(u.CoreEvents.zoomOut, 2);
+                    }),
+                    this.bind("ctrl+z", function () {
+                      e.appEvent(u.CoreEvents.zoomOut, 2);
+                    }),
+                    this.bind("t left", function () {
+                      e.appEvent(u.CoreEvents.shiftTime, -1);
+                    }),
+                    this.bind("t right", function () {
+                      e.appEvent(u.CoreEvents.shiftTime, 1);
+                    }),
+                    this.bind("e", function () {
+                      t.canEditPanelById(t.meta.focusPanelId) &&
+                        i.b.emit(p.PanelEvents.panelChangeView, {
+                          fullscreen: !0,
+                          edit: !0,
+                          panelId: t.meta.focusPanelId,
+                          toggle: !0,
+                        });
+                    }),
+                    this.bind("v", function () {
+                      t.meta.focusPanelId &&
+                        i.b.emit(p.PanelEvents.panelChangeView, {
+                          fullscreen: !0,
+                          panelId: t.meta.focusPanelId,
+                          toggle: !0,
+                        });
+                    }),
+                    this.contextSrv.hasAccessToExplore() &&
+                      this.bind(
+                        "x",
+                        v(
+                          regeneratorRuntime.mark(function e() {
+                            var r, a, o, i;
+                            return regeneratorRuntime.wrap(function (e) {
+                              for (;;)
+                                switch ((e.prev = e.next)) {
+                                  case 0:
+                                    if (!t.meta.focusPanelId) {
+                                      e.next = 10;
+                                      break;
+                                    }
+                                    return (
+                                      (r = t.getPanelById(t.meta.focusPanelId)),
+                                      (e.next = 4),
+                                      n.datasourceSrv.get(r.datasource)
+                                    );
+                                  case 4:
+                                    return (
+                                      (a = e.sent),
+                                      (e.next = 7),
+                                      Object(l.k)({
+                                        panel: r,
+                                        panelTargets: r.targets,
+                                        panelDatasource: a,
+                                        datasourceSrv: n.datasourceSrv,
+                                        timeSrv: n.timeSrv,
+                                      })
+                                    );
+                                  case 7:
+                                    (o = e.sent),
+                                      (i = s.b.stripBaseFromUrl(o)) &&
+                                        n.$timeout(function () {
+                                          return n.$location.url(i);
+                                        });
+                                  case 10:
+                                  case "end":
+                                    return e.stop();
+                                }
+                            }, e);
+                          })
+                        )
+                      ),
+                    this.bind("p r", function () {
+                      t.canEditPanelById(t.meta.focusPanelId) &&
+                        (i.b.emit(
+                          u.CoreEvents.removePanel,
+                          t.meta.focusPanelId
+                        ),
+                        (t.meta.focusPanelId = 0));
+                    }),
+                    this.bind("p d", function () {
+                      if (t.canEditPanelById(t.meta.focusPanelId)) {
+                        var e = t.getPanelInfoById(t.meta.focusPanelId).index;
+                        t.duplicatePanel(t.panels[e]);
+                      }
+                    }),
+                    this.bind("p s", function () {
+                      if (t.meta.focusPanelId) {
+                        var e = t.getPanelInfoById(t.meta.focusPanelId);
+                        i.b.emit(u.CoreEvents.showModalReact, {
+                          component: m.ShareModal,
+                          props: {
+                            dashboard: t,
+                            panel: null == e ? void 0 : e.panel,
+                          },
+                        });
+                      }
+                    }),
+                    this.bind("p i", function () {
+                      t.meta.focusPanelId &&
+                        Object(h.getLocationSrv)().update({
+                          partial: !0,
+                          query: { inspect: t.meta.focusPanelId },
+                        });
+                    }),
+                    this.bind("p l", function () {
+                      if (
+                        t.meta.focusPanelId &&
+                        t.getPanelInfoById(t.meta.focusPanelId).panel.legend
+                      ) {
+                        var e = t.getPanelById(t.meta.focusPanelId);
+                        (e.legend.show = !e.legend.show), e.render();
+                      }
+                    }),
+                    this.bind("d l", function () {
+                      t.toggleLegendsForAll();
+                    }),
+                    this.bind("d shift+c", function () {
+                      t.collapseRows();
+                    }),
+                    this.bind("d shift+e", function () {
+                      t.expandRows();
+                    }),
+                    this.bind("d n", function () {
+                      n.$location.url("/dashboard/new");
+                    }),
+                    this.bind("d r", function () {
+                      t.startRefresh();
+                    }),
+                    this.bind("d s", function () {
+                      n.showDashEditView();
+                    }),
+                    this.bind("d k", function () {
+                      i.b.emit(u.CoreEvents.toggleKioskMode);
+                    }),
+                    this.bind("d v", function () {
+                      i.b.emit(u.CoreEvents.toggleViewMode);
+                    }),
+                    this.bind("d a", function () {
+                      var e = c.d.getState().location.query.autofitpanels
+                        ? ""
+                        : "&autofitpanels";
+                      window.location.href = window.location.href + e;
+                    });
+                },
+              },
+            ]) && y(t.prototype, n),
+            r && y(t, r),
+            e
+          );
+        })();
+      function x(e) {
+        w = e;
+      }
+      function k() {
+        return w;
+      }
+      o.c.service("keybindingSrv", O);
+    },
+    WnbS: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return m;
+      });
+      var r = n("xweI"),
+        a = n.n(r),
+        o = n("txxJ"),
+        i = n("ZFWI"),
+        l = n("Vw/f"),
+        s = n("t8hP"),
+        c = n("Obii"),
+        u = n("exx3");
+      function f(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function d(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function p(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var h = (function () {
+          function e(t, n, r) {
+            !(function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, e),
+              (this.$injector = t),
+              (this.$rootScope = n),
+              (this.templateSrv = r),
+              (this.datasources = {}),
+              this.init();
+          }
+          var t, n, r, o, s;
+          return (
+            (e.$inject = ["$injector", "$rootScope", "templateSrv"]),
+            (t = e),
+            (n = [
+              {
+                key: "init",
+                value: function () {
+                  this.datasources = {};
+                },
+              },
+              {
+                key: "get",
+                value: function (e, t) {
+                  return e
+                    ? "default" ===
+                      (e = this.templateSrv.replace(e, t, function (e) {
+                        return Array.isArray(e) ? e[0] : e;
+                      }))
+                      ? this.get(i.b.defaultDatasource)
+                      : this.datasources[e]
+                      ? Promise.resolve(this.datasources[e])
+                      : this.loadDatasource(e)
+                    : this.get(i.b.defaultDatasource);
+                },
+              },
+              {
+                key: "loadDatasource",
+                value:
+                  ((o = regeneratorRuntime.mark(function e(t) {
+                    var n, r, a, o;
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              if (t !== u.b.name) {
+                                e.next = 3;
+                                break;
+                              }
+                              return (
+                                (this.datasources[t] = u.b),
+                                e.abrupt("return", Promise.resolve(u.b))
+                              );
+                            case 3:
+                              if ((n = i.b.datasources[t])) {
+                                e.next = 6;
+                                break;
+                              }
+                              return e.abrupt(
+                                "return",
+                                Promise.reject({
+                                  message: "Datasource named ".concat(
+                                    t,
+                                    " was not found"
+                                  ),
+                                })
+                              );
+                            case 6:
+                              return (
+                                (e.prev = 6), (e.next = 9), Object(l.b)(n.meta)
+                              );
+                            case 9:
+                              if (((r = e.sent), !this.datasources[t])) {
+                                e.next = 12;
+                                break;
+                              }
+                              return e.abrupt("return", this.datasources[t]);
+                            case 12:
+                              return (
+                                (a = 1 !== r.DataSourceClass.length),
+                                ((o = a
+                                  ? this.$injector.instantiate(
+                                      r.DataSourceClass,
+                                      { instanceSettings: n }
+                                    )
+                                  : new r.DataSourceClass(n)).components =
+                                  r.components),
+                                (o.meta = n.meta),
+                                (this.datasources[t] = o),
+                                e.abrupt("return", o)
+                              );
+                            case 20:
+                              return (
+                                (e.prev = 20),
+                                (e.t0 = e.catch(6)),
+                                this.$rootScope.appEvent(
+                                  c.AppEvents.alertError,
+                                  [n.name + " plugin failed", e.t0.toString()]
+                                ),
+                                e.abrupt(
+                                  "return",
+                                  Promise.reject({
+                                    message: "Datasource named ".concat(
+                                      t,
+                                      " was not found"
+                                    ),
+                                  })
+                                )
+                              );
+                            case 24:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this,
+                      [[6, 20]]
+                    );
+                  })),
+                  (s = function () {
+                    var e = this,
+                      t = arguments;
+                    return new Promise(function (n, r) {
+                      var a = o.apply(e, t);
+                      function i(e) {
+                        d(a, n, r, i, l, "next", e);
+                      }
+                      function l(e) {
+                        d(a, n, r, i, l, "throw", e);
+                      }
+                      i(void 0);
+                    });
+                  }),
+                  function (e) {
+                    return s.apply(this, arguments);
+                  }),
+              },
+              {
+                key: "getAll",
+                value: function () {
+                  var e = i.b.datasources;
+                  return Object.keys(e).map(function (t) {
+                    return e[t];
+                  });
+                },
+              },
+              {
+                key: "getExternal",
+                value: function () {
+                  var e = this.getAll().filter(function (e) {
+                    return !e.meta.builtIn;
+                  });
+                  return a()(e, ["name"]);
+                },
+              },
+              {
+                key: "getAnnotationSources",
+                value: function () {
+                  var e = [];
+                  return (
+                    this.addDataSourceVariables(e),
+                    Object.values(i.b.datasources).forEach(function (t) {
+                      var n;
+                      (null === (n = t.meta) || void 0 === n
+                        ? void 0
+                        : n.annotations) && e.push(t);
+                    }),
+                    e
+                  );
+                },
+              },
+              {
+                key: "getMetricSources",
+                value: function (e) {
+                  var t = [];
+                  return (
+                    Object.entries(i.b.datasources).forEach(function (e) {
+                      var n,
+                        r = f(e, 2),
+                        a = r[0],
+                        o = r[1];
+                      if (
+                        null === (n = o.meta) || void 0 === n
+                          ? void 0
+                          : n.metrics
+                      ) {
+                        var l = { value: a, name: a, meta: o.meta, sort: a };
+                        "grafana" === o.meta.id
+                          ? (l.sort = String.fromCharCode(253))
+                          : "dashboard" === o.meta.id
+                          ? (l.sort = String.fromCharCode(254))
+                          : "mixed" === o.meta.id &&
+                            (l.sort = String.fromCharCode(255)),
+                          t.push(l),
+                          a === i.b.defaultDatasource &&
+                            ((l = {
+                              value: null,
+                              name: "default",
+                              meta: o.meta,
+                              sort: a,
+                            }),
+                            t.push(l));
+                      }
+                    }),
+                    (e && e.skipVariables) || this.addDataSourceVariables(t),
+                    t.sort(function (e, t) {
+                      return e.sort.toLowerCase() > t.sort.toLowerCase()
+                        ? 1
+                        : e.sort.toLowerCase() < t.sort.toLowerCase()
+                        ? -1
+                        : 0;
+                    }),
+                    t
+                  );
+                },
+              },
+              {
+                key: "addDataSourceVariables",
+                value: function (e) {
+                  this.templateSrv.variables
+                    .filter(function (e) {
+                      return "datasource" === e.type;
+                    })
+                    .forEach(function (t) {
+                      var n =
+                          "default" === t.current.value
+                            ? i.b.defaultDatasource
+                            : t.current.value,
+                        r = i.b.datasources[n];
+                      if (r) {
+                        var a = "$".concat(t.name);
+                        e.push({ name: a, value: a, meta: r.meta, sort: a });
+                      }
+                    });
+                },
+              },
+            ]) && p(t.prototype, n),
+            r && p(t, r),
+            e
+          );
+        })(),
+        m = function () {
+          return Object(s.getDataSourceSrv)();
+        };
+      o.c.service("datasourceSrv", h);
+    },
+    WtGe: function (e, t) {
+      var n =
+        "public/app/features/datasources/partials/http_settings_next.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            "<datasource-http-settings-next on-change=onChange datasourceconfig=current showaccessoptions=showAccessOption defaulturl=suggestUrl />\n"
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    Wu7z: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return r;
+      });
+      var r,
+        a = n("q1tI"),
+        o = n.n(a);
+      !(function (e) {
+        (e.Grid = "grid"), (e.List = "list");
+      })(r || (r = {}));
+      t.b = function (e) {
+        var t = e.mode,
+          n = e.onLayoutModeChanged;
+        return o.a.createElement(
+          "div",
+          { className: "layout-selector" },
+          o.a.createElement(
+            "button",
+            {
+              onClick: function () {
+                n(r.List);
+              },
+              className: t === r.List ? "active" : "",
+            },
+            o.a.createElement("i", { className: "fa fa-list" })
+          ),
+          o.a.createElement(
+            "button",
+            {
+              onClick: function () {
+                n(r.Grid);
+              },
+              className: t === r.Grid ? "active" : "",
+            },
+            o.a.createElement("i", { className: "fa fa-th" })
+          )
+        );
+      };
+    },
+    "X+V3": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return r;
+      }),
+        n.d(t, "b", function () {
+          return a;
+        });
+      var r = function (e) {
+          return e.routeParams.id;
+        },
+        a = function (e) {
+          return e.routeParams.page;
+        };
+    },
+    X4jf: function (e, t) {
+      var n = "public/app/features/plugins/partials/update_instructions.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=modal-body>\n\t<div class=modal-header>\n\t\t<h2 class=modal-header-title>\n\t\t\t<i class="fa fa-cloud-download"></i>\n\t\t\t<span class=p-l-1>Update Plugin</span>\n\t\t</h2>\n\n\t\t<a class=modal-header-close ng-click=dismiss();>\n\t\t\t<i class="fa fa-remove"></i>\n\t\t</a>\n\t</div>\n\n\t<div class=modal-content>\n\t\t<div class=gf-form-group>\n\t\t\t<p>Type the following on the command line to update {{model.name}}.</p>\n\t\t\t<pre><code>grafana-cli plugins update {{model.id}}</code></pre>\n\t\t\t<span class=small>Check out {{model.name}} on <a href=https://grafana.com/plugins/{{model.id}}>Grafana.com</a> for README and changelog. If you do not have access to the command line, ask your Grafana administator.</span>\n\t\t</div>\n\t\t<p class=pluginlist-none-installed><img class=pluginlist-inline-logo src=public/img/grafana_icon.svg><strong>Pro tip</strong>: To update all plugins at once, type <code class=code--small>grafana-cli plugins update-all</code> on the command line.</p></div>\n\t</div>\n\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    XQMu: function (e, t) {},
+    Xmxp: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return r;
+      });
+      var r = new (n("1524").a)();
+      t.b = r;
+    },
+    XrM5: function (e, t) {
+      var n = "public/app/features/panel/partials/general_tab.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=panel-options-group>\n  \x3c!-- <div class="panel&#45;option&#45;section__header">Information</div> --\x3e\n  <div class=panel-options-group__body>\n    <div class=section>\n      <div class=gf-form>\n        <span class="gf-form-label width-7">Title</span>\n        <input type=text class="gf-form-input width-25" ng-model=ctrl.panel.title ng-model-onblur>\n      </div>\n      <gf-form-switch class=gf-form label-class=width-7 switch-class=max-width-6 label=Transparent checked=ctrl.panel.transparent on-change=ctrl.render()></gf-form-switch>\n    </div>\n    <div class=section>\n      <div class="gf-form gf-form--v-stretch">\n        <span class="gf-form-label width-7">Description</span>\n        <textarea class="gf-form-input width-25" rows=5 ng-model=ctrl.panel.description ng-model-onblur placeholder="Panel description, supports markdown & links"></textarea>\n      </div>\n    </div>\n  </div>\n</div>\n\n<div class=panel-options-group>\n  <div class=panel-options-group__header>\n    <div class=panel-options-group__title>Repeating</div>\n  </div>\n  <div class=panel-options-group__body>\n    <div class=section>\n      <div class=gf-form>\n        <span class="gf-form-label width-9">Repeat</span>\n        <dash-repeat-option panel=ctrl.panel></dash-repeat-option>\n      </div>\n      <div class=gf-form ng-show=ctrl.panel.repeat>\n        <span class="gf-form-label width-9">Direction</span>\n        <select class=gf-form-input ng-model=ctrl.panel.repeatDirection ng-options="f.value as f.text for f in [{value: \'v\', text: \'Vertical\'}, {value: \'h\', text: \'Horizontal\'}]">\n          <option value=""></option>\n        </select>\n      </div>\n      <div class=gf-form ng-show="ctrl.panel.repeat && ctrl.panel.repeatDirection == \'h\'">\n        <span class="gf-form-label width-9">Max per row</span>\n        <select class=gf-form-input ng-model=ctrl.panel.maxPerRow ng-options="f for f in [2,3,4,6,12,24]">\n          <option value=""></option>\n        </select>\n      </div>\n      <div class=gf-form-hint>\n        <div class="gf-form-hint-text muted">\n          Note: You may need to change the variable selection to see this in action.\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    Y2hc: function (e, t, n) {
+      "use strict";
+      var r = n("QOF1");
+      n.d(t, "ShareModal", function () {
+        return r.a;
+      });
+      n("Dijz");
+    },
+    Y8cN: function (e, t, n) {
+      "use strict";
+      function r(e) {
+        return (r =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function a(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function o(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function i(e, t, n) {
+        return t && o(e.prototype, t), n && o(e, n), e;
+      }
+      n.d(t, "a", function () {
+        return c;
+      });
+      var l = (function () {
+          function e() {
+            a(this, e);
+          }
+          return (
+            i(e, [
+              {
+                key: "_linkTo",
+                value: function (e, t) {
+                  t <= 0 && e.inputEdges.push(this),
+                    t >= 0 && e.outputEdges.push(this),
+                    e.edges.push(this);
+                },
+              },
+              {
+                key: "link",
+                value: function (e, t) {
+                  if (!e) throw Error("inputNode is required");
+                  if (!t) throw Error("outputNode is required");
+                  return (
+                    this.unlink(),
+                    (this.inputNode = e),
+                    (this.outputNode = t),
+                    this._linkTo(e, 1),
+                    this._linkTo(t, -1),
+                    this
+                  );
+                },
+              },
+              {
+                key: "unlink",
+                value: function () {
+                  var e,
+                    t = this.inputNode,
+                    n = this.outputNode;
+                  t &&
+                    n &&
+                    ((e = t.edges.indexOf(this)) > -1 && t.edges.splice(e, 1),
+                    (e = n.edges.indexOf(this)) > -1 && n.edges.splice(e, 1),
+                    (e = t.outputEdges.indexOf(this)) > -1 &&
+                      t.outputEdges.splice(e, 1),
+                    (e = n.inputEdges.indexOf(this)) > -1 &&
+                      n.inputEdges.splice(e, 1),
+                    (this.inputNode = null),
+                    (this.outputNode = null));
+                },
+              },
+            ]),
+            e
+          );
+        })(),
+        s = (function () {
+          function e(t) {
+            a(this, e),
+              (this.name = t),
+              (this.edges = []),
+              (this.inputEdges = []),
+              (this.outputEdges = []);
+          }
+          return (
+            i(e, [
+              {
+                key: "getEdgeFrom",
+                value: function (e) {
+                  return e
+                    ? "object" === r(e)
+                      ? this.inputEdges.find(function (t) {
+                          return t.inputNode.name === e.name;
+                        })
+                      : this.inputEdges.find(function (t) {
+                          return t.inputNode.name === e;
+                        })
+                    : null;
+                },
+              },
+              {
+                key: "getEdgeTo",
+                value: function (e) {
+                  return e
+                    ? "object" === r(e)
+                      ? this.outputEdges.find(function (t) {
+                          return t.outputNode.name === e.name;
+                        })
+                      : this.outputEdges.find(function (t) {
+                          return t.outputNode.name === e;
+                        })
+                    : null;
+                },
+              },
+              {
+                key: "getOptimizedInputEdges",
+                value: function () {
+                  var e = this,
+                    t = [];
+                  return (
+                    this.inputEdges.forEach(function (n) {
+                      n.inputNode.inputEdges
+                        .map(function (e) {
+                          return e.inputNode;
+                        })
+                        .forEach(function (n) {
+                          var r = n.getEdgeTo(e.name);
+                          r && t.push(r);
+                        });
+                    }),
+                    this.inputEdges.filter(function (e) {
+                      return -1 === t.indexOf(e);
+                    })
+                  );
+                },
+              },
+            ]),
+            e
+          );
+        })(),
+        c = (function () {
+          function e() {
+            a(this, e), (this.nodes = {});
+          }
+          return (
+            i(e, [
+              {
+                key: "createNode",
+                value: function (e) {
+                  var t = new s(e);
+                  return (this.nodes[e] = t), t;
+                },
+              },
+              {
+                key: "createNodes",
+                value: function (e) {
+                  var t = this,
+                    n = [];
+                  return (
+                    e.forEach(function (e) {
+                      n.push(t.createNode(e));
+                    }),
+                    n
+                  );
+                },
+              },
+              {
+                key: "link",
+                value: function (e, t) {
+                  var n = this,
+                    r = [],
+                    a = [],
+                    o = [],
+                    i = [];
+                  (r = e instanceof Array ? e : [e]),
+                    (a = t instanceof Array ? t : [t]);
+                  for (var l = 0; l < r.length; l++) {
+                    var s = r[l];
+                    if ("string" == typeof s) {
+                      var c = this.getNode(s);
+                      if (!c)
+                        throw Error(
+                          "cannot link input node named ".concat(
+                            s,
+                            " since it doesn't exist in graph"
+                          )
+                        );
+                      o.push(c);
+                    } else o.push(s);
+                  }
+                  for (var u = 0; u < a.length; u++) {
+                    var f = a[u];
+                    if ("string" == typeof f) {
+                      var d = this.getNode(f);
+                      if (!d)
+                        throw Error(
+                          "cannot link output node named ".concat(
+                            f,
+                            " since it doesn't exist in graph"
+                          )
+                        );
+                      i.push(d);
+                    } else i.push(f);
+                  }
+                  var p = [];
+                  return (
+                    o.forEach(function (e) {
+                      i.forEach(function (t) {
+                        p.push(n.createEdge().link(e, t));
+                      });
+                    }),
+                    p
+                  );
+                },
+              },
+              {
+                key: "createEdge",
+                value: function () {
+                  return new l();
+                },
+              },
+              {
+                key: "getNode",
+                value: function (e) {
+                  return this.nodes[e];
+                },
+              },
+            ]),
+            e
+          );
+        })();
+    },
+    YRnh: function (e, t) {
+      var n = "public/app/partials/reset_password.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<page-header model=navModel></page-header>\n\n<div class="page-container page-body">\n\t<div class=signup>\n\t\t<h3 class=p-b-1>Reset password</h3>\n\n\t\t<div ng-if="ldapEnabled || authProxyEnabled">\n\t\t\tYou cannot reset password when LDAP or Auth Proxy authentication is enabled.\n\t\t</div>\n\t\t<div ng-if=disableLoginForm>\n\t\t\tYou cannot reset password when login form is disabled.\n\t\t</div>\n\t\t<form name=sendResetForm class="login-form gf-form-group" ng-show="mode === \'send\'" ng-hide="ldapEnabled || authProxyEnabled || disableLoginForm || mode === \'reset\'">\n\t\t\t<div class=gf-form>\n\t\t\t\t\t<span class="gf-form-label width-7">User</span>\n\t\t\t\t\t<input type=text name=username class="gf-form-input max-width-14" required ng-model=formModel.userOrEmail placeholder="email or username">\n\t\t\t</div>\n\t\t\t<div class=gf-form-button-row>\n\t\t\t\t<button type=submit class="btn btn-primary" ng-click=sendResetEmail(); ng-disabled=!sendResetForm.$valid>\n\t\t\t\t\tReset Password\n\t\t\t\t</button>\n\t\t\t\t<a href=login class="btn btn-inverse">\n\t\t\t\t\tBack\n\t\t\t\t</a>\n\n\t\t\t</div>\n\t\t</form>\n\t\t<div ng-show="mode === \'email-sent\'">\n\t\t\tAn email with a reset link has been sent to the email address. <br>\n\t\t\tYou should receive it shortly.\n\t\t\t<div class=p-t-1>\n\t\t\t\t<a href=login class="btn btn-primary p-t-1">\n\t\t\t\t\tLogin\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</div>\n\t\t<form name=resetForm class="login-form gf-form-group" ng-show="mode === \'reset\'">\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class="gf-form-label width-9">New Password</span>\n\t\t\t\t<input type=password name=NewPassword class="gf-form-input max-width-14" required ng-minlength=4 ng-model=formModel.newPassword placeholder=password watch-change="formModel.newPassword = inputValue;">\n\t\t\t</div>\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class="gf-form-label width-9">Confirm Password</span>\n\t\t\t\t<input type=password name=ConfirmPassword class="gf-form-input max-width-14" required ng-minlength=4 ng-model=formModel.confirmPassword placeholder="confirm password">\n\t\t\t</div>\n\t\t\t<div class=signup__password-strength>\n\t\t\t\t<password-strength password=formModel.newPassword></password-strength>\n\t\t\t</div>\n\t\t\t<div class=gf-form-button-row>\n\t\t\t\t<button type=submit class="btn btn-primary" ng-click=submitReset(); ng-disabled=!resetForm.$valid>\n\t\t\t\t\tReset Password\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</form>\n\t</div>\n</div>\n\n<footer/>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    YWTM: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return d;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDLi"),
+        i = n("kDDq"),
+        l = n("ZFWI"),
+        s = n("t8hP");
+      function c(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function u() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })(["\n  margin-left: 15px;\n"]);
+        return (
+          (u = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      var f = Object(i.css)(u()),
+        d = function (e) {
+          var t = e.verifyEmailEnabled,
+            n = e.autoAssignOrg,
+            r = (function () {
+              var e,
+                t =
+                  ((e = regeneratorRuntime.mark(function e(t) {
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            return (
+                              "" === t.name && delete t.name,
+                              (e.next = 3),
+                              Object(s.getBackendSrv)().post(
+                                "/api/user/signup/step2",
+                                {
+                                  email: t.email,
+                                  code: t.code,
+                                  username: t.email,
+                                  orgName: t.orgName,
+                                  password: t.password,
+                                  name: t.name,
+                                }
+                              )
+                            );
+                          case 3:
+                            "redirect-to-select-org" === e.sent.code &&
+                              (window.location.href =
+                                Object(l.c)().appSubUrl +
+                                "/profile/select-org?signup=1"),
+                              (window.location.href =
+                                Object(l.c)().appSubUrl + "/");
+                          case 6:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })),
+                  function () {
+                    var t = this,
+                      n = arguments;
+                    return new Promise(function (r, a) {
+                      var o = e.apply(t, n);
+                      function i(e) {
+                        c(o, r, a, i, l, "next", e);
+                      }
+                      function l(e) {
+                        c(o, r, a, i, l, "throw", e);
+                      }
+                      i(void 0);
+                    });
+                  });
+              return function (e) {
+                return t.apply(this, arguments);
+              };
+            })(),
+            i = {
+              orgName: e.orgName,
+              email: e.email,
+              username: e.email,
+              code: e.code,
+              name: e.name,
+            };
+          return a.a.createElement(
+            o.Forms.Form,
+            { defaultValues: i, onSubmit: r },
+            function (e) {
+              var r = e.register,
+                i = e.errors;
+              return a.a.createElement(
+                a.a.Fragment,
+                null,
+                t &&
+                  a.a.createElement(
+                    o.Forms.Field,
+                    { label: "Email verification code (sent to your email)" },
+                    a.a.createElement(o.Forms.Input, {
+                      name: "code",
+                      size: "md",
+                      ref: r,
+                      placeholder: "Code",
+                    })
+                  ),
+                !n &&
+                  a.a.createElement(
+                    o.Forms.Field,
+                    { label: "Org. name" },
+                    a.a.createElement(o.Forms.Input, {
+                      size: "md",
+                      name: "orgName",
+                      placeholder: "Org. name",
+                      ref: r,
+                    })
+                  ),
+                a.a.createElement(
+                  o.Forms.Field,
+                  { label: "Your name" },
+                  a.a.createElement(o.Forms.Input, {
+                    size: "md",
+                    name: "name",
+                    placeholder: "(optional)",
+                    ref: r,
+                  })
+                ),
+                a.a.createElement(
+                  o.Forms.Field,
+                  {
+                    label: "Email",
+                    invalid: !!i.email,
+                    error: !!i.email && i.email.message,
+                  },
+                  a.a.createElement(o.Forms.Input, {
+                    size: "md",
+                    name: "email",
+                    type: "email",
+                    placeholder: "Email",
+                    ref: r({
+                      required: "Email is required",
+                      pattern: {
+                        value: /^\S+@\S+$/,
+                        message: "Email is invalid",
+                      },
+                    }),
+                  })
+                ),
+                a.a.createElement(
+                  o.Forms.Field,
+                  {
+                    label: "Password",
+                    invalid: !!i.password,
+                    error: !!i.password && i.password.message,
+                  },
+                  a.a.createElement(o.Forms.Input, {
+                    size: "md",
+                    name: "password",
+                    type: "password",
+                    placeholder: "Password",
+                    ref: r({ required: "Password is required" }),
+                  })
+                ),
+                a.a.createElement(o.Forms.Button, { type: "submit" }, "Submit"),
+                a.a.createElement(
+                  "span",
+                  { className: f },
+                  a.a.createElement(
+                    o.Forms.LinkButton,
+                    {
+                      href: Object(l.c)().appSubUrl + "/login",
+                      variant: "secondary",
+                    },
+                    "Back"
+                  )
+                )
+              );
+            }
+          );
+        };
+    },
+    YiuE: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return c;
+      }),
+        n.d(t, "b", function () {
+          return u;
+        }),
+        n.d(t, "d", function () {
+          return f;
+        }),
+        n.d(t, "e", function () {
+          return d;
+        }),
+        n.d(t, "f", function () {
+          return p;
+        }),
+        n.d(t, "i", function () {
+          return h;
+        }),
+        n.d(t, "j", function () {
+          return m;
+        }),
+        n.d(t, "l", function () {
+          return y;
+        }),
+        n.d(t, "k", function () {
+          return w;
+        }),
+        n.d(t, "m", function () {
+          return O;
+        }),
+        n.d(t, "h", function () {
+          return x;
+        }),
+        n.d(t, "g", function () {
+          return k;
+        });
+      var r = n("i7Pf");
+      function a(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function o(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? a(Object(n), !0).forEach(function (t) {
+                i(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : a(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function i(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var l = Object(r.c)({
+          name: "ldap",
+          initialState: {
+            connectionInfo: [],
+            syncInfo: null,
+            user: null,
+            connectionError: null,
+            userError: null,
+          },
+          reducers: {
+            ldapConnectionInfoLoadedAction: function (e, t) {
+              return o({}, e, { ldapError: null, connectionInfo: t.payload });
+            },
+            ldapFailedAction: function (e, t) {
+              return o({}, e, { ldapError: t.payload });
+            },
+            ldapSyncStatusLoadedAction: function (e, t) {
+              return o({}, e, { syncInfo: t.payload });
+            },
+            userMappingInfoLoadedAction: function (e, t) {
+              return o({}, e, { user: t.payload, userError: null });
+            },
+            userMappingInfoFailedAction: function (e, t) {
+              return o({}, e, { user: null, userError: t.payload });
+            },
+            clearUserMappingInfoAction: function (e, t) {
+              return o({}, e, { user: null });
+            },
+            clearUserErrorAction: function (e, t) {
+              return o({}, e, { userError: null });
+            },
+          },
+        }),
+        s = l.actions,
+        c = s.clearUserErrorAction,
+        u = s.clearUserMappingInfoAction,
+        f = s.ldapConnectionInfoLoadedAction,
+        d = s.ldapFailedAction,
+        p = s.ldapSyncStatusLoadedAction,
+        h = s.userMappingInfoFailedAction,
+        m = s.userMappingInfoLoadedAction,
+        g = l.reducer,
+        b = Object(r.c)({
+          name: "userAdmin",
+          initialState: {
+            user: null,
+            sessions: [],
+            orgs: [],
+            isLoading: !0,
+            error: null,
+          },
+          reducers: {
+            userProfileLoadedAction: function (e, t) {
+              return o({}, e, { user: t.payload });
+            },
+            userOrgsLoadedAction: function (e, t) {
+              return o({}, e, { orgs: t.payload });
+            },
+            userSessionsLoadedAction: function (e, t) {
+              return o({}, e, { sessions: t.payload });
+            },
+            userAdminPageLoadedAction: function (e, t) {
+              return o({}, e, { isLoading: !t.payload });
+            },
+            userAdminPageFailedAction: function (e, t) {
+              return o({}, e, { error: t.payload, isLoading: !1 });
+            },
+          },
+        }),
+        v = b.actions,
+        y = v.userProfileLoadedAction,
+        w = v.userOrgsLoadedAction,
+        O = v.userSessionsLoadedAction,
+        x = v.userAdminPageLoadedAction,
+        k = v.userAdminPageFailedAction,
+        j = b.reducer;
+      t.c = { ldap: g, userAdmin: j };
+    },
+    Yj82: function (e, t, n) {
+      "use strict";
+      var r = n("q1tI"),
+        a = n("wZee"),
+        o = n.n(a),
+        i = function () {
+          var e = Object(r.useRef)(!1);
+          return (
+            Object(r.useEffect)(function () {
+              return (
+                (e.current = !0),
+                function () {
+                  e.current = !1;
+                }
+              );
+            }),
+            e
+          );
+        };
+      function l(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function s(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function c(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function u(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              c(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              c(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function f(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      var d = function (e, t, n) {
+        var a = i(),
+          o = f(Object(r.useState)([]), 2),
+          c = o[0],
+          d = o[1],
+          p = f(Object(r.useState)(!1), 2),
+          h = p[0],
+          m = p[1],
+          g = f(Object(r.useState)([]), 2),
+          b = g[0],
+          v = g[1],
+          y = (function () {
+            var t = u(
+              regeneratorRuntime.mark(function t(r) {
+                return regeneratorRuntime.wrap(function (t) {
+                  for (;;)
+                    switch ((t.prev = t.next)) {
+                      case 0:
+                        return (t.next = 2), e.fetchLabelValues(r, n);
+                      case 2:
+                        a.current && d(e.logLabelOptions);
+                      case 3:
+                      case "end":
+                        return t.stop();
+                    }
+                }, t);
+              })
+            );
+            return function (e) {
+              return t.apply(this, arguments);
+            };
+          })(),
+          w = (function () {
+            var t = u(
+              regeneratorRuntime.mark(function t() {
+                return regeneratorRuntime.wrap(function (t) {
+                  for (;;)
+                    switch ((t.prev = t.next)) {
+                      case 0:
+                        return (t.next = 2), e.refreshLogLabels(n);
+                      case 2:
+                        a.current && (m(!1), d(e.logLabelOptions));
+                      case 3:
+                      case "end":
+                        return t.stop();
+                    }
+                }, t);
+              })
+            );
+            return function () {
+              return t.apply(this, arguments);
+            };
+          })();
+        return (
+          Object(r.useEffect)(
+            function () {
+              if (t) {
+                var e = b[b.length - 1];
+                if (e) {
+                  var n = c.map(function (t) {
+                    return t.value === e.value
+                      ? (function (e) {
+                          for (var t = 1; t < arguments.length; t++) {
+                            var n = null != arguments[t] ? arguments[t] : {};
+                            t % 2
+                              ? l(Object(n), !0).forEach(function (t) {
+                                  s(e, t, n[t]);
+                                })
+                              : Object.getOwnPropertyDescriptors
+                              ? Object.defineProperties(
+                                  e,
+                                  Object.getOwnPropertyDescriptors(n)
+                                )
+                              : l(Object(n)).forEach(function (t) {
+                                  Object.defineProperty(
+                                    e,
+                                    t,
+                                    Object.getOwnPropertyDescriptor(n, t)
+                                  );
+                                });
+                          }
+                          return e;
+                        })({}, t, { loading: !0 })
+                      : t;
+                  });
+                  d(n), y(e.value);
+                }
+              }
+            },
+            [b]
+          ),
+          Object(r.useEffect)(
+            function () {
+              h && w();
+            },
+            [h]
+          ),
+          Object(r.useEffect)(
+            function () {
+              t && d(e.logLabelOptions);
+            },
+            [t]
+          ),
+          {
+            logLabelOptions: c,
+            refreshLabels: function () {
+              return m(!0);
+            },
+            setActiveOption: v,
+          }
+        );
+      };
+      function p(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function h(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      n.d(t, "a", function () {
+        return g;
+      });
+      var m = function (e, t) {
+          var n = i(),
+            a = h(Object(r.useState)(!1), 2),
+            o = a[0],
+            l = a[1],
+            s = (function () {
+              var r,
+                a =
+                  ((r = regeneratorRuntime.mark(function r() {
+                    return regeneratorRuntime.wrap(function (r) {
+                      for (;;)
+                        switch ((r.prev = r.next)) {
+                          case 0:
+                            return (
+                              (e.initialRange = t), (r.next = 3), e.start()
+                            );
+                          case 3:
+                            n.current && l(!0);
+                          case 4:
+                          case "end":
+                            return r.stop();
+                        }
+                    }, r);
+                  })),
+                  function () {
+                    var e = this,
+                      t = arguments;
+                    return new Promise(function (n, a) {
+                      var o = r.apply(e, t);
+                      function i(e) {
+                        p(o, n, a, i, l, "next", e);
+                      }
+                      function l(e) {
+                        p(o, n, a, i, l, "throw", e);
+                      }
+                      i(void 0);
+                    });
+                  });
+              return function () {
+                return a.apply(this, arguments);
+              };
+            })();
+          return (
+            Object(r.useEffect)(function () {
+              s();
+            }, []),
+            o
+          );
+        },
+        g = function (e, t) {
+          var n = m(e, t),
+            a = d(e, n, t),
+            i = a.logLabelOptions,
+            l = a.refreshLabels,
+            s = a.setActiveOption,
+            c = (function (e, t) {
+              var n = h(Object(r.useState)(null), 2),
+                a = n[0],
+                i = n[1];
+              return (
+                Object(r.useEffect)(
+                  function () {
+                    if (t) {
+                      var n = e.getSyntax();
+                      (o.a.languages.promql = n), i(n);
+                    }
+                  },
+                  [t, e]
+                ),
+                { isSyntaxReady: !!a, syntax: a }
+              );
+            })(e, n);
+          return {
+            isSyntaxReady: c.isSyntaxReady,
+            syntax: c.syntax,
+            logLabelOptions: i,
+            setActiveOption: s,
+            refreshLabels: l,
+          };
+        };
+    },
+    YmbM: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return o;
+      });
+      var r = n("F03Y");
+      function a(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var o = (function () {
+        function e(t, n) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.source = t),
+            (this.order = n);
+        }
+        var t, n, o;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "get",
+              value: function (e) {
+                return this.source.get(this.order[e]);
+              },
+            },
+            {
+              key: "toArray",
+              value: function () {
+                return Object(r.a)(this);
+              },
+            },
+            {
+              key: "toJSON",
+              value: function () {
+                return Object(r.a)(this);
+              },
+            },
+            {
+              key: "length",
+              get: function () {
+                return this.source.length;
+              },
+            },
+          ]) && a(t.prototype, n),
+          o && a(t, o),
+          e
+        );
+      })();
+    },
+    "Yyu/": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return i;
+      }),
+        n.d(t, "c", function () {
+          return l;
+        }),
+        n.d(t, "d", function () {
+          return s;
+        }),
+        n.d(t, "b", function () {
+          return c;
+        });
+      var r = n("LvDl"),
+        a = n("iODs"),
+        o = n("buVq"),
+        i = function (e) {
+          var t =
+            arguments.length > 1 && void 0 !== arguments[1]
+              ? arguments[1]
+              : Object(a.b)();
+          if (!t.templating.variables[e])
+            throw new Error("Couldn't find variable with uuid:".concat(e));
+          return t.templating.variables[e];
+        },
+        l = function (e) {
+          var t =
+            arguments.length > 1 && void 0 !== arguments[1]
+              ? arguments[1]
+              : Object(a.b)();
+          return Object.values(t.templating.variables).find(function (t) {
+            return t.name === e;
+          });
+        },
+        s = function () {
+          var e =
+            arguments.length > 0 && void 0 !== arguments[0]
+              ? arguments[0]
+              : Object(a.b)();
+          return Object.values(e.templating.variables).filter(function (e) {
+            return e.uuid !== o.c;
+          });
+        },
+        c = function () {
+          var e =
+              arguments.length > 0 && void 0 !== arguments[0]
+                ? arguments[0]
+                : Object(a.b)(),
+            t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
+            n = Object.values(e.templating.variables)
+              .filter(function (e) {
+                return !!t || e.uuid !== o.c;
+              })
+              .map(function (e) {
+                return Object(r.cloneDeep)(e);
+              });
+          return n.sort(function (e, t) {
+            return e.index - t.index;
+          });
+        };
+    },
+    "Z6j/": function (e, t, n) {
+      "use strict";
+      function r(e) {
+        return (r =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function a(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function o(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function i(e, t) {
+        return !t || ("object" !== r(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function l(e) {
+        return (l = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function s(e, t) {
+        return (s =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      n.d(t, "b", function () {
+        return f;
+      }),
+        n.d(t, "a", function () {
+          return d;
+        }),
+        n.d(t, "c", function () {
+          return c;
+        }),
+        n.d(t, "d", function () {
+          return u;
+        }),
+        n.d(t, "e", function () {
+          return p;
+        });
+      var c,
+        u,
+        f = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              a(this, t),
+              ((n = i(this, l(t).call(this))).DataSourceClass = e),
+              (n.components = {}),
+              n
+            );
+          }
+          var n, r, c;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && s(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "setConfigEditor",
+                value: function (e) {
+                  return (this.components.ConfigEditor = e), this;
+                },
+              },
+              {
+                key: "setConfigCtrl",
+                value: function (e) {
+                  return (this.angularConfigCtrl = e), this;
+                },
+              },
+              {
+                key: "setQueryCtrl",
+                value: function (e) {
+                  return (this.components.QueryCtrl = e), this;
+                },
+              },
+              {
+                key: "setAnnotationQueryCtrl",
+                value: function (e) {
+                  return (this.components.AnnotationsQueryCtrl = e), this;
+                },
+              },
+              {
+                key: "setQueryEditor",
+                value: function (e) {
+                  return (this.components.QueryEditor = e), this;
+                },
+              },
+              {
+                key: "setExploreQueryField",
+                value: function (e) {
+                  return (this.components.ExploreQueryField = e), this;
+                },
+              },
+              {
+                key: "setExploreMetricsQueryField",
+                value: function (e) {
+                  return (this.components.ExploreMetricsQueryField = e), this;
+                },
+              },
+              {
+                key: "setExploreLogsQueryField",
+                value: function (e) {
+                  return (this.components.ExploreLogsQueryField = e), this;
+                },
+              },
+              {
+                key: "setExploreStartPage",
+                value: function (e) {
+                  return (this.components.ExploreStartPage = e), this;
+                },
+              },
+              {
+                key: "setVariableQueryEditor",
+                value: function (e) {
+                  return (this.components.VariableQueryEditor = e), this;
+                },
+              },
+              {
+                key: "setMetadataInspector",
+                value: function (e) {
+                  return (this.components.MetadataInspector = e), this;
+                },
+              },
+              {
+                key: "setComponentsFromLegacyExports",
+                value: function (e) {
+                  (this.angularConfigCtrl = e.ConfigCtrl),
+                    (this.components.QueryCtrl = e.QueryCtrl),
+                    (this.components.AnnotationsQueryCtrl =
+                      e.AnnotationsQueryCtrl),
+                    (this.components.ExploreQueryField = e.ExploreQueryField),
+                    (this.components.ExploreStartPage = e.ExploreStartPage),
+                    (this.components.QueryEditor = e.QueryEditor),
+                    (this.components.VariableQueryEditor =
+                      e.VariableQueryEditor);
+                },
+              },
+            ]) && o(n.prototype, r),
+            c && o(n, c),
+            t
+          );
+        })(n("CnP+").a),
+        d = function e(t) {
+          a(this, e), (this.name = t.name), (this.id = t.id);
+        };
+      !(function (e) {
+        (e[(e.Connected = 0)] = "Connected"),
+          (e[(e.Disconnected = 1)] = "Disconnected");
+      })(c || (c = {})),
+        (function (e) {
+          (e.Logs = "Logs"), (e.Metrics = "Metrics");
+        })(u || (u = {}));
+      var p = function e() {
+        a(this, e);
+      };
+    },
+    ZFWI: function (e, t, n) {
+      "use strict";
+      n.d(t, "c", function () {
+        return o;
+      });
+      var r = n("t8hP");
+      n.d(t, "a", function () {
+        return r.config;
+      });
+      var a = r.config;
+      t.b = a;
+      var o = function () {
+        return a;
+      };
+    },
+    ZG7E: function (e, t) {
+      var n = "public/app/plugins/panel/graph/axes_editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=editor-row>\n\t<div class="section gf-form-group" ng-repeat="yaxis in ctrl.panel.yaxes">\n\n\t\t<h5 class=section-heading ng-show="$index === 0">Left Y</h5>\n\t\t<h5 class=section-heading ng-show="$index === 1">Right Y</h5>\n\n\t\t<gf-form-switch class=gf-form label=Show label-class=width-6 checked=yaxis.show on-change=ctrl.render()></gf-form-switch>\n\n\t\t<div ng-if=yaxis.show>\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class="gf-form-label width-6">Unit</label>\n        <unit-picker onchange=ctrl.setUnitFormat(yaxis) value=yaxis.format width=20 />\n\t\t\t</div>\n\t\t</div>\n\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class="gf-form-label width-6">Scale</label>\n\t\t\t\t<div class="gf-form-select-wrapper max-width-20">\n\t\t\t\t\t<select class=gf-form-input ng-model=yaxis.logBase ng-options="v as k for (k, v) in ctrl.logScales" ng-change=ctrl.render()></select>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class=gf-form-inline>\n\t\t\t\t<div class=gf-form>\n\t\t\t\t\t<label class="gf-form-label width-6">Y-Min</label>\n\t\t\t\t\t<input type=text class="gf-form-input width-5" placeholder=auto empty-to-null ng-model=yaxis.min ng-change=ctrl.render() ng-model-onblur>\n\t\t\t\t</div>\n\t\t\t\t<div class=gf-form>\n\t\t\t\t\t<label class="gf-form-label width-6">Y-Max</label>\n\t\t\t\t\t<input type=text class="gf-form-input width-5" placeholder=auto empty-to-null ng-model=yaxis.max ng-change=ctrl.render() ng-model-onblur>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t<div ng-if=yaxis.show>\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class="gf-form-label width-6">Decimals</label>\n\t\t\t\t<input type=number class="gf-form-input max-width-20" placeholder=auto empty-to-null bs-tooltip="\'Override automatic decimal precision for y-axis\'" data-placement=right ng-model=yaxis.decimals ng-change=ctrl.render() ng-model-onblur>\n\t\t\t</div>\n\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class="gf-form-label width-6">Label</label>\n\t\t\t\t<input type=text class="gf-form-input max-width-20" ng-model=yaxis.label ng-change=ctrl.render() ng-model-onblur>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class="section gf-form-group" aria-label={{ctrl.selectors.xAxisSection}}>\n\t\t<h5 class=section-heading>X-Axis</h5>\n\t\t<gf-form-switch class=gf-form label=Show label-class=width-6 checked=ctrl.panel.xaxis.show on-change=ctrl.render()></gf-form-switch>\n\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label width-6">Mode</label>\n\t\t\t<div class="gf-form-select-wrapper max-width-15">\n\t\t\t\t<select class=gf-form-input ng-model=ctrl.panel.xaxis.mode ng-options="v as k for (k, v) in ctrl.xAxisModes" ng-change=ctrl.xAxisModeChanged()> </select>\n\t\t\t</div>\n\t\t</div>\n\n\t\t\x3c!-- Series mode --\x3e\n\t\t<div class=gf-form ng-if="ctrl.panel.xaxis.mode === \'series\'">\n\t\t\t<label class="gf-form-label width-6">Value</label>\n      <metric-segment-model property=ctrl.panel.xaxis.values[0] options=ctrl.xAxisStatOptions on-change=ctrl.xAxisValueChanged() custom=false css-class=width-10 select-mode=true></metric-segment-model>\n\t\t</div>\n\n\t\t\x3c!-- Histogram mode --\x3e\n\t\t<div class=gf-form ng-if="ctrl.panel.xaxis.mode === \'histogram\'">\n\t\t\t<label class="gf-form-label width-6">Buckets</label>\n\t\t\t<input type=number class="gf-form-input max-width-8" ng-model=ctrl.panel.xaxis.buckets placeholder=auto ng-change=ctrl.render() ng-model-onblur bs-tooltip="\'Number of buckets\'" data-placement=right>\n\t\t</div>\n\n\t\t<div class=gf-form-inline ng-if="ctrl.panel.xaxis.mode === \'histogram\'">\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class="gf-form-label width-6">X-Min</label>\n\t\t\t\t<input type=number class="gf-form-input width-5" placeholder=auto empty-to-null ng-model=ctrl.panel.xaxis.min ng-change=ctrl.render() ng-model-onblur>\n\t\t\t</div>\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class="gf-form-label width-6">X-Max</label>\n\t\t\t\t<input type=number class="gf-form-input width-5" placeholder=auto empty-to-null ng-model=ctrl.panel.xaxis.max ng-change=ctrl.render() ng-model-onblur>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div>\n\t\t\t<br/>\n\t\t\t<h5 class=section-heading>Y-Axes</h5>\n\t\t\t<gf-form-switch class=gf-form label=Align tooltip="Align left and right Y-axes" label-class=width-6 switch-class=width-5 checked=ctrl.panel.yaxis.align on-change=ctrl.render()></gf-form-switch>\n\t\t\t<div class=gf-form ng-show=ctrl.panel.yaxis.align>\n\t\t\t\t<label class="gf-form-label width-6">\n\t\t\t\t\tLevel\n\t\t\t\t</label>\n\t\t\t\t<input type=number class="gf-form-input width-5" placeholder=0 ng-model=ctrl.panel.yaxis.alignLevel ng-change=ctrl.render() ng-model-onblur bs-tooltip="\'Alignment of Y-axes are based on this value, starting from Y=0\'" data-placement=right>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    ZGyg: function (e, t, n) {
+      "use strict";
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("lzJ5"),
+        i = n("4DTL"),
+        l = n("5C3A"),
+        s = n("kDLi"),
+        c = function (e) {
+          var t = e.pageName,
+            n = "Loading ".concat(void 0 === t ? "" : t, "...");
+          return a.a.createElement(
+            "div",
+            { className: "page-loader-wrapper" },
+            a.a.createElement(s.LoadingPlaceholder, { text: n })
+          );
+        };
+      function u(e) {
+        return (u =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function f(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function d(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function p(e, t) {
+        return !t || ("object" !== u(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function h(e) {
+        return (h = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function m(e, t) {
+        return (m =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var g = (function (e) {
+          function t() {
+            return f(this, t), p(this, h(t).apply(this, arguments));
+          }
+          var n, r, o;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && m(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props.isLoading;
+                  return a.a.createElement(
+                    "div",
+                    { className: "page-container page-body" },
+                    e ? a.a.createElement(c, null) : this.props.children
+                  );
+                },
+              },
+            ]) && d(n.prototype, r),
+            o && d(n, o),
+            t
+          );
+        })(r.Component),
+        b = n("LvDl"),
+        v = n("ibPz");
+      function y(e) {
+        return (y =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function w(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function O(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function x(e, t) {
+        return !t || ("object" !== y(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function k(e) {
+        return (k = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function j(e, t) {
+        return (j =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var S = (function (e) {
+        function t() {
+          var e, n;
+          w(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = x(
+              this,
+              (e = k(t)).call.apply(e, [this].concat(a))
+            )).updateTitle = function () {
+              var e = n.getPageTitle;
+              document.title = e ? e + " - " + v.a.AppTitle : v.a.AppTitle;
+            }),
+            n
+          );
+        }
+        var n, r, c;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && j(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "componentDidMount",
+              value: function () {
+                this.updateTitle();
+              },
+            },
+            {
+              key: "componentDidUpdate",
+              value: function (e) {
+                Object(b.isEqual)(e.navModel, this.props.navModel) ||
+                  this.updateTitle();
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this.props.navModel;
+                return a.a.createElement(
+                  "div",
+                  { className: "page-scrollbar-wrapper" },
+                  a.a.createElement(
+                    s.CustomScrollbar,
+                    {
+                      autoHeightMin: "100%",
+                      className: "custom-scrollbar--page",
+                    },
+                    a.a.createElement(
+                      "div",
+                      { className: "page-scrollbar-content" },
+                      a.a.createElement(i.a, { model: e }),
+                      this.props.children,
+                      a.a.createElement(l.a, null)
+                    )
+                  )
+                );
+              },
+            },
+            {
+              key: "getPageTitle",
+              get: function () {
+                var e = this.props.navModel;
+                if (e) return Object(o.b)(e) || void 0;
+              },
+            },
+          ]) && O(n.prototype, r),
+          c && O(n, c),
+          t
+        );
+      })(r.Component);
+      (S.Header = i.a), (S.Contents = g);
+      t.a = S;
+    },
+    ZJ8E: function (e, t, n) {
+      "use strict";
+      function r(e) {
+        return e.map(a).sort(function (e, t) {
+          return t.sortRank - e.sortRank || e.name.localeCompare(t.name);
+        });
+      }
+      function a(e) {
+        var t = e;
+        return (
+          (t.sortRank = 0),
+          t.userId > 0
+            ? ((t.name = t.userLogin), (t.sortRank = 10))
+            : t.teamId > 0
+            ? ((t.name = t.team), (t.sortRank = 20))
+            : t.role &&
+              ((t.icon = "fa fa-fw fa-street-view"),
+              (t.name = t.role),
+              (t.sortRank = 30),
+              "Editor" === t.role && (t.sortRank += 1)),
+          t.inherited && (t.sortRank += 100),
+          t
+        );
+      }
+      n.d(t, "a", function () {
+        return r;
+      });
+    },
+    ZSVY: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return r;
+      }),
+        n.d(t, "c", function () {
+          return f;
+        }),
+        n.d(t, "b", function () {
+          return d;
+        });
+      var r,
+        a = n("UB5X"),
+        o = n.n(a),
+        i = n("KgU3"),
+        l = n("2kIT");
+      function s(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function c(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? s(Object(n), !0).forEach(function (t) {
+                u(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : s(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function u(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function f(e) {
+        var t = e.field,
+          n = e.reducers;
+        if (!t || !n || n.length < 1) return {};
+        if (t.calcs) {
+          var r = [],
+            a = !0,
+            l = !1,
+            s = void 0;
+          try {
+            for (
+              var u, f = n[Symbol.iterator]();
+              !(a = (u = f.next()).done);
+              a = !0
+            ) {
+              var p = u.value;
+              t.calcs.hasOwnProperty(p) || r.push(p);
+            }
+          } catch (e) {
+            (l = !0), (s = e);
+          } finally {
+            try {
+              a || null == f.return || f.return();
+            } finally {
+              if (l) throw s;
+            }
+          }
+          if (r.length < 1) return c({}, t.calcs);
+        }
+        var h = d.list(n);
+        if (t.values.length < 1) {
+          var m = c({}, t.calcs),
+            g = !0,
+            b = !1,
+            v = void 0;
+          try {
+            for (
+              var y, w = h[Symbol.iterator]();
+              !(g = (y = w.next()).done);
+              g = !0
+            ) {
+              var O = y.value;
+              m[O.id] = null !== O.emptyInputResult ? O.emptyInputResult : null;
+            }
+          } catch (e) {
+            (b = !0), (v = e);
+          } finally {
+            try {
+              g || null == w.return || w.return();
+            } finally {
+              if (b) throw v;
+            }
+          }
+          return (t.calcs = m);
+        }
+        var x = t.config.nullValueMode,
+          k = x === i.NullValueMode.Ignore,
+          j = x === i.NullValueMode.AsZero;
+        if (1 === h.length && h[0].reduce) {
+          var S = h[0].reduce(t, k, j);
+          return (t.calcs = c({}, t.calcs, {}, S)), S;
+        }
+        var E = (function (e, t, n) {
+            var r = {
+                sum: 0,
+                max: -Number.MAX_VALUE,
+                min: Number.MAX_VALUE,
+                logmin: Number.MAX_VALUE,
+                mean: null,
+                last: null,
+                first: null,
+                lastNotNull: null,
+                firstNotNull: null,
+                count: 0,
+                nonNullCount: 0,
+                allIsNull: !0,
+                allIsZero: !0,
+                range: null,
+                diff: null,
+                delta: 0,
+                step: Number.MAX_VALUE,
+                previousDeltaUp: !0,
+              },
+              a = e.values;
+            r.count = a.length;
+            for (var i = 0; i < a.length; i++) {
+              var l = a.get(i);
+              if ((0 === i && (r.first = l), (r.last = l), null === l)) {
+                if (t) continue;
+                n && (l = 0);
+              }
+              if (null != l) {
+                var s = null === r.firstNotNull;
+                if ((s && (r.firstNotNull = l), o()(l))) {
+                  if (
+                    ((r.sum += l), (r.allIsNull = !1), r.nonNullCount++, !s)
+                  ) {
+                    var c = l - r.lastNotNull;
+                    r.step > c && (r.step = c),
+                      r.lastNotNull > l
+                        ? ((r.previousDeltaUp = !1),
+                          i === a.length - 1 && (r.delta += l))
+                        : (r.previousDeltaUp ? (r.delta += c) : (r.delta += l),
+                          (r.previousDeltaUp = !0));
+                  }
+                  l > r.max && (r.max = l),
+                    l < r.min && (r.min = l),
+                    l < r.logmin && l > 0 && (r.logmin = l);
+                }
+                0 !== l && (r.allIsZero = !1), (r.lastNotNull = l);
+              }
+            }
+            r.max === -Number.MAX_VALUE && (r.max = null);
+            r.min === Number.MAX_VALUE && (r.min = null);
+            r.step === Number.MAX_VALUE && (r.step = null);
+            r.nonNullCount > 0 && (r.mean = r.sum / r.nonNullCount);
+            r.allIsNull && (r.allIsZero = !1);
+            null !== r.max && null !== r.min && (r.range = r.max - r.min);
+            o()(r.firstNotNull) &&
+              o()(r.lastNotNull) &&
+              (r.diff = r.lastNotNull - r.firstNotNull);
+            return r;
+          })(t, k, j),
+          C = !0,
+          P = !1,
+          T = void 0;
+        try {
+          for (
+            var D, A = h[Symbol.iterator]();
+            !(C = (D = A.next()).done);
+            C = !0
+          ) {
+            var _ = D.value;
+            !E.hasOwnProperty(_.id) &&
+              _.reduce &&
+              (E = c({}, E, {}, _.reduce(t, k, j)));
+          }
+        } catch (e) {
+          (P = !0), (T = e);
+        } finally {
+          try {
+            C || null == A.return || A.return();
+          } finally {
+            if (P) throw T;
+          }
+        }
+        return (t.calcs = c({}, t.calcs, {}, E)), E;
+      }
+      !(function (e) {
+        (e.sum = "sum"),
+          (e.max = "max"),
+          (e.min = "min"),
+          (e.logmin = "logmin"),
+          (e.mean = "mean"),
+          (e.last = "last"),
+          (e.first = "first"),
+          (e.count = "count"),
+          (e.range = "range"),
+          (e.diff = "diff"),
+          (e.delta = "delta"),
+          (e.step = "step"),
+          (e.firstNotNull = "firstNotNull"),
+          (e.lastNotNull = "lastNotNull"),
+          (e.changeCount = "changeCount"),
+          (e.distinctCount = "distinctCount"),
+          (e.allIsZero = "allIsZero"),
+          (e.allIsNull = "allIsNull");
+      })(r || (r = {}));
+      var d = new l.a(function () {
+        return [
+          {
+            id: r.lastNotNull,
+            name: "Last (not null)",
+            description: "Last non-null value",
+            standard: !0,
+            aliasIds: ["current"],
+            reduce: g,
+          },
+          {
+            id: r.last,
+            name: "Last",
+            description: "Last Value",
+            standard: !0,
+            reduce: m,
+          },
+          {
+            id: r.first,
+            name: "First",
+            description: "First Value",
+            standard: !0,
+            reduce: p,
+          },
+          {
+            id: r.firstNotNull,
+            name: "First (not null)",
+            description: "First non-null value",
+            standard: !0,
+            reduce: h,
+          },
+          {
+            id: r.min,
+            name: "Min",
+            description: "Minimum Value",
+            standard: !0,
+          },
+          {
+            id: r.max,
+            name: "Max",
+            description: "Maximum Value",
+            standard: !0,
+          },
+          {
+            id: r.mean,
+            name: "Mean",
+            description: "Average Value",
+            standard: !0,
+            aliasIds: ["avg"],
+          },
+          {
+            id: r.sum,
+            name: "Total",
+            description: "The sum of all values",
+            emptyInputResult: 0,
+            standard: !0,
+            aliasIds: ["total"],
+          },
+          {
+            id: r.count,
+            name: "Count",
+            description: "Number of values in response",
+            emptyInputResult: 0,
+            standard: !0,
+          },
+          {
+            id: r.range,
+            name: "Range",
+            description: "Difference between minimum and maximum values",
+            standard: !0,
+          },
+          {
+            id: r.delta,
+            name: "Delta",
+            description: "Cumulative change in value",
+            standard: !0,
+          },
+          {
+            id: r.step,
+            name: "Step",
+            description: "Minimum interval between values",
+            standard: !0,
+          },
+          {
+            id: r.diff,
+            name: "Difference",
+            description: "Difference between first and last values",
+            standard: !0,
+          },
+          {
+            id: r.logmin,
+            name: "Min (above zero)",
+            description: "Used for log min scale",
+            standard: !0,
+          },
+          {
+            id: r.allIsZero,
+            name: "All Zeros",
+            description: "All values are zero",
+            emptyInputResult: !1,
+            standard: !0,
+          },
+          {
+            id: r.allIsNull,
+            name: "All Nulls",
+            description: "All values are null",
+            emptyInputResult: !0,
+            standard: !0,
+          },
+          {
+            id: r.changeCount,
+            name: "Change Count",
+            description: "Number of times the value changes",
+            standard: !1,
+            reduce: b,
+          },
+          {
+            id: r.distinctCount,
+            name: "Distinct Count",
+            description: "Number of distinct values",
+            standard: !1,
+            reduce: v,
+          },
+        ];
+      });
+      function p(e, t, n) {
+        return { first: e.values.get(0) };
+      }
+      function h(e, t, n) {
+        for (var r = e.values, a = 0; a < r.length; a++) {
+          var o = r.get(a);
+          if (null != o && void 0 !== o) return { firstNotNull: o };
+        }
+        return { firstNotNull: null };
+      }
+      function m(e, t, n) {
+        var r = e.values;
+        return { last: r.get(r.length - 1) };
+      }
+      function g(e, t, n) {
+        for (var r = e.values, a = r.length - 1; a >= 0; ) {
+          var o = r.get(a--);
+          if (null != o && void 0 !== o) return { lastNotNull: o };
+        }
+        return { lastNotNull: null };
+      }
+      function b(e, t, n) {
+        for (
+          var r = e.values, a = 0, o = !0, i = null, l = 0;
+          l < r.length;
+          l++
+        ) {
+          var s = r.get(l);
+          if (null === s) {
+            if (t) continue;
+            n && (s = 0);
+          }
+          o || i === s || a++, (o = !1), (i = s);
+        }
+        return { changeCount: a };
+      }
+      function v(e, t, n) {
+        for (var r = e.values, a = new Set(), o = 0; o < r.length; o++) {
+          var i = r.get(o);
+          if (null === i) {
+            if (t) continue;
+            n && (i = 0);
+          }
+          a.add(i);
+        }
+        return { distinctCount: a.size };
+      }
+    },
+    ZYew: function (e, t, n) {
+      "use strict";
+      n.d(t, "b", function () {
+        return i;
+      }),
+        n.d(t, "a", function () {
+          return l;
+        });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("FgzG");
+      function i(e) {
+        return a.a.createElement(o.a, e);
+      }
+      function l(e) {
+        return a.a.createElement(o.a, e);
+      }
+    },
+    a9tP: function (e, t) {},
+    aAiC: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return i;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("EwfM"),
+        i = function (e) {
+          var t = e.selectProps.menuIsOpen;
+          return a.a.createElement(
+            o.z.IndicatorsContainer,
+            e,
+            a.a.createElement("span", {
+              className: "gf-form-select-box__select-arrow ".concat(
+                t ? "gf-form-select-box__select-arrow--reversed" : ""
+              ),
+            })
+          );
+        };
+      t.b = i;
+    },
+    aLCo: function (e, t) {
+      var n =
+        "public/app/features/manage-dashboards/partials/snapshot_list.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body">\n   <table class=filter-table>\n    <thead>\n      <th><strong>Name</strong></th>\n      <th><strong>Snapshot url</strong></th>\n      <th style=width:70px></th>\n      <th style=width:30px></th>\n      <th style=width:25px></th>\n\t\t</thead>\n\t\t<tr ng-repeat="snapshot in ctrl.snapshots">\n      <td>\n        <a href={{snapshot.url}}>{{snapshot.name}}</a>\n      </td>\n      <td>\n        <a href={{snapshot.url}}>{{snapshot.url}}</a>\n      </td>\n      <td>\n        <span class=query-keyword ng-if=snapshot.external>External</span>\n      </td>\n      <td class=text-center>\n        <a href={{snapshot.url}} class="btn btn-inverse btn-small">\n          <i class="gicon gicon-viewer"></i>\n          View\n        </a>\n      </td>\n      <td class=text-right>\n        <a ng-click=ctrl.removeSnapshot(snapshot) class="btn btn-danger btn-small">\n          <i class="fa fa-remove"></i>\n        </a>\n      </td>\n    </tr>\n  </table>\n\n</div>\n\n<footer/>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    aPt1: function (e, t, n) {
+      "use strict";
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDDq"),
+        i = n("MIBK"),
+        l = n("oeKk"),
+        s = n("lcef");
+      function c(e) {
+        return (c =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function u(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function f(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function d(e, t) {
+        return !t || ("object" !== c(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function p(e) {
+        return (p = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function h(e, t) {
+        return (h =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      function m() {
+        var e = k([
+          "\n      opacity: 0;\n      transition: opacity 0.12s ease-in, transform 0.14s ease-in;\n      transform: translateX(100px);\n    ",
+        ]);
+        return (
+          (m = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function g() {
+        var e = k([
+          "\n      opacity: 1;\n      transition: opacity 0.08s ease-out, transform 0.1s ease-out;\n      transform: translateX(0);\n    ",
+        ]);
+        return (
+          (g = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function b() {
+        var e = k([
+          "\n      display: flex;\n      align-items: flex-start;\n    ",
+        ]);
+        return (
+          (b = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function v() {
+        var e = k([
+          "\n      overflow: hidden;\n      position: absolute;\n      z-index: 1;\n    ",
+        ]);
+        return (
+          (v = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function y() {
+        var e = k([
+          "\n      opacity: 0;\n      transition: opacity 0.1s ease;\n      z-index: 0;\n    ",
+        ]);
+        return (
+          (y = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function w() {
+        var e = k([
+          "\n      opacity: 1;\n      transition: opacity 0.1s ease;\n      z-index: 2;\n    ",
+        ]);
+        return (
+          (w = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function O() {
+        var e = k([
+          "\n      text-decoration: none;\n      color: ",
+          ";\n      opacity: 0.65;\n      cursor: not-allowed;\n      pointer-events: none;\n    ",
+        ]);
+        return (
+          (O = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function x() {
+        var e = k([
+          "\n      direction: rtl;\n      display: flex;\n      align-items: center;\n    ",
+        ]);
+        return (
+          (x = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function k(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var j = Object(i.g)(function (e) {
+          return {
+            buttonContainer: Object(o.css)(x()),
+            buttonDisabled: Object(o.css)(O(), e.colors.text),
+            buttonShow: Object(o.css)(w()),
+            buttonHide: Object(o.css)(y()),
+            confirmButtonContainer: Object(o.css)(v()),
+            confirmButton: Object(o.css)(b()),
+            confirmButtonShow: Object(o.css)(g()),
+            confirmButtonHide: Object(o.css)(m()),
+          };
+        }),
+        S = (function (e) {
+          function t() {
+            var e, n;
+            u(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = d(
+                this,
+                (e = p(t)).call.apply(e, [this].concat(a))
+              )).state = { showConfirm: !1 }),
+              (n.onClickButton = function (e) {
+                e && e.preventDefault(),
+                  n.setState({ showConfirm: !0 }),
+                  n.props.onClick && n.props.onClick();
+              }),
+              (n.onClickCancel = function (e) {
+                e && e.preventDefault(),
+                  n.setState({ showConfirm: !1 }),
+                  n.props.onCancel && n.props.onCancel();
+              }),
+              n
+            );
+          }
+          var n, r, i;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && h(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.theme,
+                    n = e.className,
+                    r = e.size,
+                    i = e.disabled,
+                    c = e.confirmText,
+                    u = e.confirmVariant,
+                    f = e.onConfirm,
+                    d = e.children,
+                    p = j(t),
+                    h = Object(o.cx)(
+                      n,
+                      this.state.showConfirm ? p.buttonHide : p.buttonShow,
+                      i && p.buttonDisabled
+                    ),
+                    m = Object(o.cx)(
+                      p.confirmButton,
+                      this.state.showConfirm
+                        ? p.confirmButtonShow
+                        : p.confirmButtonHide
+                    ),
+                    g = i ? function () {} : this.onClickButton;
+                  return a.a.createElement(
+                    "span",
+                    { className: p.buttonContainer },
+                    "string" == typeof d
+                      ? a.a.createElement(
+                          "span",
+                          { className: h },
+                          a.a.createElement(
+                            s.b.Button,
+                            { size: r, variant: "link", onClick: g },
+                            d
+                          )
+                        )
+                      : a.a.createElement(
+                          "span",
+                          { className: h, onClick: g },
+                          d
+                        ),
+                    a.a.createElement(
+                      "span",
+                      { className: p.confirmButtonContainer },
+                      a.a.createElement(
+                        "span",
+                        { className: m },
+                        a.a.createElement(
+                          l.a,
+                          {
+                            size: r,
+                            variant: "transparent",
+                            onClick: this.onClickCancel,
+                          },
+                          "Cancel"
+                        ),
+                        a.a.createElement(
+                          l.a,
+                          { size: r, variant: u, onClick: f },
+                          c
+                        )
+                      )
+                    )
+                  );
+                },
+              },
+            ]) && f(n.prototype, r),
+            i && f(n, i),
+            t
+          );
+        })(r.PureComponent);
+      S.defaultProps = {
+        size: "md",
+        confirmText: "Save",
+        disabled: !1,
+        confirmVariant: "primary",
+      };
+      var E = Object(i.i)(S);
+      E.displayName = "ConfirmButton";
+      var C = function (e) {
+          var t = e.size,
+            n = e.disabled,
+            r = e.onConfirm;
+          return a.a.createElement(
+            E,
+            {
+              confirmText: "Delete",
+              confirmVariant: "danger",
+              size: t || "md",
+              disabled: n,
+              onConfirm: r,
+            },
+            a.a.createElement(l.a, {
+              variant: "danger",
+              icon: "fa fa-remove",
+              size: t || "sm",
+            })
+          );
+        },
+        P = n("5/7A"),
+        T = n("rEbV"),
+        D = n("uomI"),
+        A = n("BC3V"),
+        _ = n("vkM9"),
+        N = n("sxGJ"),
+        M = n.n(N);
+      function I(e) {
+        return (I =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function R() {
+        return (R =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function F(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function L(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function V(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function B(e, t) {
+        return !t || ("object" !== I(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function $(e) {
+        return ($ = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function q(e, t) {
+        return (q =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var U = (function (e) {
+          function t() {
+            var e, n;
+            L(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = B(
+                this,
+                (e = $(t)).call.apply(e, [this].concat(a))
+              )).setRef = function (e) {
+                n.elem = e;
+              }),
+              n
+            );
+          }
+          var n, r, o;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && q(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value: function () {
+                  var e = this.props,
+                    t = e.getText,
+                    n = e.onClipboardCopy,
+                    r = e.onClipboardError;
+                  (this.clipboard = new M.a(this.elem, {
+                    text: function () {
+                      return t();
+                    },
+                  })),
+                    this.clipboard.on("success", function (e) {
+                      n && n(e);
+                    }),
+                    this.clipboard.on("error", function (e) {
+                      r && r(e);
+                    });
+                },
+              },
+              {
+                key: "componentWillUnmount",
+                value: function () {
+                  this.clipboard.destroy();
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t =
+                      (e.getText,
+                      e.onClipboardCopy,
+                      e.onClipboardError,
+                      e.children),
+                    n = F(e, [
+                      "getText",
+                      "onClipboardCopy",
+                      "onClipboardError",
+                      "children",
+                    ]);
+                  return a.a.createElement(
+                    l.a,
+                    R({}, n, { ref: this.setRef }),
+                    t
+                  );
+                },
+              },
+            ]) && V(n.prototype, r),
+            o && V(n, o),
+            t
+          );
+        })(r.PureComponent),
+        z = n("E5F5"),
+        H = n("aAiC"),
+        G = n("EiQK"),
+        W = n("9o1o"),
+        Q = n("bDvK"),
+        Y = n("Vt59"),
+        K = n("RxwV");
+      function J() {
+        return (J =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      var Z = function (e) {
+          return a.a.createElement(
+            K.a,
+            J({}, e, { expandIcon: null }),
+            a.a.createElement(
+              "button",
+              {
+                className: "gf-form-label gf-form-label--btn",
+                disabled: e.disabled,
+              },
+              e.children,
+              " ",
+              a.a.createElement(Y.a, { name: "caret-down" })
+            )
+          );
+        },
+        X = n("ZYew"),
+        ee = n("6iRR");
+      function te(e) {
+        return (te =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function ne() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })(["\n              z-index: 9999;\n            "]);
+        return (
+          (ne = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function re(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function ae(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function oe(e, t) {
+        return !t || ("object" !== te(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function ie(e) {
+        return (ie = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function le(e, t) {
+        return (le =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var se = Object(o.css)("\n&:focus{\n  outline: none;\n}\n"),
+        ce = (function (e) {
+          function t(e) {
+            var n;
+            !(function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+              ((n = oe(this, ie(t).call(this, e))).flattenOptions = function (
+                e
+              ) {
+                var t =
+                    arguments.length > 1 && void 0 !== arguments[1]
+                      ? arguments[1]
+                      : [],
+                  r = [],
+                  a = !0,
+                  o = !1,
+                  i = void 0;
+                try {
+                  for (
+                    var l, s = e[Symbol.iterator]();
+                    !(a = (l = s.next()).done);
+                    a = !0
+                  ) {
+                    var c = l.value,
+                      u = re(t);
+                    u.push(c),
+                      c.items
+                        ? (r = [].concat(
+                            re(r),
+                            re(n.flattenOptions(c.items, u))
+                          ))
+                        : r.push({
+                            singleLabel: u[u.length - 1].label,
+                            label: u
+                              .map(function (e) {
+                                return e.label;
+                              })
+                              .join(n.props.separator || " / "),
+                            value: u.map(function (e) {
+                              return e.value;
+                            }),
+                          });
+                  }
+                } catch (e) {
+                  (o = !0), (i = e);
+                } finally {
+                  try {
+                    a || null == s.return || s.return();
+                  } finally {
+                    if (o) throw i;
+                  }
+                }
+                return r;
+              }),
+              (n.onChange = function (e, t) {
+                n.setState({ rcValue: e, activeLabel: t[t.length - 1].label }),
+                  n.props.onSelect(t[t.length - 1].value);
+              }),
+              (n.onSelect = function (e) {
+                var t = e.value || [];
+                n.setState({
+                  activeLabel: e.singleLabel || "",
+                  rcValue: t,
+                  isSearching: !1,
+                }),
+                  n.props.onSelect(t[t.length - 1]);
+              }),
+              (n.onCreateOption = function (e) {
+                n.setState({ activeLabel: e, rcValue: [], isSearching: !1 }),
+                  n.props.onSelect(e);
+              }),
+              (n.onClick = function () {
+                n.setState({ focusCascade: !0 });
+              }),
+              (n.onBlur = function () {
+                n.setState({ isSearching: !1, focusCascade: !1 }),
+                  "" === n.state.activeLabel && n.setState({ rcValue: [] });
+              }),
+              (n.onBlurCascade = function () {
+                n.setState({ focusCascade: !1 });
+              }),
+              (n.onInputKeyDown = function (e) {
+                "ArrowDown" !== e.key &&
+                  "ArrowUp" !== e.key &&
+                  "Enter" !== e.key &&
+                  "ArrowLeft" !== e.key &&
+                  "ArrowRight" !== e.key &&
+                  n.setState({ focusCascade: !1, isSearching: !0 });
+              });
+            var r = n.flattenOptions(e.options),
+              a = n.setInitialValue(r, e.initialValue),
+              o = a.rcValue,
+              i = a.activeLabel;
+            return (
+              (n.state = {
+                isSearching: !1,
+                focusCascade: !1,
+                searchableOptions: r,
+                rcValue: o,
+                activeLabel: i,
+              }),
+              n
+            );
+          }
+          var n, r, i;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && le(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "setInitialValue",
+                value: function (e, t) {
+                  if (!t) return { rcValue: [], activeLabel: "" };
+                  var n = !0,
+                    r = !1,
+                    a = void 0;
+                  try {
+                    for (
+                      var o, i = e[Symbol.iterator]();
+                      !(n = (o = i.next()).done);
+                      n = !0
+                    ) {
+                      var l = o.value,
+                        s = l.value || [];
+                      if (s.indexOf(t) === s.length - 1)
+                        return { rcValue: s, activeLabel: l.singleLabel || "" };
+                    }
+                  } catch (e) {
+                    (r = !0), (a = e);
+                  } finally {
+                    try {
+                      n || null == i.return || i.return();
+                    } finally {
+                      if (r) throw a;
+                    }
+                  }
+                  return this.props.allowCustomValue
+                    ? { rcValue: [], activeLabel: t }
+                    : { rcValue: [], activeLabel: "" };
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.size,
+                    n = e.allowCustomValue,
+                    r = e.placeholder,
+                    i = this.state,
+                    l = i.focusCascade,
+                    s = i.isSearching,
+                    c = i.searchableOptions,
+                    u = i.rcValue,
+                    f = i.activeLabel;
+                  return a.a.createElement(
+                    "div",
+                    null,
+                    s
+                      ? a.a.createElement(X.b, {
+                          allowCustomValue: n,
+                          placeholder: r,
+                          autoFocus: !l,
+                          onChange: this.onSelect,
+                          onBlur: this.onBlur,
+                          options: c,
+                          size: t,
+                          onCreateOption: this.onCreateOption,
+                          formatCreateLabel: this.props.formatCreateLabel,
+                        })
+                      : a.a.createElement(
+                          K.a,
+                          {
+                            onChange: this.onChange,
+                            onClick: this.onClick,
+                            options: this.props.options,
+                            isFocused: l,
+                            onBlur: this.onBlurCascade,
+                            value: u,
+                            fieldNames: {
+                              label: "label",
+                              value: "value",
+                              children: "items",
+                            },
+                            expandIcon: null,
+                            popupClassName: Object(o.css)(ne()),
+                          },
+                          a.a.createElement(
+                            "div",
+                            { className: se },
+                            a.a.createElement(ee.a, {
+                              size: t,
+                              placeholder: r,
+                              value: f,
+                              onKeyDown: this.onInputKeyDown,
+                              onChange: function () {},
+                              suffix: l
+                                ? a.a.createElement(Y.a, { name: "caret-up" })
+                                : a.a.createElement(Y.a, {
+                                    name: "caret-down",
+                                  }),
+                            })
+                          )
+                        )
+                  );
+                },
+              },
+            ]) && ae(n.prototype, r),
+            i && ae(n, i),
+            t
+          );
+        })(a.a.PureComponent),
+        ue = n("TSYQ"),
+        fe = n.n(ue);
+      function de() {
+        return (de =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function pe(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      var he = function (e) {
+        var t = e.children,
+          n = e.isFocused,
+          r = e.isInvalid,
+          o = e.className,
+          i = e.htmlFor,
+          l = e.tooltip,
+          s = e.width,
+          c = pe(e, [
+            "children",
+            "isFocused",
+            "isInvalid",
+            "className",
+            "htmlFor",
+            "tooltip",
+            "width",
+          ]),
+          u = fe()("gf-form-label width-".concat(s || "10"), o, {
+            "gf-form-label--is-focused": n,
+            "gf-form-label--is-invalid": r,
+          });
+        return a.a.createElement(
+          "label",
+          de({ className: u }, c, { htmlFor: i }),
+          t,
+          l &&
+            a.a.createElement(
+              P.b,
+              { placement: "top", content: l, theme: "info" },
+              a.a.createElement(
+                "div",
+                {
+                  className:
+                    "gf-form-help-icon gf-form-help-icon--right-normal",
+                },
+                a.a.createElement("i", { className: "fa fa-info-circle" })
+              )
+            )
+        );
+      };
+      function me() {
+        return (me =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function ge(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      var be = function (e) {
+        var t = e.label,
+          n = e.tooltip,
+          r = e.labelWidth,
+          i = e.inputWidth,
+          l = e.inputEl,
+          s = e.className,
+          c = ge(e, [
+            "label",
+            "tooltip",
+            "labelWidth",
+            "inputWidth",
+            "inputEl",
+            "className",
+          ]);
+        return a.a.createElement(
+          "div",
+          { className: Object(o.cx)("form-field", s) },
+          a.a.createElement(he, { width: r, tooltip: n }, t),
+          l ||
+            a.a.createElement(
+              "input",
+              me(
+                {
+                  type: "text",
+                  className: "gf-form-input ".concat(
+                    i ? "width-".concat(i) : ""
+                  ),
+                },
+                c
+              )
+            )
+        );
+      };
+      (be.displayName = "FormField"),
+        (be.defaultProps = { labelWidth: 6, inputWidth: 12 });
+      var ve = n("Puqe"),
+        ye = n.n(ve);
+      function we() {
+        return (we =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function Oe(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function xe() {
+        var e = je([
+          "\n      border-bottom-left-radius: 0 !important;\n      border-top-left-radius: 0 !important;\n    ",
+        ]);
+        return (
+          (xe = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ke() {
+        var e = je([
+          "\n      border-bottom-right-radius: 0 !important;\n      border-top-right-radius: 0 !important;\n    ",
+        ]);
+        return (
+          (ke = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function je(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var Se = function (e) {
+        var t = e.label,
+          n = void 0 === t ? "Password" : t,
+          r = e.labelWidth,
+          i = e.inputWidth,
+          l = void 0 === i ? 12 : i,
+          s = e.onReset,
+          c = e.isConfigured,
+          u = e.placeholder,
+          f = void 0 === u ? "Password" : u,
+          d = Oe(e, [
+            "label",
+            "labelWidth",
+            "inputWidth",
+            "onReset",
+            "isConfigured",
+            "placeholder",
+          ]),
+          p = {
+            noRadiusInput: Object(o.css)(ke()),
+            noRadiusButton: Object(o.css)(xe()),
+          };
+        return a.a.createElement(be, {
+          label: n,
+          labelWidth: r,
+          inputEl: c
+            ? a.a.createElement(
+                a.a.Fragment,
+                null,
+                a.a.createElement(
+                  "input",
+                  we(
+                    {
+                      type: "text",
+                      className: Object(o.cx)(
+                        "gf-form-input width-".concat(l - 2),
+                        p.noRadiusInput
+                      ),
+                      disabled: !0,
+                      value: "configured",
+                    },
+                    ye()(d, "value")
+                  )
+                ),
+                a.a.createElement(
+                  "button",
+                  {
+                    className: Object(o.cx)(
+                      "btn btn-secondary gf-form-btn",
+                      p.noRadiusButton
+                    ),
+                    onClick: s,
+                    style: { height: "100%" },
+                  },
+                  "reset"
+                )
+              )
+            : a.a.createElement(
+                "input",
+                we(
+                  {
+                    type: "password",
+                    className: "gf-form-input width-".concat(l),
+                    placeholder: f,
+                  },
+                  d
+                )
+              ),
+        });
+      };
+      Se.displayName = "SecretFormField";
+      var Ee,
+        Ce = function (e) {
+          var t = e.text;
+          return a.a.createElement(
+            "div",
+            { className: "gf-form-group" },
+            t,
+            " ",
+            a.a.createElement("i", { className: "fa fa-spinner fa-spin" })
+          );
+        },
+        Pe = n("Obii"),
+        Te = n("gQMU"),
+        De = n.n(Te),
+        Ae = n("J2m7"),
+        _e = n.n(Ae),
+        Ne = n("eGKl");
+      function Me() {
+        return (Me =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function Ie(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      !(function (e) {
+        (e.Small = "small"), (e.Large = "large");
+      })(Ee || (Ee = {}));
+      var Re,
+        Fe = function (e) {
+          var t = e.color,
+            n = e.label,
+            r = e.variant,
+            o = void 0 === r ? Ee.Small : r,
+            i = e.isSelected,
+            l = e.theme,
+            s = Ie(e, ["color", "label", "variant", "isSelected", "theme"]),
+            c = o === Ee.Small,
+            u = c ? "16px" : "32px",
+            f = Object(Ne.a)(
+              { light: l.colors.white, dark: l.colors.black },
+              l.type
+            ),
+            d = {
+              width: u,
+              height: u,
+              borderRadius: "50%",
+              background: "".concat(t),
+              marginRight: c ? "0px" : "8px",
+              boxShadow: i
+                ? "inset 0 0 0 2px ".concat(t, ", inset 0 0 0 4px ").concat(f)
+                : "none",
+            };
+          return a.a.createElement(
+            "div",
+            Me(
+              {
+                style: {
+                  display: "flex",
+                  alignItems: "center",
+                  cursor: "pointer",
+                },
+              },
+              s
+            ),
+            a.a.createElement("div", { style: d }),
+            o === Ee.Large && a.a.createElement("span", null, n)
+          );
+        },
+        Le = function (e) {
+          var t = e.colors,
+            n = e.selectedColor,
+            r = e.onColorSelect,
+            o = e.theme,
+            i = Ie(e, ["colors", "selectedColor", "onColorSelect", "theme"]),
+            l = _e()(t, function (e) {
+              return !!e.isPrimary;
+            });
+          return a.a.createElement(
+            "div",
+            Me({}, i, { style: { display: "flex", flexDirection: "column" } }),
+            l &&
+              a.a.createElement(Fe, {
+                key: l.name,
+                isSelected: l.name === n,
+                variant: Ee.Large,
+                color: Object(Pe.getColorForTheme)(l, o.type),
+                label: De()(l.hue),
+                onClick: function () {
+                  return r(l);
+                },
+                theme: o,
+              }),
+            a.a.createElement(
+              "div",
+              { style: { display: "flex", marginTop: "8px" } },
+              t.map(function (e) {
+                return (
+                  !e.isPrimary &&
+                  a.a.createElement(
+                    "div",
+                    { key: e.name, style: { marginRight: "4px" } },
+                    a.a.createElement(Fe, {
+                      key: e.name,
+                      isSelected: e.name === n,
+                      color: Object(Pe.getColorForTheme)(e, o.type),
+                      onClick: function () {
+                        return r(e);
+                      },
+                      theme: o,
+                    })
+                  )
+                );
+              })
+            )
+          );
+        },
+        Ve = function (e) {
+          var t = e.color,
+            n = e.onChange,
+            r = e.theme,
+            o = [];
+          return (
+            Object(Pe.getNamedColorPalette)().forEach(function (e, i) {
+              o.push(
+                a.a.createElement(Le, {
+                  key: i,
+                  theme: r,
+                  selectedColor: t,
+                  colors: e,
+                  onColorSelect: function (e) {
+                    n(e.name);
+                  },
+                })
+              );
+            }),
+            a.a.createElement(
+              "div",
+              {
+                style: {
+                  display: "grid",
+                  gridTemplateColumns: "repeat(3, 1fr)",
+                  gridRowGap: "24px",
+                  gridColumnGap: "24px",
+                },
+              },
+              o
+            )
+          );
+        },
+        Be = n("WFjJ"),
+        $e = n("TM95"),
+        qe = n("Zss7"),
+        Ue = n.n(qe),
+        ze = n("sEfC"),
+        He = n.n(ze),
+        Ge = n("aWP2");
+      function We(e) {
+        return (We =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Qe() {
+        return (Qe =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function Ye(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function Ke(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function Je(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              Ke(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              Ke(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function Ze(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Xe(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? Ze(Object(n), !0).forEach(function (t) {
+                et(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : Ze(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function et(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function tt(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function nt(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function rt(e, t) {
+        return !t || ("object" !== We(t) && "function" != typeof t) ? ot(e) : t;
+      }
+      function at(e) {
+        return (at = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function ot(e) {
+        if (void 0 === e)
+          throw new ReferenceError(
+            "this hasn't been initialised - super() hasn't been called"
+          );
+        return e;
+      }
+      function it(e, t) {
+        return (it =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      !(function (e) {
+        (e.Invalid = "invalid"), (e.Valid = "valid");
+      })(Re || (Re = {}));
+      var lt = (function (e) {
+        function t() {
+          var e, n;
+          tt(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = rt(
+              this,
+              (e = at(t)).call.apply(e, [this].concat(a))
+            )).state = { error: null }),
+            (n.validatorAsync = function (e) {
+              return function (t) {
+                var r = Object(Ge.x)(t.target.value, e);
+                n.setState(function (e) {
+                  return Xe({}, e, { error: r ? r[0] : null });
+                });
+              };
+            }),
+            (n.populateEventPropsWithStatus = function (e, t) {
+              var r = Xe({}, e);
+              return t
+                ? (Object.keys(Ge.e).forEach(function (a) {
+                    (Object(Ge.q)(a, t) || e[a]) &&
+                      (r[a] = (function () {
+                        var r = Je(
+                          regeneratorRuntime.mark(function r(o) {
+                            return regeneratorRuntime.wrap(function (r) {
+                              for (;;)
+                                switch ((r.prev = r.next)) {
+                                  case 0:
+                                    if ((o.persist(), !Object(Ge.q)(a, t))) {
+                                      r.next = 4;
+                                      break;
+                                    }
+                                    return (
+                                      (r.next = 4),
+                                      n.validatorAsync(t[a]).apply(ot(n), [o])
+                                    );
+                                  case 4:
+                                    e[a] && e[a].apply(null, [o, n.status]);
+                                  case 5:
+                                  case "end":
+                                    return r.stop();
+                                }
+                            }, r);
+                          })
+                        );
+                        return function (e) {
+                          return r.apply(this, arguments);
+                        };
+                      })());
+                  }),
+                  r)
+                : r;
+            }),
+            n
+          );
+        }
+        var n, r, o;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && it(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.validationEvents,
+                  n = e.className,
+                  r = e.hideErrorMessage,
+                  o = e.inputRef,
+                  i = Ye(e, [
+                    "validationEvents",
+                    "className",
+                    "hideErrorMessage",
+                    "inputRef",
+                  ]),
+                  l = this.state.error,
+                  s = fe()("gf-form-input", { invalid: this.isInvalid }, n),
+                  c = this.populateEventPropsWithStatus(i, t);
+                return a.a.createElement(
+                  "div",
+                  { style: { flexGrow: 1 } },
+                  a.a.createElement(
+                    "input",
+                    Qe({}, c, { ref: o, className: s })
+                  ),
+                  l && !r && a.a.createElement("span", null, l)
+                );
+              },
+            },
+            {
+              key: "status",
+              get: function () {
+                return this.state.error ? Re.Invalid : Re.Valid;
+              },
+            },
+            {
+              key: "isInvalid",
+              get: function () {
+                return this.status === Re.Invalid;
+              },
+            },
+          ]) && nt(n.prototype, r),
+          o && nt(n, o),
+          t
+        );
+      })(r.PureComponent);
+      function st(e) {
+        return (st =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function ct(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function ut(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? ct(Object(n), !0).forEach(function (t) {
+                ft(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : ct(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function ft(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function dt(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function pt(e, t) {
+        return !t || ("object" !== st(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function ht(e) {
+        return (ht = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function mt(e, t) {
+        return (mt =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      lt.defaultProps = { className: "" };
+      var gt = (function (e) {
+        function t(e) {
+          var n;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            ((n = pt(this, ht(t).call(this, e))).updateColor = function (e) {
+              n.props.onChange(e);
+            }),
+            (n.onChange = function (e) {
+              var t = Ue()(e.currentTarget.value);
+              n.setState({ value: e.currentTarget.value }),
+                t.isValid() && n.updateColor(t.toString());
+            }),
+            (n.onBlur = function () {
+              Ue()(n.state.value).isValid() ||
+                n.setState({ value: n.props.color });
+            }),
+            (n.state = { previousColor: e.color, value: e.color }),
+            (n.updateColor = He()(n.updateColor, 100)),
+            n
+          );
+        }
+        var n, r, o;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && mt(e, t);
+          })(t, e),
+          (n = t),
+          (o = [
+            {
+              key: "getDerivedStateFromProps",
+              value: function (e, t) {
+                var n = Ue()(e.color);
+                return n.isValid() && e.color !== t.previousColor
+                  ? ut({}, t, { previousColor: e.color, value: n.toString() })
+                  : t;
+              },
+            },
+          ]),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e = this.state.value;
+                return a.a.createElement(
+                  "div",
+                  { style: ut({ display: "flex" }, this.props.style) },
+                  a.a.createElement("div", {
+                    style: {
+                      background: this.props.color,
+                      width: "35px",
+                      height: "35px",
+                      flexGrow: 0,
+                      borderRadius: "3px 0 0 3px",
+                    },
+                  }),
+                  a.a.createElement(
+                    "div",
+                    { style: { flexGrow: 1 } },
+                    a.a.createElement(lt, {
+                      className: "gf-form-input",
+                      value: e,
+                      onChange: this.onChange,
+                      onBlur: this.onBlur,
+                    })
+                  )
+                );
+              },
+            },
+          ]) && dt(n.prototype, r),
+          o && dt(n, o),
+          t
+        );
+      })(a.a.PureComponent);
+      function bt(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function vt(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? bt(Object(n), !0).forEach(function (t) {
+                yt(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : bt(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function yt(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var wt = function (e) {
+        var t = e.theme,
+          n = e.direction,
+          r = {
+            picker: {
+              width: "16px",
+              height: "16px",
+              transform:
+                "vertical" === n ? "translate(0, -8px)" : "translate(-8px, 0)",
+            },
+          },
+          o = Object(Ne.a)(
+            { light: t.colors.dark3, dark: t.colors.gray2 },
+            t.type
+          ),
+          i = {
+            position: "absolute",
+            left: "6px",
+            width: "0",
+            height: "0",
+            borderStyle: "solid",
+            background: "none",
+          },
+          l = {
+            top: "-7px",
+            borderWidth: "6px 3px 0px 3px",
+            borderColor: "".concat(o, " transparent transparent transparent"),
+          },
+          s = {
+            bottom: "-7px",
+            borderWidth: "0px 3px 6px 3px",
+            borderColor: " transparent transparent ".concat(o, " transparent"),
+          };
+        return (
+          "vertical" === n &&
+            ((i = vt({}, i, { left: "auto" })),
+            (l = {
+              borderWidth: "3px 0px 3px 6px",
+              borderColor: "transparent transparent transparent ".concat(o),
+              left: "-7px",
+              top: "7px",
+            }),
+            (s = {
+              borderWidth: "3px 6px 3px 0px",
+              borderColor: "transparent ".concat(o, " transparent transparent"),
+              right: "-7px",
+              top: "7px",
+            })),
+          a.a.createElement(
+            "div",
+            { style: r.picker },
+            a.a.createElement("div", { style: vt({}, i, {}, l) }),
+            a.a.createElement("div", { style: vt({}, i, {}, s) })
+          )
+        );
+      };
+      function Ot() {
+        return (Ot =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      var xt = function (e) {
+          return function (t) {
+            return a.a.createElement(wt, Ot({}, t, { theme: e }));
+          };
+        },
+        kt = Object(Be.CustomPicker)(function (e) {
+          var t = e.rgb,
+            n = e.hsl,
+            r = e.onChange,
+            o = e.theme;
+          return a.a.createElement(
+            "div",
+            {
+              style: {
+                display: "flex",
+                width: "100%",
+                flexDirection: "column",
+              },
+            },
+            a.a.createElement(
+              "div",
+              { style: { display: "flex" } },
+              a.a.createElement(
+                "div",
+                {
+                  style: {
+                    display: "flex",
+                    flexGrow: 1,
+                    flexDirection: "column",
+                  },
+                },
+                a.a.createElement(
+                  "div",
+                  {
+                    style: {
+                      position: "relative",
+                      height: "100px",
+                      width: "100%",
+                    },
+                  },
+                  a.a.createElement($e.Saturation, {
+                    onChange: r,
+                    hsl: n,
+                    hsv: Ue()(n).toHsv(),
+                  })
+                ),
+                a.a.createElement(
+                  "div",
+                  {
+                    style: {
+                      width: "100%",
+                      height: "16px",
+                      marginTop: "16px",
+                      position: "relative",
+                      background: "white",
+                    },
+                  },
+                  a.a.createElement($e.Alpha, {
+                    rgb: t,
+                    hsl: n,
+                    a: t.a,
+                    onChange: r,
+                    pointer: xt(o),
+                  })
+                )
+              ),
+              a.a.createElement(
+                "div",
+                {
+                  style: {
+                    position: "relative",
+                    width: "16px",
+                    height: "100px",
+                    marginLeft: "16px",
+                  },
+                },
+                a.a.createElement($e.Hue, {
+                  onChange: r,
+                  hsl: n,
+                  direction: "vertical",
+                  pointer: xt(o),
+                })
+              )
+            )
+          );
+        }),
+        jt = function (e) {
+          var t = e.color,
+            n = e.onChange,
+            r = e.theme;
+          return a.a.createElement(
+            "div",
+            null,
+            a.a.createElement(kt, {
+              color: Ue()(Object(Pe.getColorFromHexRgbOrName)(t)).toRgb(),
+              onChange: function (e) {
+                n(Ue()(e.rgb).toString());
+              },
+              theme: r,
+            }),
+            a.a.createElement(gt, {
+              theme: r,
+              color: t,
+              onChange: n,
+              style: { marginTop: "16px" },
+            })
+          );
+        };
+      function St(e) {
+        return (St =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Et(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Ct(e, t) {
+        return !t || ("object" !== St(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Pt(e) {
+        return (Pt = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Tt(e, t) {
+        return (Tt =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Dt = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = Ct(this, Pt(t).call(this, e))).getTabClassName = function (
+                e
+              ) {
+                var t = n.state.activePicker;
+                return "ColorPickerPopover__tab ".concat(
+                  t === e && "ColorPickerPopover__tab--active"
+                );
+              }),
+              (n.handleChange = function (e) {
+                var t = n.props,
+                  r = t.onColorChange,
+                  a = t.onChange,
+                  o = t.enableNamedColors,
+                  i = t.theme,
+                  l = r || a;
+                if (o) return l(e);
+                l(Object(Pe.getColorFromHexRgbOrName)(e, i.type));
+              }),
+              (n.onTabChange = function (e) {
+                return function () {
+                  return n.setState({ activePicker: e });
+                };
+              }),
+              (n.renderPicker = function () {
+                var e = n.state.activePicker,
+                  t = n.props,
+                  r = t.color,
+                  o = t.theme;
+                switch (e) {
+                  case "spectrum":
+                    return a.a.createElement(jt, {
+                      color: r,
+                      onChange: n.handleChange,
+                      theme: o,
+                    });
+                  case "palette":
+                    return a.a.createElement(Ve, {
+                      color: Object(Pe.getColorName)(r, o.type),
+                      onChange: n.handleChange,
+                      theme: o,
+                    });
+                  default:
+                    return n.renderCustomPicker(e);
+                }
+              }),
+              (n.renderCustomPicker = function (e) {
+                var t = n.props,
+                  r = t.customPickers,
+                  o = t.color,
+                  i = t.theme;
+                return r
+                  ? a.a.createElement(r[e].tabComponent, {
+                      color: o,
+                      theme: i,
+                      onChange: n.handleChange,
+                    })
+                  : null;
+              }),
+              (n.renderCustomPickerTabs = function () {
+                var e = n.props.customPickers;
+                return e
+                  ? a.a.createElement(
+                      a.a.Fragment,
+                      null,
+                      Object.keys(e).map(function (t) {
+                        return a.a.createElement(
+                          "div",
+                          {
+                            className: n.getTabClassName(t),
+                            onClick: n.onTabChange(t),
+                            key: t,
+                          },
+                          e[t].name
+                        );
+                      })
+                    )
+                  : null;
+              }),
+              (n.state = { activePicker: "palette" }),
+              (function (e, t) {
+                t.onColorChange &&
+                  Object(Pe.deprecationWarning)(e, "onColorChange", "onChange");
+              })("ColorPickerPopover", e),
+              n
+            );
+          }
+          var n, r, o;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Tt(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props.theme.type || Pe.GrafanaThemeType.Dark;
+                  return a.a.createElement(
+                    "div",
+                    {
+                      className: "ColorPickerPopover ColorPickerPopover--".concat(
+                        e
+                      ),
+                    },
+                    a.a.createElement(
+                      "div",
+                      { className: "ColorPickerPopover__tabs" },
+                      a.a.createElement(
+                        "div",
+                        {
+                          className: this.getTabClassName("palette"),
+                          onClick: this.onTabChange("palette"),
+                        },
+                        "Colors"
+                      ),
+                      a.a.createElement(
+                        "div",
+                        {
+                          className: this.getTabClassName("spectrum"),
+                          onClick: this.onTabChange("spectrum"),
+                        },
+                        "Custom"
+                      ),
+                      this.renderCustomPickerTabs()
+                    ),
+                    a.a.createElement(
+                      "div",
+                      { className: "ColorPickerPopover__content" },
+                      this.renderPicker()
+                    )
+                  );
+                },
+              },
+            ]) && Et(n.prototype, r),
+            o && Et(n, o),
+            t
+          );
+        })(a.a.Component),
+        At = n("mNz5"),
+        _t = n.n(At);
+      function Nt(e) {
+        return (Nt =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Mt(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function It(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Rt(e, t) {
+        return !t || ("object" !== Nt(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Ft(e) {
+        return (Ft = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Lt(e, t) {
+        return (Lt =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Vt = (function (e) {
+          function t() {
+            var e, n;
+            Mt(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = Rt(
+                this,
+                (e = Ft(t)).call.apply(e, [this].concat(a))
+              )).state = { id: _t()() }),
+              (n.internalOnChange = function (e) {
+                e.stopPropagation(), n.props.onChange(e);
+              }),
+              n
+            );
+          }
+          var n, r, o;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Lt(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.labelClass,
+                    n = void 0 === t ? "" : t,
+                    r = e.switchClass,
+                    o = void 0 === r ? "" : r,
+                    i = e.label,
+                    l = e.checked,
+                    s = e.transparent,
+                    c = e.className,
+                    u = e.tooltip,
+                    f = e.tooltipPlacement,
+                    d = this.state.id,
+                    p = "gf-form-label "
+                      .concat(n, " ")
+                      .concat(
+                        s ? "gf-form-label--transparent" : "",
+                        " pointer"
+                      ),
+                    h = "gf-form-switch "
+                      .concat(o, " ")
+                      .concat(s ? "gf-form-switch--transparent" : "");
+                  return a.a.createElement(
+                    "div",
+                    { className: "gf-form-switch-container-react" },
+                    a.a.createElement(
+                      "label",
+                      {
+                        htmlFor: d,
+                        className: "gf-form gf-form-switch-container ".concat(
+                          c || ""
+                        ),
+                      },
+                      i &&
+                        a.a.createElement(
+                          "div",
+                          { className: p },
+                          i,
+                          u &&
+                            a.a.createElement(
+                              P.b,
+                              {
+                                placement: f || "auto",
+                                content: u,
+                                theme: "info",
+                              },
+                              a.a.createElement(
+                                "div",
+                                {
+                                  className:
+                                    "gf-form-help-icon gf-form-help-icon--right-normal",
+                                },
+                                a.a.createElement("i", {
+                                  className: "fa fa-info-circle",
+                                })
+                              )
+                            )
+                        ),
+                      a.a.createElement(
+                        "div",
+                        { className: h },
+                        a.a.createElement("input", {
+                          id: d,
+                          type: "checkbox",
+                          checked: l,
+                          onChange: this.internalOnChange,
+                        }),
+                        a.a.createElement("span", {
+                          className: "gf-form-switch__slider",
+                        })
+                      )
+                    )
+                  );
+                },
+              },
+            ]) && It(n.prototype, r),
+            o && It(n, o),
+            t
+          );
+        })(r.PureComponent),
+        Bt = n("Fts8");
+      function $t(e) {
+        return ($t =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function qt(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Ut(e) {
+        return (Ut = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function zt(e) {
+        if (void 0 === e)
+          throw new ReferenceError(
+            "this hasn't been initialised - super() hasn't been called"
+          );
+        return e;
+      }
+      function Ht(e, t) {
+        return (Ht =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      function Gt() {
+        return (Gt =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function Wt(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      var Qt = function (e) {
+          var t = e.yaxis,
+            n = e.onToggleAxis,
+            r = e.color,
+            o = Wt(e, ["yaxis", "onToggleAxis", "color"]);
+          return a.a.createElement(
+            Dt,
+            Gt({}, o, {
+              color: r || "#000000",
+              customPickers: {
+                yaxis: {
+                  name: "Y-Axis",
+                  tabComponent: function () {
+                    return a.a.createElement(Vt, {
+                      key: "yaxisSwitch",
+                      label: "Use right y-axis",
+                      className: "ColorPicker__axisSwitch",
+                      labelClass: "ColorPicker__axisSwitchLabel",
+                      checked: 2 === t,
+                      onChange: function () {
+                        n && n();
+                      },
+                    });
+                  },
+                },
+              },
+            })
+          );
+        },
+        Yt = (a.a.PureComponent, Object(Bt.d)(Qt)),
+        Kt = Object(r.forwardRef)(function (e, t) {
+          return a.a.createElement(
+            "div",
+            {
+              ref: t,
+              onClick: e.onClick,
+              onMouseLeave: e.onMouseLeave,
+              style: {
+                overflow: "hidden",
+                background: "inherit",
+                border: "none",
+                color: "inherit",
+                padding: 0,
+                borderRadius: 10,
+                cursor: "pointer",
+              },
+            },
+            a.a.createElement(
+              "div",
+              {
+                style: {
+                  position: "relative",
+                  width: 15,
+                  height: 15,
+                  border: "none",
+                  margin: 0,
+                  float: "left",
+                  zIndex: 0,
+                  backgroundImage:
+                    "url(data:image/png,base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)",
+                },
+              },
+              a.a.createElement("div", {
+                style: {
+                  backgroundColor: e.color,
+                  display: "block",
+                  position: "absolute",
+                  top: 0,
+                  left: 0,
+                  bottom: 0,
+                  right: 0,
+                },
+              })
+            )
+          );
+        });
+      function Jt(e) {
+        return (Jt =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Zt() {
+        return (Zt =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function Xt(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function en(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? Xt(Object(n), !0).forEach(function (t) {
+                tn(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : Xt(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function tn(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function nn(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function rn(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function an(e, t, n) {
+        return t && rn(e.prototype, t), n && rn(e, n), e;
+      }
+      function on(e, t) {
+        return !t || ("object" !== Jt(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function ln(e) {
+        return (ln = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function sn(e, t) {
+        if ("function" != typeof t && null !== t)
+          throw new TypeError(
+            "Super expression must either be null or a function"
+          );
+        (e.prototype = Object.create(t && t.prototype, {
+          constructor: { value: e, writable: !0, configurable: !0 },
+        })),
+          t && cn(e, t);
+      }
+      function cn(e, t) {
+        return (cn =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var un = function (e) {
+          var t,
+            n,
+            o =
+              arguments.length > 1 && void 0 !== arguments[1]
+                ? arguments[1]
+                : "ColorPicker";
+          return (
+            (n = t = (function (t) {
+              function n() {
+                var e, t;
+                nn(this, n);
+                for (
+                  var a = arguments.length, o = new Array(a), i = 0;
+                  i < a;
+                  i++
+                )
+                  o[i] = arguments[i];
+                return (
+                  ((t = on(
+                    this,
+                    (e = ln(n)).call.apply(e, [this].concat(o))
+                  )).pickerTriggerRef = Object(r.createRef)()),
+                  (t.onColorChange = function (e) {
+                    var n = t.props,
+                      r = n.onColorChange,
+                      a = n.onChange;
+                    return (r || a)(e);
+                  }),
+                  t
+                );
+              }
+              return (
+                sn(n, t),
+                an(n, [
+                  {
+                    key: "render",
+                    value: function () {
+                      var t = this,
+                        n = this.props,
+                        r = n.theme,
+                        o = n.children,
+                        i = a.a.createElement(
+                          e,
+                          en({}, ye()(this.props, "children"), {
+                            onChange: this.onColorChange,
+                          })
+                        );
+                      return a.a.createElement(
+                        T.a,
+                        { content: i, hideAfter: 300 },
+                        function (e, n, i) {
+                          return a.a.createElement(
+                            a.a.Fragment,
+                            null,
+                            t.pickerTriggerRef.current &&
+                              a.a.createElement(
+                                D.a,
+                                Zt({}, i, {
+                                  referenceElement: t.pickerTriggerRef.current,
+                                  wrapperClassName: "ColorPicker",
+                                  onMouseLeave: n,
+                                  onMouseEnter: e,
+                                })
+                              ),
+                            o
+                              ? o({
+                                  ref: t.pickerTriggerRef,
+                                  showColorPicker: e,
+                                  hideColorPicker: n,
+                                })
+                              : a.a.createElement(Kt, {
+                                  ref: t.pickerTriggerRef,
+                                  onClick: e,
+                                  onMouseLeave: n,
+                                  color: Object(Pe.getColorFromHexRgbOrName)(
+                                    t.props.color || "#000000",
+                                    r.type
+                                  ),
+                                })
+                          );
+                        }
+                      );
+                    },
+                  },
+                ]),
+                n
+              );
+            })(r.Component)),
+            (t.displayName = o),
+            n
+          );
+        },
+        fn = Object(Bt.d)(un(Dt, "ColorPicker")),
+        dn = Object(Bt.d)(un(Qt, "SeriesColorPicker")),
+        pn = function (e) {
+          return a.a.createElement(
+            "div",
+            { className: "panel-options-group" },
+            e.onAdd
+              ? a.a.createElement(
+                  "div",
+                  { className: "panel-options-group__header" },
+                  a.a.createElement(
+                    "button",
+                    {
+                      className: "panel-options-group__add-btn",
+                      onClick: e.onAdd,
+                    },
+                    a.a.createElement(
+                      "div",
+                      { className: "panel-options-group__add-circle" },
+                      a.a.createElement("i", { className: "fa fa-plus" })
+                    ),
+                    a.a.createElement(
+                      "span",
+                      { className: "panel-options-group__title" },
+                      e.title
+                    )
+                  )
+                )
+              : e.title &&
+                  a.a.createElement(
+                    "div",
+                    { className: "panel-options-group__header" },
+                    a.a.createElement(
+                      "span",
+                      { className: "panel-options-group__title" },
+                      e.title
+                    ),
+                    e.onClose &&
+                      a.a.createElement(
+                        "button",
+                        { className: "btn btn-link", onClick: e.onClose },
+                        a.a.createElement("i", { className: "fa fa-remove" })
+                      )
+                  ),
+            e.children &&
+              a.a.createElement(
+                "div",
+                { className: "panel-options-group__body" },
+                e.children
+              )
+          );
+        },
+        hn = function (e) {
+          var t = e.children;
+          return a.a.createElement(
+            "div",
+            { className: "panel-options-grid" },
+            t
+          );
+        };
+      function mn(e) {
+        return (mn =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function gn(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function bn(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? gn(Object(n), !0).forEach(function (t) {
+                vn(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : gn(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function vn(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function yn(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function wn(e, t) {
+        return !t || ("object" !== mn(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function On(e) {
+        return (On = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function xn(e, t) {
+        return (xn =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var kn = [
+          { value: Pe.MappingType.ValueToText, label: "Value" },
+          { value: Pe.MappingType.RangeToText, label: "Range" },
+        ],
+        jn = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = wn(
+                this,
+                On(t).call(this, e)
+              )).onMappingValueChange = function (e) {
+                n.setState({ value: e.target.value });
+              }),
+              (n.onMappingFromChange = function (e) {
+                n.setState({ from: e.target.value });
+              }),
+              (n.onMappingToChange = function (e) {
+                n.setState({ to: e.target.value });
+              }),
+              (n.onMappingTextChange = function (e) {
+                n.setState({ text: e.target.value });
+              }),
+              (n.onMappingTypeChange = function (e) {
+                n.setState({ type: e });
+              }),
+              (n.updateMapping = function () {
+                n.props.updateValueMapping(bn({}, n.state));
+              }),
+              (n.state = bn({}, e.valueMapping)),
+              n
+            );
+          }
+          var n, r, o;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && xn(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "renderRow",
+                value: function () {
+                  var e = this.state,
+                    t = e.from,
+                    n = e.text,
+                    r = e.to,
+                    o = e.type,
+                    i = e.value;
+                  return o === Pe.MappingType.RangeToText
+                    ? a.a.createElement(
+                        a.a.Fragment,
+                        null,
+                        a.a.createElement(be, {
+                          label: "From",
+                          labelWidth: 4,
+                          inputWidth: 8,
+                          onBlur: this.updateMapping,
+                          onChange: this.onMappingFromChange,
+                          value: t,
+                        }),
+                        a.a.createElement(be, {
+                          label: "To",
+                          labelWidth: 4,
+                          inputWidth: 8,
+                          onBlur: this.updateMapping,
+                          onChange: this.onMappingToChange,
+                          value: r,
+                        }),
+                        a.a.createElement(
+                          "div",
+                          { className: "gf-form gf-form--grow" },
+                          a.a.createElement(he, { width: 4 }, "Text"),
+                          a.a.createElement(lt, {
+                            className: "gf-form-input",
+                            onBlur: this.updateMapping,
+                            value: n,
+                            onChange: this.onMappingTextChange,
+                          })
+                        )
+                      )
+                    : a.a.createElement(
+                        a.a.Fragment,
+                        null,
+                        a.a.createElement(be, {
+                          label: "Value",
+                          labelWidth: 4,
+                          onBlur: this.updateMapping,
+                          onChange: this.onMappingValueChange,
+                          value: i,
+                          inputWidth: 8,
+                        }),
+                        a.a.createElement(
+                          "div",
+                          { className: "gf-form gf-form--grow" },
+                          a.a.createElement(he, { width: 4 }, "Text"),
+                          a.a.createElement(lt, {
+                            className: "gf-form-input",
+                            onBlur: this.updateMapping,
+                            value: n,
+                            onChange: this.onMappingTextChange,
+                          })
+                        )
+                      );
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this,
+                    t = this.state.type;
+                  return a.a.createElement(
+                    "div",
+                    { className: "gf-form-inline" },
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form" },
+                      a.a.createElement(he, { width: 5 }, "Type"),
+                      a.a.createElement(z.b, {
+                        placeholder: "Choose type",
+                        isSearchable: !1,
+                        options: kn,
+                        value: kn.find(function (e) {
+                          return e.value === t;
+                        }),
+                        onChange: function (t) {
+                          return e.onMappingTypeChange(t.value);
+                        },
+                        width: 7,
+                      })
+                    ),
+                    this.renderRow(),
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form" },
+                      a.a.createElement(
+                        "button",
+                        {
+                          onClick: this.props.removeValueMapping,
+                          className: "gf-form-label gf-form-label--btn",
+                        },
+                        a.a.createElement("i", { className: "fa fa-times" })
+                      )
+                    )
+                  );
+                },
+              },
+            ]) && yn(n.prototype, r),
+            o && yn(n, o),
+            t
+          );
+        })(r.PureComponent);
+      function Sn(e) {
+        return (Sn =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function En(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Cn(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Pn(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function Tn(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Dn(e, t) {
+        return !t || ("object" !== Sn(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function An(e) {
+        return (An = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function _n(e, t) {
+        return (_n =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Nn,
+        Mn = (function (e) {
+          function t(e) {
+            var n;
+            !(function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+              ((n = Dn(this, An(t).call(this, e))).onAddMapping = function () {
+                return n.setState(function (e) {
+                  return {
+                    valueMappings: [].concat(Pn(e.valueMappings), [
+                      {
+                        id: e.nextIdToAdd,
+                        operator: "",
+                        value: "",
+                        text: "",
+                        type: Pe.MappingType.ValueToText,
+                        from: "",
+                        to: "",
+                      },
+                    ]),
+                    nextIdToAdd: e.nextIdToAdd + 1,
+                  };
+                });
+              }),
+              (n.onRemoveMapping = function (e) {
+                n.setState(
+                  function (t) {
+                    return {
+                      valueMappings: t.valueMappings.filter(function (t) {
+                        return t.id !== e;
+                      }),
+                    };
+                  },
+                  function () {
+                    n.props.onChange(n.state.valueMappings);
+                  }
+                );
+              }),
+              (n.updateGauge = function (e) {
+                n.setState(
+                  function (t) {
+                    return {
+                      valueMappings: t.valueMappings.map(function (t) {
+                        return t.id === e.id
+                          ? (function (e) {
+                              for (var t = 1; t < arguments.length; t++) {
+                                var n =
+                                  null != arguments[t] ? arguments[t] : {};
+                                t % 2
+                                  ? En(Object(n), !0).forEach(function (t) {
+                                      Cn(e, t, n[t]);
+                                    })
+                                  : Object.getOwnPropertyDescriptors
+                                  ? Object.defineProperties(
+                                      e,
+                                      Object.getOwnPropertyDescriptors(n)
+                                    )
+                                  : En(Object(n)).forEach(function (t) {
+                                      Object.defineProperty(
+                                        e,
+                                        t,
+                                        Object.getOwnPropertyDescriptor(n, t)
+                                      );
+                                    });
+                              }
+                              return e;
+                            })({}, e)
+                          : t;
+                      }),
+                    };
+                  },
+                  function () {
+                    n.props.onChange(n.state.valueMappings);
+                  }
+                );
+              });
+            var r = e.valueMappings || [];
+            return (
+              (n.state = {
+                valueMappings: r,
+                nextIdToAdd: r.length > 0 ? n.getMaxIdFromValueMappings(r) : 1,
+              }),
+              n
+            );
+          }
+          var n, r, o;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && _n(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "getMaxIdFromValueMappings",
+                value: function (e) {
+                  return (
+                    Math.max.apply(
+                      null,
+                      e
+                        .map(function (e) {
+                          return e.id;
+                        })
+                        .map(function (e) {
+                          return e;
+                        })
+                    ) + 1
+                  );
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this,
+                    t = this.state.valueMappings;
+                  return a.a.createElement(
+                    pn,
+                    { title: "Value mappings" },
+                    a.a.createElement(
+                      "div",
+                      null,
+                      t.length > 0 &&
+                        t.map(function (t, n) {
+                          return a.a.createElement(jn, {
+                            key: "".concat(t.text, "-").concat(n),
+                            valueMapping: t,
+                            updateValueMapping: e.updateGauge,
+                            removeValueMapping: function () {
+                              return e.onRemoveMapping(t.id);
+                            },
+                          });
+                        }),
+                      a.a.createElement(
+                        l.a,
+                        {
+                          variant: "inverse",
+                          icon: "fa fa-plus",
+                          onClick: this.onAddMapping,
+                        },
+                        "Add mapping"
+                      )
+                    )
+                  );
+                },
+              },
+            ]) && Tn(n.prototype, r),
+            o && Tn(n, o),
+            t
+          );
+        })(r.PureComponent),
+        In = function (e) {
+          var t = e.children;
+          return a.a.createElement(
+            "div",
+            { className: "empty-search-result" },
+            t
+          );
+        },
+        Rn = n("VphZ"),
+        Fn = n("0YDr"),
+        Ln = n.n(Fn);
+      function Vn(e) {
+        return (Vn =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Bn(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function $n(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function qn(e, t) {
+        return !t || ("object" !== Vn(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Un(e) {
+        return (Un = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function zn(e, t) {
+        return (zn =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      !(function (e) {
+        (e.PIE = "pie"), (e.DONUT = "donut");
+      })(Nn || (Nn = {}));
+      var Hn = (function (e) {
+        function t() {
+          return Bn(this, t), qn(this, Un(t).apply(this, arguments));
+        }
+        var n, r, o;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && zn(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "componentDidMount",
+              value: function () {
+                this.draw();
+              },
+            },
+            {
+              key: "componentDidUpdate",
+              value: function () {
+                this.draw();
+              },
+            },
+            {
+              key: "draw",
+              value: function () {
+                var e = this,
+                  t = this.props,
+                  n = t.values,
+                  r = t.pieType,
+                  a = t.strokeWidth;
+                if (0 !== n.length) {
+                  var o = n.map(function (e) {
+                      return e.numeric;
+                    }),
+                    i = n.map(function (e) {
+                      return Object(Pe.formattedValueToString)(e);
+                    }),
+                    l = n.map(function (e, t) {
+                      return e.color ? e.color : Ge.o[t % Ge.o.length];
+                    }),
+                    s = Ln()(o) || 1,
+                    c = o.map(function (e) {
+                      return (e / s) * 100;
+                    }),
+                    u = this.containerElement.offsetWidth,
+                    f = this.containerElement.offsetHeight,
+                    d = Math.min(u, f) / 2,
+                    p = d - d / 10,
+                    h = r === Nn.PIE ? 0 : d - d / 3,
+                    m = Object(Rn.select)(this.svgElement)
+                      .html("")
+                      .attr("width", u)
+                      .attr("height", f)
+                      .append("g")
+                      .attr(
+                        "transform",
+                        "translate(".concat(u / 2, ",").concat(f / 2, ")")
+                      ),
+                    g = Object(Rn.pie)(),
+                    b = Object(Rn.arc)()
+                      .outerRadius(p)
+                      .innerRadius(h)
+                      .padAngle(0);
+                  m.selectAll("path")
+                    .data(g(o))
+                    .enter()
+                    .append("path")
+                    .attr("d", b)
+                    .attr("fill", function (e, t) {
+                      return l[t];
+                    })
+                    .style("fill-opacity", 0.15)
+                    .style("stroke", function (e, t) {
+                      return l[t];
+                    })
+                    .style("stroke-width", "".concat(a, "px"))
+                    .on("mouseover", function (t, n) {
+                      Object(Rn.select)(e.tooltipElement).style("opacity", 1),
+                        Object(Rn.select)(e.tooltipValueElement).text(
+                          "".concat(i[n], " (").concat(c[n].toFixed(2), "%)")
+                        );
+                    })
+                    .on("mousemove", function () {
+                      Object(Rn.select)(e.tooltipElement)
+                        .style("top", "".concat(Rn.event.pageY - f / 2, "px"))
+                        .style("left", "".concat(Rn.event.pageX, "px"));
+                    })
+                    .on("mouseout", function () {
+                      Object(Rn.select)(e.tooltipElement).style("opacity", 0);
+                    });
+                }
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this,
+                  t = this.props,
+                  n = t.height,
+                  r = t.width;
+                return t.values.length > 0
+                  ? a.a.createElement(
+                      "div",
+                      { className: "piechart-panel" },
+                      a.a.createElement(
+                        "div",
+                        {
+                          ref: function (t) {
+                            return (e.containerElement = t);
+                          },
+                          className: "piechart-container",
+                          style: {
+                            height: "".concat(0.9 * n, "px"),
+                            width: "".concat(Math.min(r, 1.3 * n), "px"),
+                          },
+                        },
+                        a.a.createElement("svg", {
+                          ref: function (t) {
+                            return (e.svgElement = t);
+                          },
+                        })
+                      ),
+                      a.a.createElement(
+                        "div",
+                        {
+                          className: "piechart-tooltip",
+                          ref: function (t) {
+                            return (e.tooltipElement = t);
+                          },
+                        },
+                        a.a.createElement(
+                          "div",
+                          { className: "piechart-tooltip-time" },
+                          a.a.createElement("div", {
+                            id: "tooltip-value",
+                            className: "piechart-tooltip-value",
+                            ref: function (t) {
+                              return (e.tooltipValueElement = t);
+                            },
+                          })
+                        )
+                      )
+                    )
+                  : a.a.createElement(
+                      "div",
+                      { className: "piechart-panel" },
+                      a.a.createElement(
+                        "div",
+                        { className: "datapoints-warning" },
+                        a.a.createElement(
+                          "span",
+                          { className: "small" },
+                          "No data points"
+                        )
+                      )
+                    );
+              },
+            },
+          ]) && $n(n.prototype, r),
+          o && $n(n, o),
+          t
+        );
+      })(r.PureComponent);
+      function Gn(e) {
+        return (Gn =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Wn(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Qn(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Yn(e, t) {
+        return !t || ("object" !== Gn(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Kn(e) {
+        return (Kn = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Jn(e, t) {
+        return (Jn =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      function Zn(e) {
+        return "Custom unit: ".concat(e);
+      }
+      Hn.defaultProps = {
+        pieType: "pie",
+        format: "short",
+        stat: "current",
+        strokeWidth: 1,
+        theme: Pe.GrafanaThemeType.Dark,
+      };
+      var Xn = (function (e) {
+        function t() {
+          var e, n;
+          Wn(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = Yn(
+              this,
+              (e = Kn(t)).call.apply(e, [this].concat(a))
+            )).onChange = function (e) {
+              n.props.onChange(e.value);
+            }),
+            n
+          );
+        }
+        var n, r, o;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && Jn(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.value,
+                  n = e.width,
+                  r = e.useNewForms,
+                  o = void 0,
+                  i = Object(Pe.getValueFormats)().map(function (e) {
+                    var n = e.submenu.map(function (e) {
+                      var n = { label: e.text, value: e.value };
+                      return e.value === t && (o = n), n;
+                    });
+                    return r
+                      ? { label: e.text, value: e.text, items: n }
+                      : { label: e.text, options: n };
+                  });
+                return (
+                  t && !o && (o = { value: t, label: t }),
+                  r
+                    ? a.a.createElement(ce, {
+                        initialValue: o && o.label,
+                        allowCustomValue: !0,
+                        formatCreateLabel: Zn,
+                        options: i,
+                        placeholder: "Choose",
+                        onSelect: this.props.onChange,
+                      })
+                    : a.a.createElement(z.b, {
+                        width: n,
+                        defaultValue: o,
+                        isSearchable: !0,
+                        allowCustomValue: !0,
+                        formatCreateLabel: Zn,
+                        options: i,
+                        placeholder: "Choose",
+                        onChange: this.onChange,
+                      })
+                );
+              },
+            },
+          ]) && Qn(n.prototype, r),
+          o && Qn(n, o),
+          t
+        );
+      })(r.PureComponent);
+      Xn.defaultProps = { width: 12 };
+      var er = n("Z0cm"),
+        tr = n.n(er),
+        nr = n("zqxM"),
+        rr = n.n(nr);
+      function ar(e) {
+        return (ar =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function or(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function ir(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function lr(e, t) {
+        return !t || ("object" !== ar(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function sr(e) {
+        return (sr = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function cr(e, t) {
+        return (cr =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var ur = (function (e) {
+        function t() {
+          var e, n;
+          or(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = lr(
+              this,
+              (e = sr(t)).call.apply(e, [this].concat(a))
+            )).checkInput = function () {
+              var e = n.props,
+                t = e.stats,
+                r = e.allowMultiple,
+                a = e.defaultStat,
+                o = e.onChange,
+                i = Pe.fieldReducers.list(t);
+              if (i.length !== t.length) {
+                var l = i.map(function (e) {
+                    return e.id;
+                  }),
+                  s = rr()(t, l);
+                console.warn("Unknown stats", s, t),
+                  o(
+                    i.map(function (e) {
+                      return e.id;
+                    })
+                  );
+              }
+              !r &&
+                t.length > 1 &&
+                (console.warn("Removing extra stat", t), o([t[0]])),
+                a && t.length < 1 && o([a]);
+            }),
+            (n.onSelectionChange = function (e) {
+              var t = n.props.onChange;
+              tr()(e)
+                ? t(
+                    e.map(function (e) {
+                      return e.value;
+                    })
+                  )
+                : t(e.value ? [e.value] : []);
+            }),
+            n
+          );
+        }
+        var n, r, o;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && cr(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "componentDidMount",
+              value: function () {
+                this.checkInput();
+              },
+            },
+            {
+              key: "componentDidUpdate",
+              value: function (e) {
+                this.checkInput();
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.width,
+                  n = e.stats,
+                  r = e.allowMultiple,
+                  o = e.defaultStat,
+                  i = e.placeholder,
+                  l = Pe.fieldReducers.selectOptions(n);
+                return a.a.createElement(z.b, {
+                  width: t,
+                  value: l.current,
+                  isClearable: !o,
+                  isMulti: r,
+                  isSearchable: !0,
+                  options: l.options,
+                  placeholder: i,
+                  onChange: this.onSelectionChange,
+                });
+              },
+            },
+          ]) && ir(n.prototype, r),
+          o && ir(n, o),
+          t
+        );
+      })(r.PureComponent);
+      ur.defaultProps = { width: 12, allowMultiple: !1 };
+      var fr = n("8YUl"),
+        dr = n("3VL2"),
+        pr = n("+sk9"),
+        hr = n("kDLi"),
+        mr = n("4Qg+");
+      function gr() {
+        var e = yr([
+          "\n      .rc-time-picker-input {\n        background-color: ",
+          ";\n        border-radius: ",
+          ";\n        border-color: ",
+          ";\n        height: ",
+          ";\n\n        &:focus {\n          ",
+          "\n        }\n      }\n    ",
+        ]);
+        return (
+          (gr = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function br() {
+        var e = yr([
+          "\n      .rc-time-picker-panel-select {\n        font-size: 14px;\n        background-color: ",
+          ";\n        border-color: ",
+          ";\n        li {\n          outline-width: 2px;\n          &.rc-time-picker-panel-select-option-selected {\n            background-color: inherit;\n            border: 1px solid ",
+          ";\n            border-radius: ",
+          ";\n          }\n\n          &:hover {\n            background: ",
+          ";\n          }\n        }\n      }\n\n      .rc-time-picker-panel-inner {\n        box-shadow: 0px 4px 4px ",
+          ";\n        background-color: ",
+          ";\n        border-color: ",
+          ";\n        border-radius: ",
+          ";\n        margin-top: 3px;\n\n        .rc-time-picker-panel-input-wrap {\n          margin-right: 2px;\n\n          &,\n          .rc-time-picker-panel-input {\n            background-color: ",
+          ";\n            padding-top: 2px;\n          }\n        }\n      }\n    ",
+        ]);
+        return (
+          (br = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function vr() {
+        var e = yr([
+          "\n      position: absolute;\n      right: 8px;\n      top: 50%;\n      transform: translateY(-50%);\n      display: inline-block;\n      text-align: right;\n      z-index: 1071;\n    ",
+        ]);
+        return (
+          (vr = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function yr(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var wr = Object(i.g)(function (e) {
+          var t = Object(hr.selectThemeVariant)(
+              { light: e.colors.white, dark: e.colors.formInputBg },
+              e.type
+            ),
+            n = Object(hr.selectThemeVariant)(
+              { light: e.colors.gray4, dark: e.colors.black },
+              e.type
+            ),
+            r = Object(hr.selectThemeVariant)(
+              { light: e.colors.gray7, dark: e.colors.gray10 },
+              e.type
+            ),
+            a = e.border.radius.sm,
+            i = e.colors.formInputBorder;
+          return {
+            caretWrapper: Object(o.css)(vr()),
+            picker: Object(o.css)(
+              br(),
+              t,
+              i,
+              e.colors.orange,
+              a,
+              r,
+              n,
+              t,
+              i,
+              a,
+              t
+            ),
+            input: Object(o.css)(
+              gr(),
+              t,
+              a,
+              i,
+              e.spacing.formInputHeight,
+              Object(mr.a)(e)
+            ),
+          };
+        }),
+        Or = function (e) {
+          var t = e.minuteStep,
+            n = void 0 === t ? 1 : t,
+            r = e.showHour,
+            i = void 0 === r || r,
+            l = e.onChange,
+            s = e.value,
+            c = e.size,
+            u = void 0 === c ? "auto" : c,
+            f = Object(hr.useTheme)(),
+            d = wr(f);
+          return a.a.createElement(
+            "div",
+            null,
+            a.a.createElement(pr.a, {
+              className: Object(o.cx)(Object(mr.d)()[u], d.input),
+              popupClassName: d.picker,
+              defaultValue: Object(Pe.dateTimeAsMoment)(),
+              onChange: function (e) {
+                return l(Object(Pe.dateTime)(e));
+              },
+              allowEmpty: !1,
+              showSecond: !1,
+              value: Object(Pe.dateTimeAsMoment)(s),
+              showHour: i,
+              minuteStep: n,
+              inputIcon: a.a.createElement(xr, {
+                wrapperStyle: d.caretWrapper,
+              }),
+            })
+          );
+        },
+        xr = function (e) {
+          var t = e.wrapperStyle,
+            n = void 0 === t ? "" : t;
+          return a.a.createElement(
+            "div",
+            { className: n },
+            a.a.createElement(hr.Icon, { name: "caret-down" })
+          );
+        },
+        kr = n("Lrfw"),
+        jr = n("qQGB");
+      function Sr() {
+        var e = Pr(["\n        cursor: pointer;\n      "]);
+        return (
+          (Sr = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Er() {
+        var e = Pr(["\n      margin-right: 3px;\n    "]);
+        return (
+          (Er = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Cr() {
+        var e = Pr([
+          "\n      background-color: ",
+          ";\n      color: ",
+          ";\n      border: 1px solid ",
+          ";\n      border-radius: 3px;\n      padding: 3px 6px;\n      margin: 3px;\n      white-space: nowrap;\n      text-shadow: none;\n      font-weight: 500;\n      line-height: 14px;\n      display: flex;\n      align-items: center;\n    ",
+        ]);
+        return (
+          (Cr = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Pr(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var Tr = Object(i.g)(function (e) {
+          var t = e.theme,
+            n = e.name,
+            r = Object(Ge.p)(n),
+            a = r.color,
+            i = r.borderColor;
+          return {
+            itemStyle: Object(o.css)(Cr(), a, t.colors.white, i),
+            nameStyle: Object(o.css)(Er()),
+            removeStyle: Object(o.cx)(["fa fa-times", Object(o.css)(Sr())]),
+          };
+        }),
+        Dr = function (e) {
+          var t = e.name,
+            n = e.onRemove,
+            r = Object(i.h)(),
+            o = Tr({ theme: r, name: t });
+          return a.a.createElement(
+            "div",
+            { className: o.itemStyle },
+            a.a.createElement("span", { className: o.nameStyle }, t),
+            a.a.createElement("i", {
+              className: o.removeStyle,
+              onClick: function () {
+                return n(t);
+              },
+            })
+          );
+        };
+      function Ar(e) {
+        return (Ar =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function _r() {
+        var e = Ir(["\n              margin-bottom: 4px;\n            "]);
+        return (
+          (_r = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Nr() {
+        var e = Ir([
+          "\n        margin-left: 8px;\n        margin-top: 2px;\n      ",
+        ]);
+        return (
+          (Nr = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Mr() {
+        var e = Ir([
+          "\n        display: flex;\n        justify-content: flex-start;\n        flex-wrap: wrap;\n      ",
+        ]);
+        return (
+          (Mr = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Ir(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      function Rr(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function Fr(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Lr(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? Fr(Object(n), !0).forEach(function (t) {
+                Vr(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : Fr(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Vr(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Br(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function $r(e, t) {
+        return !t || ("object" !== Ar(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function qr(e) {
+        return (qr = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Ur(e, t) {
+        return (Ur =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var zr = (function (e) {
+        function t(e) {
+          var n;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            ((n = $r(this, qr(t).call(this, e))).onNameChange = function (e) {
+              n.setState({ newTag: e.target.value });
+            }),
+            (n.onRemove = function (e) {
+              n.setState(
+                function (t) {
+                  return Lr({}, t, {
+                    tags: t.tags.filter(function (t) {
+                      return e !== t;
+                    }),
+                  });
+                },
+                function () {
+                  return n.onChange();
+                }
+              );
+            }),
+            (n.onAdd = function (e) {
+              e.preventDefault(), "" !== n.state.newTag && n.setNewTags();
+            }),
+            (n.onKeyboardAdd = function (e) {
+              e.preventDefault(),
+                "Enter" === e.key && "" !== n.state.newTag && n.setNewTags();
+            }),
+            (n.setNewTags = function () {
+              n.state.tags.includes(n.state.newTag)
+                ? n.setState({ newTag: "" })
+                : n.setState(
+                    function (e) {
+                      return Lr({}, e, {
+                        tags: [].concat(Rr(e.tags), [e.newTag]),
+                        newTag: "",
+                      });
+                    },
+                    function () {
+                      return n.onChange();
+                    }
+                  );
+            }),
+            (n.onChange = function () {
+              n.props.onChange(n.state.tags);
+            }),
+            (n.state = { newTag: "", tags: n.props.tags || [] }),
+            n
+          );
+        }
+        var n, r, i;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && Ur(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e = this,
+                  t = this.state,
+                  n = t.tags,
+                  r = t.newTag,
+                  i = Object(jr.a)(function () {
+                    return {
+                      tagsCloudStyle: Object(o.css)(Mr()),
+                      addButtonStyle: Object(o.css)(Nr()),
+                    };
+                  });
+                return a.a.createElement(
+                  "div",
+                  { className: "width-20" },
+                  a.a.createElement(
+                    "div",
+                    {
+                      className: Object(o.cx)(
+                        ["gf-form-inline"],
+                        Object(o.css)(_r())
+                      ),
+                    },
+                    a.a.createElement(lt, {
+                      placeholder: "Add Name",
+                      onChange: this.onNameChange,
+                      value: r,
+                      onKeyUp: this.onKeyboardAdd,
+                    }),
+                    a.a.createElement(
+                      l.a,
+                      {
+                        className: i().addButtonStyle,
+                        onClick: this.onAdd,
+                        variant: "secondary",
+                        size: "md",
+                      },
+                      "Add"
+                    )
+                  ),
+                  a.a.createElement(
+                    "div",
+                    { className: i().tagsCloudStyle },
+                    n &&
+                      n.map(function (t, n) {
+                        return a.a.createElement(Dr, {
+                          key: "".concat(t, "-").concat(n),
+                          name: t,
+                          onRemove: e.onRemove,
+                        });
+                      })
+                  )
+                );
+              },
+            },
+          ]) && Br(n.prototype, r),
+          i && Br(n, i),
+          t
+        );
+      })(r.PureComponent);
+      function Hr() {
+        var e = Zr([
+          "\n      padding: calc(",
+          " * 2);\n      overflow: auto;\n      width: 100%;\n      max-height: calc(90vh - ",
+          " * 2);\n    ",
+        ]);
+        return (
+          (Hr = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Gr() {
+        var e = Zr([
+          "\n      margin-left: auto;\n      padding: 9px ",
+          ";\n    ",
+        ]);
+        return (
+          (Gr = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Wr() {
+        var e = Zr([
+          "\n      margin-right: ",
+          ";\n      font-size: inherit;\n      &:before {\n        vertical-align: baseline;\n      }\n    ",
+        ]);
+        return (
+          (Wr = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Qr() {
+        var e = Zr([
+          "\n      font-size: ",
+          ";\n      padding-top: ",
+          ";\n      margin: 0 ",
+          ";\n    ",
+        ]);
+        return (
+          (Qr = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Yr() {
+        var e = Zr([
+          "\n      background: ",
+          ";\n      box-shadow: ",
+          ";\n      border-bottom: 1px solid ",
+          ";\n      display: flex;\n    ",
+        ]);
+        return (
+          (Yr = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Kr() {
+        var e = Zr([
+          "\n      position: fixed;\n      top: 0;\n      right: 0;\n      bottom: 0;\n      left: 0;\n      z-index: ",
+          ";\n      background-color: ",
+          ";\n      opacity: 0.7;\n    ",
+        ]);
+        return (
+          (Kr = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Jr() {
+        var e = Zr([
+          "\n      position: fixed;\n      z-index: ",
+          ";\n      background: ",
+          ";\n      box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\n      background-clip: padding-box;\n      outline: none;\n      width: 750px;\n      max-width: 100%;\n      left: 0;\n      right: 0;\n      margin-left: auto;\n      margin-right: auto;\n      top: 10%;\n    ",
+        ]);
+        return (
+          (Jr = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Zr(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var Xr = Object(i.g)(function (e) {
+          var t = Object(i.e)(
+            { light: e.colors.bodyBg, dark: e.colors.gray25 },
+            e.type
+          );
+          return {
+            modal: Object(o.css)(Jr(), e.zIndex.modal, e.colors.pageBg),
+            modalBackdrop: Object(o.css)(Kr(), e.zIndex.modalBackdrop, t),
+            modalHeader: Object(o.css)(
+              Yr(),
+              e.background.pageHeader,
+              e.shadow.pageHeader,
+              e.colors.pageHeaderBorder
+            ),
+            modalHeaderTitle: Object(o.css)(
+              Qr(),
+              e.typography.heading.h3,
+              e.spacing.sm,
+              e.spacing.md
+            ),
+            modalHeaderIcon: Object(o.css)(Wr(), e.spacing.md),
+            modalHeaderClose: Object(o.css)(Gr(), e.spacing.d),
+            modalContent: Object(o.css)(Hr(), e.spacing.d, e.spacing.d),
+          };
+        }),
+        ea = function (e) {
+          var t = e.icon,
+            n = e.title,
+            o = e.children,
+            l = Object(r.useContext)(i.a),
+            s = Xr(l);
+          return a.a.createElement(
+            a.a.Fragment,
+            null,
+            a.a.createElement(
+              "h2",
+              { className: s.modalHeaderTitle },
+              t &&
+                a.a.createElement(Y.a, {
+                  name: t,
+                  className: s.modalHeaderIcon,
+                }),
+              n
+            ),
+            o
+          );
+        };
+      function ta(e) {
+        return (ta =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function na(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function ra(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function aa(e, t) {
+        return !t || ("object" !== ta(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function oa(e) {
+        return (oa = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function ia(e, t) {
+        return (ia =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var la = (function (e) {
+          function t() {
+            var e, n;
+            na(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = aa(
+                this,
+                (e = oa(t)).call.apply(e, [this].concat(a))
+              )).onDismiss = function () {
+                n.props.onDismiss && n.props.onDismiss();
+              }),
+              (n.onClickBackdrop = function () {
+                n.onDismiss();
+              }),
+              n
+            );
+          }
+          var n, r, i;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && ia(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "renderDefaultHeader",
+                value: function (e) {
+                  var t = this.props.icon;
+                  return a.a.createElement(ea, { icon: t, title: e });
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.title,
+                    n = e.isOpen,
+                    r = void 0 !== n && n,
+                    i = e.theme,
+                    l = e.className,
+                    s = Xr(i);
+                  return r
+                    ? a.a.createElement(
+                        A.a,
+                        null,
+                        a.a.createElement(
+                          "div",
+                          { className: Object(o.cx)(s.modal, l) },
+                          a.a.createElement(
+                            "div",
+                            { className: s.modalHeader },
+                            "string" == typeof t
+                              ? this.renderDefaultHeader(t)
+                              : t,
+                            a.a.createElement(
+                              "a",
+                              {
+                                className: s.modalHeaderClose,
+                                onClick: this.onDismiss,
+                              },
+                              a.a.createElement("i", {
+                                className: "fa fa-remove",
+                              })
+                            )
+                          ),
+                          a.a.createElement(
+                            "div",
+                            { className: s.modalContent },
+                            this.props.children
+                          )
+                        ),
+                        a.a.createElement("div", {
+                          className: s.modalBackdrop,
+                          onClick:
+                            this.props.onClickBackdrop || this.onClickBackdrop,
+                        })
+                      )
+                    : null;
+                },
+              },
+            ]) && ra(n.prototype, r),
+            i && ra(n, i),
+            t
+          );
+        })(a.a.PureComponent),
+        sa = Object(i.i)(la);
+      function ca() {
+        var e = da([
+          "\n    font-size: ",
+          ";\n    color: ",
+          ";\n    margin-bottom: calc(",
+          " * 2);\n    padding-top: ",
+          ";\n  ",
+        ]);
+        return (
+          (ca = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ua() {
+        var e = da(["\n    text-align: center;\n  "]);
+        return (
+          (ua = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function fa() {
+        var e = da(["\n    width: 500px;\n  "]);
+        return (
+          (fa = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function da(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var pa = Object(i.g)(function (e) {
+          return {
+            modal: Object(o.css)(fa()),
+            modalContent: Object(o.css)(ua()),
+            modalText: Object(o.css)(
+              ca(),
+              e.typography.heading.h4,
+              e.colors.link,
+              e.spacing.d,
+              e.spacing.d
+            ),
+          };
+        }),
+        ha = function (e) {
+          var t = e.isOpen,
+            n = e.title,
+            o = e.body,
+            s = e.confirmText,
+            c = e.dismissText,
+            u = void 0 === c ? "Cancel" : c,
+            f = e.icon,
+            d = e.onConfirm,
+            p = e.onDismiss,
+            h = Object(r.useContext)(i.a),
+            m = pa(h);
+          return a.a.createElement(
+            sa,
+            {
+              className: m.modal,
+              title: n,
+              icon: f || "exclamation-triangle",
+              isOpen: t,
+              onDismiss: p,
+            },
+            a.a.createElement(
+              "div",
+              { className: m.modalContent },
+              a.a.createElement("div", { className: m.modalText }, o),
+              a.a.createElement(
+                bv,
+                { justify: "center" },
+                a.a.createElement(l.a, { variant: "danger", onClick: d }, s),
+                a.a.createElement(l.a, { variant: "inverse", onClick: p }, u)
+              )
+            )
+          );
+        },
+        ma = n("LvDl"),
+        ga = n.n(ma),
+        ba = n("LBMm"),
+        va = n("mkUw"),
+        ya = n("CqUX");
+      function wa(e) {
+        return (wa =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Oa(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function xa(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function ka(e, t) {
+        return !t || ("object" !== wa(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function ja(e) {
+        return (ja = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Sa(e, t) {
+        return (Sa =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Ea = (function (e) {
+        function t(e, n) {
+          var r;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, t),
+            ((r = ka(this, ja(t).call(this, e, n))).lastExecutedValue = null),
+            (r.mounted = !1),
+            (r.editor = null),
+            (r.onChange = function (e, t) {
+              var n = e.document !== r.state.value.document,
+                a = r.state.value;
+              r.setState({ value: e }, function () {
+                if (n) {
+                  var o = va.a.serialize(a) !== va.a.serialize(e);
+                  o && t && r.runOnChangeAndRunQuery(),
+                    o && !t && r.runOnChangeDebounced();
+                }
+              });
+            }),
+            (r.runOnChange = function () {
+              var e = r.props.onChange;
+              e && e(va.a.serialize(r.state.value));
+            }),
+            (r.runOnRunQuery = function () {
+              var e = r.props.onRunQuery;
+              e && (e(), (r.lastExecutedValue = r.state.value));
+            }),
+            (r.runOnChangeAndRunQuery = function () {
+              r.runOnChange(), r.runOnRunQuery();
+            }),
+            (r.handleBlur = function (e, t, n) {
+              var a = r.props.onBlur;
+              a
+                ? a()
+                : (r.lastExecutedValue
+                    ? va.a.serialize(r.lastExecutedValue)
+                    : null) !== va.a.serialize(t.value) &&
+                  r.runOnChangeAndRunQuery();
+              return n();
+            }),
+            (r.runOnChangeDebounced = ga.a.debounce(r.runOnChange, 500));
+          var a = e.onTypeahead,
+            o = e.cleanText,
+            i = e.portalOrigin,
+            l = e.onWillApplySuggestion;
+          return (
+            (r.plugins = [
+              Object(ya.e)(),
+              Object(ya.i)({
+                onTypeahead: a,
+                cleanText: o,
+                portalOrigin: i,
+                onWillApplySuggestion: l,
+              }),
+              Object(ya.b)(),
+              Object(ya.f)({ handler: r.runOnChangeAndRunQuery }),
+              Object(ya.g)(),
+              Object(ya.d)(),
+              Object(ya.c)(),
+            ]
+              .concat(Oa(e.additionalPlugins || []))
+              .filter(function (e) {
+                return e;
+              })),
+            (r.state = {
+              suggestions: [],
+              typeaheadContext: null,
+              typeaheadPrefix: "",
+              typeaheadText: "",
+              value: Object(hr.makeValue)(e.query || "", e.syntax),
+            }),
+            r
+          );
+        }
+        var n, r, o;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && Sa(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "componentDidMount",
+              value: function () {
+                this.mounted = !0;
+              },
+            },
+            {
+              key: "componentWillUnmount",
+              value: function () {
+                this.mounted = !1;
+              },
+            },
+            {
+              key: "componentDidUpdate",
+              value: function (e, t) {
+                var n = this.props,
+                  r = n.query,
+                  a = n.syntax,
+                  o = this.state.value;
+                r !== e.query &&
+                  r !== va.a.serialize(o) &&
+                  this.setState({ value: Object(hr.makeValue)(r || "", a) });
+              },
+            },
+            {
+              key: "UNSAFE_componentWillReceiveProps",
+              value: function (e) {
+                if (e.syntaxLoaded && !this.props.syntaxLoaded) {
+                  if (!this.editor) return;
+                  var t = this.editor.insertText(" ").deleteBackward(1);
+                  this.onChange(t.value, !0);
+                }
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this,
+                  t = this.props.disabled,
+                  n = fe()("slate-query-field__wrapper", {
+                    "slate-query-field__wrapper--disabled": t,
+                  });
+                return a.a.createElement(
+                  "div",
+                  { className: n },
+                  a.a.createElement(
+                    "div",
+                    { className: "slate-query-field" },
+                    a.a.createElement(ba.a, {
+                      ref: function (t) {
+                        return (e.editor = t);
+                      },
+                      schema: hr.SCHEMA,
+                      autoCorrect: !1,
+                      readOnly: this.props.disabled,
+                      onBlur: this.handleBlur,
+                      onChange: function (t) {
+                        e.onChange(t.value, !1);
+                      },
+                      placeholder: this.props.placeholder,
+                      plugins: this.plugins,
+                      spellCheck: !1,
+                      value: this.state.value,
+                    })
+                  )
+                );
+              },
+            },
+          ]) && xa(n.prototype, r),
+          o && xa(n, o),
+          t
+        );
+      })(a.a.PureComponent);
+      function Ca() {
+        var e = Ta([
+          "\n      position: relative;\n      top: 1px;\n      display: flex;\n    ",
+        ]);
+        return (
+          (Ca = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Pa() {
+        var e = Ta(["\n        border-bottom: 1px solid ", ";\n      "]);
+        return (
+          (Pa = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Ta(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var Da = Object(i.g)(function (e) {
+          var t =
+              arguments.length > 1 && void 0 !== arguments[1] && arguments[1],
+            n = e.colors;
+          return {
+            tabsWrapper: !t && Object(o.css)(Pa(), n.pageHeaderBorder),
+            tabs: Object(o.css)(Ca()),
+          };
+        }),
+        Aa = a.a.forwardRef(function (e, t) {
+          var n = e.children,
+            r = e.className,
+            l = e.hideBorder,
+            s = Object(i.h)(),
+            c = Da(s, l);
+          return a.a.createElement(
+            "div",
+            { className: Object(o.cx)(c.tabsWrapper, r), ref: t },
+            a.a.createElement("ul", { className: c.tabs }, n)
+          );
+        });
+      function _a() {
+        var e = Ma([
+          "\n      border-color: ",
+          " ",
+          " transparent;\n      background: ",
+          ";\n      color: ",
+          ";\n      overflow: hidden;\n      cursor: not-allowed;\n\n      &::before {\n        display: block;\n        content: ' ';\n        position: absolute;\n        left: 0;\n        right: 0;\n        height: 2px;\n        top: 0;\n        background-image: linear-gradient(to right, #f05a28 30%, #fbca0a 99%);\n      }\n    ",
+        ]);
+        return (
+          (_a = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Na() {
+        var e = Ma([
+          "\n      list-style: none;\n      padding: 10px 15px 9px;\n      margin-right: ",
+          ";\n      position: relative;\n      display: block;\n      border: solid transparent;\n      border-width: 0 1px 1px;\n      border-radius: ",
+          " ",
+          " 0 0;\n      color: ",
+          ";\n      cursor: pointer;\n\n      i {\n        margin-right: ",
+          ";\n      }\n\n      .gicon {\n        position: relative;\n        top: -2px;\n      }\n\n      &:hover,\n      &:focus {\n        color: ",
+          ";\n      }\n    ",
+        ]);
+        return (
+          (Na = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Ma(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var Ia = Object(i.g)(function (e) {
+          var t = e.colors,
+            n = Object(i.e)({ dark: t.dark9, light: t.gray5 }, e.type);
+          return {
+            tabItem: Object(o.css)(
+              Na(),
+              e.spacing.md,
+              e.border.radius.md,
+              e.border.radius.md,
+              t.text,
+              e.spacing.sm,
+              t.linkHover
+            ),
+            activeStyle: Object(o.css)(_a(), t.orange, n, t.pageBg, t.link),
+          };
+        }),
+        Ra = function (e) {
+          var t = e.label,
+            n = e.active,
+            r = e.icon,
+            l = e.onChangeTab,
+            s = Object(i.h)(),
+            c = Ia(s);
+          return a.a.createElement(
+            "li",
+            {
+              className: Object(o.cx)(c.tabItem, n && c.activeStyle),
+              onClick: l,
+            },
+            r && a.a.createElement("i", { className: r }),
+            t
+          );
+        },
+        Fa = function (e) {
+          var t = e.icon,
+            n = e.title,
+            r = e.tabs,
+            o = e.activeTab,
+            i = e.onChangeTab;
+          return a.a.createElement(
+            ea,
+            { icon: t, title: n },
+            a.a.createElement(
+              Aa,
+              { hideBorder: !0 },
+              r.map(function (e, t) {
+                return a.a.createElement(Ra, {
+                  key: "".concat(e.value, "-").concat(t),
+                  label: e.label,
+                  icon: e.icon,
+                  active: e.value === o,
+                  onChangeTab: (function (e) {
+                    function t() {
+                      return e.apply(this, arguments);
+                    }
+                    return (
+                      (t.toString = function () {
+                        return e.toString();
+                      }),
+                      t
+                    );
+                  })(function () {
+                    return i(e);
+                  }),
+                });
+              })
+            )
+          );
+        },
+        La = function (e) {
+          var t,
+            n = e.icon,
+            r = e.iconClass,
+            o = e.children,
+            i = n || r;
+          return (
+            r && (t = a.a.createElement("i", { className: r })),
+            n && (t = a.a.createElement(Y.a, { name: n })),
+            a.a.createElement(
+              "div",
+              { className: "share-modal-body" },
+              a.a.createElement(
+                "div",
+                { className: "share-modal-header" },
+                i &&
+                  a.a.createElement(
+                    "div",
+                    { className: "share-modal-big-icon" },
+                    t
+                  ),
+                a.a.createElement(
+                  "div",
+                  { className: "share-modal-content" },
+                  o
+                )
+              )
+            )
+          );
+        };
+      function Va(e) {
+        return (Va =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Ba(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function $a(e, t) {
+        return !t || ("object" !== Va(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function qa(e) {
+        return (qa = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Ua(e, t) {
+        return (Ua =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var za = a.a.createContext({
+          component: null,
+          props: {},
+          showModal: function () {},
+          hideModal: function () {},
+        }),
+        Ha = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = $a(this, qa(t).call(this, e))).showModal = function (e, t) {
+                n.setState({ component: e, props: t });
+              }),
+              (n.hideModal = function () {
+                n.setState({ component: null, props: {} });
+              }),
+              (n.state = {
+                component: e.component || null,
+                props: e.props || {},
+                showModal: n.showModal,
+                hideModal: n.hideModal,
+              }),
+              n
+            );
+          }
+          var n, r, o;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Ua(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  return a.a.createElement(
+                    za.Provider,
+                    { value: this.state },
+                    this.props.children
+                  );
+                },
+              },
+            ]) && Ba(n.prototype, r),
+            o && Ba(n, o),
+            t
+          );
+        })(a.a.Component),
+        Ga = function () {
+          return a.a.createElement(za.Consumer, null, function (e) {
+            var t = e.component,
+              n = e.props;
+            return t ? a.a.createElement(t, n) : null;
+          });
+        },
+        Wa = za.Consumer,
+        Qa = n("K9Ia"),
+        Ya = n("F/XL"),
+        Ka = n("GDxn"),
+        Ja = n("xXU7"),
+        Za = n("15JJ"),
+        Xa = n("xMyE");
+      function eo(e) {
+        return (eo =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function to(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function no(e, t) {
+        return !t || ("object" !== eo(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function ro(e) {
+        return (ro = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function ao(e, t) {
+        return (ao =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var oo = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = no(this, ro(t).call(this, e))).propsSubject = new Qa.b()),
+              (n.subscription = null),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && ao(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value: function () {
+                  var e = this;
+                  (this.subscription = this.propsSubject
+                    .pipe(
+                      Object(Za.a)(function (e) {
+                        return fr.a.isLive(e.interval)
+                          ? Object(Ya.a)({})
+                          : e.loading
+                          ? Ka.a
+                          : Object(Ja.a)(Object(Pe.stringToMs)(e.interval));
+                      }),
+                      Object(Xa.a)(function () {
+                        return e.props.func();
+                      })
+                    )
+                    .subscribe()),
+                    this.propsSubject.next(this.props);
+                },
+              },
+              {
+                key: "componentDidUpdate",
+                value: function (e) {
+                  (fr.a.isLive(e.interval) &&
+                    fr.a.isLive(this.props.interval)) ||
+                    ga.a.isEqual(e, this.props) ||
+                    this.propsSubject.next(this.props);
+                },
+              },
+              {
+                key: "componentWillUnmount",
+                value: function () {
+                  this.subscription && this.subscription.unsubscribe(),
+                    this.propsSubject.unsubscribe();
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  return null;
+                },
+              },
+            ]) && to(n.prototype, r),
+            a && to(n, a),
+            t
+          );
+        })(r.PureComponent),
+        io = n("y13m"),
+        lo = n("iR1w"),
+        so = n("JlcV"),
+        co = n.n(so),
+        uo = function (e) {
+          var t = e.field,
+            n = e.cell,
+            r = e.tableStyles;
+          if (!t.display) return null;
+          var o = t.display(n.value);
+          return a.a.createElement(
+            "div",
+            { className: r.tableCell },
+            Object(Pe.formattedValueToString)(o)
+          );
+        },
+        fo = n("oetV");
+      var po = function (e) {
+        var t,
+          n,
+          r = e.value,
+          o = e.className,
+          i = e.style,
+          l = i.fontSize,
+          s = (function (e) {
+            return e < 20 ? 0.9 : e < 26 ? 0.8 : 0.6;
+          })(l),
+          c = (null !== (t = r.prefix) && void 0 !== t ? t : "").length > 0,
+          u = (null !== (n = r.suffix) && void 0 !== n ? n : "").length > 0;
+        return a.a.createElement(
+          "div",
+          { className: o, style: i },
+          a.a.createElement(
+            "div",
+            null,
+            c && a.a.createElement("span", null, r.prefix),
+            a.a.createElement("span", null, r.text),
+            u &&
+              a.a.createElement(
+                "span",
+                { style: { fontSize: l * s } },
+                r.suffix
+              )
+          )
+        );
+      };
+      po.displayName = "FormattedDisplayValue";
+      var ho = n("AZV9");
+      function mo(e) {
+        return (mo =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function go(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function bo(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function vo(e, t) {
+        return !t || ("object" !== mo(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function yo(e) {
+        return (yo = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function wo(e, t) {
+        return (wo =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Oo;
+      !(function (e) {
+        (e.Basic = "basic"), (e.Lcd = "lcd"), (e.Gradient = "gradient");
+      })(Oo || (Oo = {}));
+      var xo,
+        ko = (function (e) {
+          function t() {
+            return go(this, t), vo(this, yo(t).apply(this, arguments));
+          }
+          var n, r, o;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && wo(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e,
+                    t,
+                    n,
+                    r,
+                    o = this.props,
+                    i = o.onClick,
+                    l = o.className,
+                    s = this.props.value.title,
+                    c =
+                      ((e = this.props),
+                      (t = {
+                        display: "flex",
+                        overflow: "hidden",
+                        width: "100%",
+                      }),
+                      (n = So(e)),
+                      (r = {
+                        fontSize: "".concat(n.fontSize, "px"),
+                        whiteSpace: "nowrap",
+                        overflow: "hidden",
+                        textOverflow: "ellipsis",
+                        width: "100%",
+                        alignItems: "center",
+                        alignSelf: "center",
+                      }),
+                      jo(e.orientation)
+                        ? ((t.flexDirection = "column-reverse"),
+                          (r.textAlign = "center"))
+                        : "above" === n.placement
+                        ? (t.flexDirection = "column")
+                        : ((t.flexDirection = "row"),
+                          (r.width = "".concat(n.width, "px")),
+                          (r.textAlign = "right"),
+                          (r.paddingRight = "10px")),
+                      { wrapper: t, title: r });
+                  return s
+                    ? a.a.createElement(
+                        "div",
+                        { style: c.wrapper, onClick: i, className: l },
+                        a.a.createElement("div", { style: c.title }, s),
+                        this.renderBarAndValue()
+                      )
+                    : a.a.createElement(
+                        "div",
+                        { style: c.wrapper, onClick: i, className: l },
+                        this.renderBarAndValue()
+                      );
+                },
+              },
+              {
+                key: "renderBarAndValue",
+                value: function () {
+                  switch (this.props.displayMode) {
+                    case "lcd":
+                      return this.renderRetroBars();
+                    case "basic":
+                    case "gradient":
+                    default:
+                      return this.renderBasicAndGradientBars();
+                  }
+                },
+              },
+              {
+                key: "renderBasicAndGradientBars",
+                value: function () {
+                  var e = this.props,
+                    t = e.value,
+                    n = e.showUnfilled,
+                    r = (function (e) {
+                      var t = e.displayMode,
+                        n = e.field,
+                        r = e.value,
+                        a = e.alignmentFactors,
+                        o = e.orientation,
+                        i = e.theme,
+                        l = Eo(e),
+                        s = l.valueWidth,
+                        c = l.valueHeight,
+                        u = l.maxBarHeight,
+                        f = l.maxBarWidth,
+                        d = Co(r.numeric, n.min, n.max),
+                        p = To(e),
+                        h = Do(a || r, p, s, c, o),
+                        m = "basic" === t,
+                        g = { display: "flex", flexGrow: 1 },
+                        b = {
+                          borderRadius: "3px",
+                          position: "relative",
+                          zIndex: 1,
+                        },
+                        v = {
+                          background: "rgba(".concat(
+                            i.isDark ? "255,255,255" : "0,0,0",
+                            ", 0.07)"
+                          ),
+                          flexGrow: 1,
+                          display: "flex",
+                          borderRadius: "3px",
+                          position: "relative",
+                        };
+                      if (jo(o)) {
+                        var y = Math.max(d * u, 1);
+                        (g.flexDirection = "column"),
+                          (g.justifyContent = "flex-end"),
+                          (b.transition = "height 1s"),
+                          (b.height = "".concat(y, "px")),
+                          (b.width = "".concat(f, "px")),
+                          (v.bottom = "-3px"),
+                          m
+                            ? ((b.background = "".concat(
+                                Ue()(p).setAlpha(0.35).toRgbString()
+                              )),
+                              (b.borderTop = "2px solid ".concat(p)))
+                            : (b.background = Po(e, u));
+                      } else {
+                        var w = Math.max(d * f, 1);
+                        (g.flexDirection = "row-reverse"),
+                          (g.justifyContent = "flex-end"),
+                          (g.alignItems = "stretch"),
+                          (b.transition = "width 1s"),
+                          (b.height = "".concat(u, "px")),
+                          (b.width = "".concat(w, "px")),
+                          (v.left = "-3px"),
+                          m
+                            ? ((b.background = "".concat(
+                                Ue()(p).setAlpha(0.35).toRgbString()
+                              )),
+                              (b.borderRight = "2px solid ".concat(p)))
+                            : (b.background = Po(e, f));
+                      }
+                      return { wrapper: g, bar: b, value: h, emptyBar: v };
+                    })(this.props);
+                  return a.a.createElement(
+                    "div",
+                    { style: r.wrapper },
+                    a.a.createElement(po, {
+                      className: "bar-gauge__value",
+                      value: t,
+                      style: r.value,
+                    }),
+                    n && a.a.createElement("div", { style: r.emptyBar }),
+                    a.a.createElement("div", { style: r.bar })
+                  );
+                },
+              },
+              {
+                key: "getCellColor",
+                value: function (e) {
+                  var t = this.props,
+                    n = t.value,
+                    r = t.display;
+                  if (null === e) return { background: "gray", border: "gray" };
+                  var a = r ? r(e).color : null;
+                  return a
+                    ? null === n || (null !== e && e > n.numeric)
+                      ? {
+                          background: Ue()(a).setAlpha(0.18).toRgbString(),
+                          border: "transparent",
+                          isLit: !1,
+                        }
+                      : {
+                          background: Ue()(a).setAlpha(0.95).toRgbString(),
+                          backgroundShade: Ue()(a).setAlpha(0.55).toRgbString(),
+                          border: Ue()(a).setAlpha(0.9).toRgbString(),
+                          isLit: !0,
+                        }
+                    : { background: "gray", border: "gray" };
+                },
+              },
+              {
+                key: "renderRetroBars",
+                value: function () {
+                  var e = this.props,
+                    t = e.field,
+                    n = e.value,
+                    r = e.itemSpacing,
+                    o = e.alignmentFactors,
+                    i = e.orientation,
+                    l = e.lcdCellWidth,
+                    s = Eo(this.props),
+                    c = s.valueHeight,
+                    u = s.valueWidth,
+                    f = s.maxBarHeight,
+                    d = s.maxBarWidth,
+                    p = s.wrapperWidth,
+                    h = s.wrapperHeight,
+                    m = t.min,
+                    g = t.max,
+                    b = jo(i),
+                    v = g - m,
+                    y = b ? f : d,
+                    w = r,
+                    O = Math.floor(y / l),
+                    x = Math.floor((y - w * O) / O),
+                    k = Do(o || n, To(this.props), u, c, i),
+                    j = {
+                      width: "".concat(p, "px"),
+                      height: "".concat(h, "px"),
+                      display: "flex",
+                    };
+                  b
+                    ? ((j.flexDirection = "column-reverse"),
+                      (j.alignItems = "center"))
+                    : ((j.flexDirection = "row"),
+                      (j.alignItems = "center"),
+                      (k.justifyContent = "flex-end"));
+                  for (var S = [], E = 0; E < O; E++) {
+                    var C = m + (v / O) * E,
+                      P = this.getCellColor(C),
+                      T = { borderRadius: "2px" };
+                    P.isLit
+                      ? (T.backgroundImage = "radial-gradient("
+                          .concat(P.background, " 10%, ")
+                          .concat(P.backgroundShade, ")"))
+                      : (T.backgroundColor = P.background),
+                      b
+                        ? ((T.height = "".concat(x, "px")),
+                          (T.width = "".concat(d, "px")),
+                          (T.marginTop = "".concat(w, "px")))
+                        : ((T.width = "".concat(x, "px")),
+                          (T.height = "".concat(f, "px")),
+                          (T.marginRight = "".concat(w, "px"))),
+                      S.push(
+                        a.a.createElement("div", {
+                          key: E.toString(),
+                          style: T,
+                        })
+                      );
+                  }
+                  return a.a.createElement(
+                    "div",
+                    { style: j },
+                    S,
+                    a.a.createElement(po, {
+                      className: "bar-gauge__value",
+                      value: n,
+                      style: k,
+                    })
+                  );
+                },
+              },
+            ]) && bo(n.prototype, r),
+            o && bo(n, o),
+            t
+          );
+        })(r.PureComponent);
+      function jo(e) {
+        return e === Pe.VizOrientation.Vertical;
+      }
+      function So(e) {
+        var t = e.height,
+          n = e.width,
+          r = e.alignmentFactors,
+          a = e.orientation,
+          o = r ? r.title : e.value.title;
+        if (!o) return { fontSize: 0, width: 0, height: 0, placement: "above" };
+        if (jo(a))
+          return { fontSize: 14, width: n, height: 21, placement: "below" };
+        if (t > 40) {
+          var i = Math.max(Math.min(0.45 * t, 50), 17);
+          return { fontSize: i / 1.5, width: 0, height: i, placement: "above" };
+        }
+        var l = Math.max(0.6 * t, 18) / 1.5;
+        return {
+          fontSize: l,
+          height: 0,
+          width: Object(ho.b)(o, l).width + 15,
+          placement: "left",
+        };
+      }
+      function Eo(e) {
+        var t = e.height,
+          n = e.width,
+          r = e.orientation,
+          a = So(e),
+          o = 0,
+          i = 0,
+          l = 0,
+          s = 0,
+          c = 0,
+          u = 0;
+        return (
+          jo(r)
+            ? ((l = Math.min(Math.max(0.1 * t, 18), 50)),
+              (s = n),
+              (o = t - (a.height + l)),
+              (i = n),
+              (c = n),
+              (u = t - a.height))
+            : ((l = t - a.height),
+              (s = Math.max(Math.min(0.2 * n, 150), 50)),
+              (o = t - a.height),
+              (i = n - s - a.width),
+              "above" === a.placement
+                ? ((c = n), (u = t - a.height))
+                : ((c = n - a.width), (u = t))),
+          {
+            valueWidth: s,
+            valueHeight: l,
+            maxBarWidth: i,
+            maxBarHeight: o,
+            wrapperHeight: u,
+            wrapperWidth: c,
+          }
+        );
+      }
+      function Co(e, t, n) {
+        return Math.min((e - t) / (n - t), 1);
+      }
+      function Po(e, t) {
+        var n = e.field,
+          r = e.value,
+          a = jo(e.orientation) ? "0deg" : "90deg",
+          o = n.min,
+          i = n.max,
+          l = "",
+          s = 0;
+        if (n.color && n.color.mode === Pe.FieldColorMode.Scheme) {
+          var c = fo["scheme".concat(n.color.schemeName)];
+          if (!c) {
+            return (
+              (l = "linear-gradient("
+                .concat(a, ", ")
+                .concat("#F00", ", ")
+                .concat("#F00")),
+              (l += " ".concat(t, "px, ").concat("#F00")) + ")"
+            );
+          }
+          for (var u = c[c.length - 1], f = 0; f < u.length; f++) {
+            var d = u[f],
+              p = (f / (u.length - 1)) * t,
+              h = Math.round(p - (p - s) / 2);
+            "" === l
+              ? (l = "linear-gradient("
+                  .concat(a, ", ")
+                  .concat(d, ", ")
+                  .concat(d))
+              : ((s = p), (l += " ".concat(h, "px, ").concat(d)));
+          }
+        } else
+          for (var m = n.thresholds, g = 0; g < m.steps.length; g++) {
+            var b = m.steps[g],
+              v = Object(Pe.getColorFromHexRgbOrName)(b.color),
+              y = Co(b.value, o, i) * t,
+              w = Math.round(y - (y - s) / 2);
+            if ("" === l)
+              l = "linear-gradient(".concat(a, ", ").concat(v, ", ").concat(v);
+            else {
+              if (r.numeric < b.value) break;
+              (s = y), (l += " ".concat(w, "px, ").concat(v));
+            }
+          }
+        return l + ")";
+      }
+      function To(e) {
+        var t = e.theme,
+          n = e.value;
+        return n.color
+          ? n.color
+          : Object(Pe.getColorFromHexRgbOrName)("gray", t.type);
+      }
+      function Do(e, t, n, r, a) {
+        var o = {
+            color: t,
+            height: "".concat(r, "px"),
+            width: "".concat(n, "px"),
+            display: "flex",
+            alignItems: "center",
+            lineHeight: 1,
+          },
+          i = n,
+          l = Object(Pe.formattedValueToString)(e);
+        return (
+          jo(a)
+            ? ((o.fontSize = Object(ho.a)(l, i, r, 1)),
+              (o.justifyContent = "center"))
+            : ((o.fontSize = Object(ho.a)(l, i - 20, r, 1)),
+              (o.justifyContent = "flex-end"),
+              (o.paddingLeft = "".concat(10, "px")),
+              (o.paddingRight = "".concat(10, "px")),
+              (i -= 10),
+              (o.width = Object(ho.b)(l, o.fontSize).width + 20)),
+          o
+        );
+      }
+      function Ao(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function _o(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      (ko.defaultProps = {
+        lcdCellWidth: 12,
+        value: { text: "100", numeric: 100 },
+        displayMode: Oo.Gradient,
+        orientation: Pe.VizOrientation.Horizontal,
+        field: {
+          min: 0,
+          max: 100,
+          thresholds: { mode: Pe.ThresholdsMode.Absolute, steps: [] },
+        },
+        itemSpacing: 10,
+        showUnfilled: !0,
+      }),
+        (function (e) {
+          (e.Auto = "auto"),
+            (e.ColorText = "color-text"),
+            (e.ColorBackground = "color-background"),
+            (e.GradientGauge = "gradient-gauge"),
+            (e.LcdGauge = "lcd-gauge");
+        })(xo || (xo = {}));
+      var No = {
+          mode: Pe.ThresholdsMode.Absolute,
+          steps: [
+            { color: "blue", value: -1 / 0 },
+            { color: "green", value: 20 },
+          ],
+        },
+        Mo = function (e) {
+          var t = e.field,
+            n = e.column,
+            r = e.tableStyles,
+            o = e.cell;
+          if (!t.display) return null;
+          var i = t.config;
+          i.thresholds ||
+            (i = (function (e) {
+              for (var t = 1; t < arguments.length; t++) {
+                var n = null != arguments[t] ? arguments[t] : {};
+                t % 2
+                  ? Ao(Object(n), !0).forEach(function (t) {
+                      _o(e, t, n[t]);
+                    })
+                  : Object.getOwnPropertyDescriptors
+                  ? Object.defineProperties(
+                      e,
+                      Object.getOwnPropertyDescriptors(n)
+                    )
+                  : Ao(Object(n)).forEach(function (t) {
+                      Object.defineProperty(
+                        e,
+                        t,
+                        Object.getOwnPropertyDescriptor(n, t)
+                      );
+                    });
+              }
+              return e;
+            })({}, i, { thresholds: No }));
+          var l,
+            s = t.display(o.value),
+            c = Oo.Gradient;
+          return (
+            t.config.custom &&
+              t.config.custom.displayMode === xo.LcdGauge &&
+              (c = Oo.Lcd),
+            (l = n.width ? n.width - 2 * r.cellPadding : 2 * r.cellPadding),
+            a.a.createElement(
+              "div",
+              { className: r.tableCell },
+              a.a.createElement(ko, {
+                width: l,
+                height: r.cellHeightInner,
+                field: i,
+                value: s,
+                orientation: Pe.VizOrientation.Horizontal,
+                theme: r.theme,
+                itemSpacing: 1,
+                lcdCellWidth: 8,
+                displayMode: c,
+              })
+            )
+          );
+        },
+        Io = function (e) {
+          var t = e.cell,
+            n = e.tableStyles,
+            r = e.field;
+          if (!r.display) return null;
+          var o = n.theme.isDark ? 1 : -0.7,
+            i = r.display(t.value),
+            l = Ue()(i.color)
+              .darken(10 * o)
+              .spin(5)
+              .toRgbString(),
+            s = {
+              background: "linear-gradient(120deg, "
+                .concat(l, ", ")
+                .concat(i.color, ")"),
+              borderRadius: "0px",
+              color: "white",
+              height: n.cellHeight,
+              padding: n.cellPadding,
+            };
+          return a.a.createElement(
+            "div",
+            { style: s },
+            Object(Pe.formattedValueToString)(i)
+          );
+        };
+      function Ro(e) {
+        if (e.config.custom)
+          switch (e.config.custom.align) {
+            case "right":
+              return "right";
+            case "left":
+              return "left";
+            case "center":
+              return "center";
+          }
+        return e.type === Pe.FieldType.number ? "right" : "left";
+      }
+      function Fo(e) {
+        switch (e) {
+          case xo.ColorBackground:
+            return Io;
+          case xo.LcdGauge:
+          case xo.GradientGauge:
+            return Mo;
+          default:
+            return uo;
+        }
+      }
+      function Lo() {
+        var e = Uo([
+          "\n        padding: ",
+          "px 10px;\n        text-overflow: ellipsis;\n        white-space: nowrap;\n        overflow: hidden;\n      ",
+        ]);
+        return (
+          (Lo = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Vo() {
+        var e = Uo([
+          "\n        label: row;\n        border-bottom: 2px solid ",
+          ";\n      ",
+        ]);
+        return (
+          (Vo = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Bo() {
+        var e = Uo([
+          "\n        padding: ",
+          "px 10px;\n        cursor: pointer;\n        white-space: nowrap;\n        color: ",
+          ";\n      ",
+        ]);
+        return (
+          (Bo = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function $o() {
+        var e = Uo([
+          "\n        label: thead;\n        overflow-y: auto;\n        overflow-x: hidden;\n        background: ",
+          ";\n      ",
+        ]);
+        return (
+          ($o = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function qo() {
+        var e = Uo([
+          "\n        height: 100%;\n        width: 100%;\n        overflow: auto;\n        display: flex;\n      ",
+        ]);
+        return (
+          (qo = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Uo(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var zo = Object(i.g)(function (e) {
+        var t = e.colors,
+          n = Object(i.e)({ light: t.gray6, dark: t.dark7 }, e.type),
+          r = e.typography.lineHeight.md,
+          a = 12 + 14 * r;
+        return {
+          theme: e,
+          cellHeight: a,
+          cellPadding: 6,
+          cellHeightInner: 14 * r,
+          rowHeight: a + 2,
+          table: Object(o.css)(qo()),
+          thead: Object(o.css)($o(), n),
+          headerCell: Object(o.css)(Bo(), 6, t.blue),
+          row: Object(o.css)(Vo(), t.bodyBg),
+          tableCell: Object(o.css)(Lo(), 6),
+        };
+      });
+      function Ho() {
+        return (Ho =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      var Go = function (e) {
+        var t = e.cell,
+          n = e.field,
+          r = e.tableStyles,
+          o = e.onCellClick,
+          i = n.config.filterable,
+          l = t.getCellProps(),
+          s = void 0;
+        i &&
+          o &&
+          (l.style && (l.style.cursor = "pointer"),
+          (s = function () {
+            return o(t.column.Header, t.value);
+          }));
+        var c = Ro(n);
+        return (
+          c && l.style && (l.style.textAlign = c),
+          a.a.createElement(
+            "div",
+            Ho({}, l, { onClick: s }),
+            t.render("Cell", { field: n, tableStyles: r })
+          )
+        );
+      };
+      function Wo() {
+        return (Wo =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function Qo(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      var Yo = Object(r.memo)(function (e) {
+        var t,
+          n = e.data,
+          o = e.height,
+          l = e.onCellClick,
+          s = e.width,
+          c = e.columnMinWidth,
+          u = Object(i.h)(),
+          f = Qo(co()(), 2),
+          d = f[0],
+          p = f[1],
+          h = zo(u),
+          m = Object(io.c)(
+            {
+              columns: Object(r.useMemo)(
+                function () {
+                  return (function (e, t, n) {
+                    var r = [],
+                      a = e.fields.length,
+                      o = !0,
+                      i = !1,
+                      l = void 0;
+                    try {
+                      for (
+                        var s, c = e.fields[Symbol.iterator]();
+                        !(o = (s = c.next()).done);
+                        o = !0
+                      ) {
+                        var u = s.value,
+                          f = u.config.custom || {};
+                        f.width && ((t -= f.width), (a -= 1));
+                        var d = Fo(f.displayMode);
+                        r.push({
+                          Cell: d,
+                          Header: u.name,
+                          accessor: u.name,
+                          width: f.width,
+                        });
+                      }
+                    } catch (e) {
+                      (i = !0), (l = e);
+                    } finally {
+                      try {
+                        o || null == c.return || c.return();
+                      } finally {
+                        if (i) throw l;
+                      }
+                    }
+                    for (var p = t / a, h = 0, m = r; h < m.length; h++) {
+                      var g = m[h];
+                      g.width || (g.width = Math.max(p, n));
+                    }
+                    return r;
+                  })(n, s, null != c ? c : 150);
+                },
+                [n, s, c]
+              ),
+              data: Object(r.useMemo)(
+                function () {
+                  return (function (e) {
+                    for (var t = [], n = 0; n < e.length; n++) {
+                      for (var r = {}, a = 0; a < e.fields.length; a++) {
+                        r[e.fields[a].name] = e.fields[a].values.get(n);
+                      }
+                      t.push(r);
+                    }
+                    return t;
+                  })(n);
+                },
+                [n]
+              ),
+            },
+            io.b,
+            io.a
+          ),
+          g = m.getTableProps,
+          b = m.headerGroups,
+          v = m.rows,
+          y = m.prepareRow,
+          w = a.a.useCallback(
+            function (e) {
+              var t = e.index,
+                r = e.style,
+                o = v[t];
+              return (
+                y(o),
+                a.a.createElement(
+                  "div",
+                  Wo({}, o.getRowProps({ style: r }), { className: h.row }),
+                  o.cells.map(function (e, t) {
+                    return a.a.createElement(Go, {
+                      key: t,
+                      field: n.fields[e.column.index],
+                      tableStyles: h,
+                      cell: e,
+                      onCellClick: l,
+                    });
+                  })
+                )
+              );
+            },
+            [y, v]
+          ),
+          O = 0,
+          x = !0,
+          k = !1,
+          j = void 0;
+        try {
+          for (
+            var S, E = b[Symbol.iterator]();
+            !(x = (S = E.next()).done);
+            x = !0
+          ) {
+            var C = S.value,
+              P = !0,
+              T = !1,
+              D = void 0;
+            try {
+              for (
+                var A, N = C.headers[Symbol.iterator]();
+                !(P = (A = N.next()).done);
+                P = !0
+              ) {
+                O += A.value.width;
+              }
+            } catch (e) {
+              (T = !0), (D = e);
+            } finally {
+              try {
+                P || null == N.return || N.return();
+              } finally {
+                if (T) throw D;
+              }
+            }
+          }
+        } catch (e) {
+          (k = !0), (j = e);
+        } finally {
+          try {
+            x || null == E.return || E.return();
+          } finally {
+            if (k) throw j;
+          }
+        }
+        return a.a.createElement(
+          "div",
+          Wo({}, g(), { className: h.table }),
+          a.a.createElement(
+            _.a,
+            null,
+            a.a.createElement(
+              "div",
+              null,
+              b.map(function (e) {
+                return a.a.createElement(
+                  "div",
+                  Wo({ className: h.thead }, e.getHeaderGroupProps(), {
+                    ref: d,
+                  }),
+                  e.headers.map(function (e) {
+                    return (function (e, t, n) {
+                      var r = e.getHeaderProps(e.getSortByToggleProps()),
+                        o = Ro(n);
+                      o && (r.style.textAlign = o);
+                      return a.a.createElement(
+                        "div",
+                        Wo({ className: t }, r),
+                        e.render("Header"),
+                        e.isSorted &&
+                          (e.isSortedDesc
+                            ? a.a.createElement(Y.a, { name: "caret-down" })
+                            : a.a.createElement(Y.a, { name: "caret-up" }))
+                      );
+                    })(e, h.headerCell, n.fields[e.index]);
+                  })
+                );
+              })
+            ),
+            a.a.createElement(
+              lo.a,
+              {
+                height: o - p.height,
+                itemCount: v.length,
+                itemSize: h.rowHeight,
+                width: null !== (t = O) && void 0 !== t ? t : s,
+                style: { overflow: "hidden auto" },
+              },
+              w
+            )
+          )
+        );
+      });
+      function Ko(e) {
+        return (Ko =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Jo(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Zo(e, t) {
+        return !t || ("object" !== Ko(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Xo(e) {
+        return (Xo = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function ei(e, t) {
+        return (ei =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var ti = (function (e) {
+        function t(e) {
+          var n;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, t),
+            ((n = Zo(this, Xo(t).call(this, e))).readCSV = He()(function () {
+              var e = n.props.config,
+                t = n.state.text;
+              n.setState({ data: Object(Pe.readCSV)(t, { config: e }) });
+            }, 150)),
+            (n.onTextChange = function (e) {
+              n.setState({ text: e.target.value });
+            });
+          var r = e.text,
+            a = e.config;
+          return (
+            (n.state = { text: r, data: Object(Pe.readCSV)(r, { config: a }) }),
+            n
+          );
+        }
+        var n, r, o;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && ei(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "componentDidUpdate",
+              value: function (e, t) {
+                var n = this.state.text;
+                (n === t.text && this.props.config === e.config) ||
+                  this.readCSV(),
+                  this.props.text !== e.text &&
+                    this.props.text !== n &&
+                    this.setState({ text: this.props.text }),
+                  this.state.data !== t.data &&
+                    this.props.onSeriesParsed(this.state.data, this.state.text);
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.width,
+                  n = e.height,
+                  r = this.state.data;
+                return a.a.createElement(
+                  "div",
+                  { className: "gf-table-input-csv" },
+                  a.a.createElement("textarea", {
+                    style: { width: t, height: n },
+                    placeholder: "Enter CSV here...",
+                    value: this.state.text,
+                    onChange: this.onTextChange,
+                    className: "gf-form-input",
+                  }),
+                  r &&
+                    a.a.createElement(
+                      "footer",
+                      null,
+                      r.map(function (e, t) {
+                        return a.a.createElement(
+                          "span",
+                          { key: t },
+                          "Rows:",
+                          e.length,
+                          ", Columns:",
+                          e.fields.length,
+                          "  ",
+                          a.a.createElement("i", {
+                            className: "fa fa-check-circle",
+                          })
+                        );
+                      })
+                    )
+                );
+              },
+            },
+          ]) && Jo(n.prototype, r),
+          o && Jo(n, o),
+          t
+        );
+      })(a.a.PureComponent);
+      function ni() {
+        return (ni =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function ri(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function ai() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })(["\n      padding: ", ";\n    "]);
+        return (
+          (ai = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      var oi = Object(i.g)(function (e) {
+          return { tabContent: Object(o.css)(ai(), e.spacing.sm) };
+        }),
+        ii = function (e) {
+          var t = e.children,
+            n = e.className,
+            r = ri(e, ["children", "className"]),
+            l = Object(i.h)(),
+            s = oi(l);
+          return a.a.createElement(
+            "div",
+            ni({}, r, { className: Object(o.cx)(s.tabContent, n) }),
+            t
+          );
+        },
+        li = n("yP6+");
+      function si(e) {
+        return (si =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function ci(e, t) {
+        return !t || ("object" !== si(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function ui(e, t, n) {
+        return (ui =
+          "undefined" != typeof Reflect && Reflect.get
+            ? Reflect.get
+            : function (e, t, n) {
+                var r = (function (e, t) {
+                  for (
+                    ;
+                    !Object.prototype.hasOwnProperty.call(e, t) &&
+                    null !== (e = fi(e));
+
+                  );
+                  return e;
+                })(e, t);
+                if (r) {
+                  var a = Object.getOwnPropertyDescriptor(r, t);
+                  return a.get ? a.get.call(n) : a.value;
+                }
+              })(e, t, n || e);
+      }
+      function fi(e) {
+        return (fi = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function di(e, t) {
+        if ("function" != typeof t && null !== t)
+          throw new TypeError(
+            "Super expression must either be null or a function"
+          );
+        (e.prototype = Object.create(t && t.prototype, {
+          constructor: { value: e, writable: !0, configurable: !0 },
+        })),
+          t && pi(e, t);
+      }
+      function pi(e, t) {
+        return (pi =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      function hi(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function mi(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function gi(e, t, n) {
+        return t && mi(e.prototype, t), n && mi(e, n), e;
+      }
+      var bi,
+        vi,
+        yi,
+        wi = (function () {
+          function e(t) {
+            hi(this, e), (this.props = t);
+            var n = t,
+              r = n.width,
+              a = n.height,
+              o = n.value,
+              i = n.alignmentFactors,
+              l = n.theme;
+            (this.valueColor = Object(Pe.getColorFromHexRgbOrName)(
+              o.color || "green",
+              l.type
+            )),
+              (this.justifyCenter = (function (e) {
+                var t,
+                  n = e.value;
+                if (e.justifyMode === yi.Center) return !0;
+                return (
+                  0 === (null !== (t = n.title) && void 0 !== t ? t : "").length
+                );
+              })(t)),
+              (this.panelPadding = a > 100 ? 12 : 8),
+              (this.titleToAlignTo = i ? i.title : o.title),
+              (this.valueToAlignTo = Object(Pe.formattedValueToString)(i || o)),
+              (this.titleFontSize = 14),
+              (this.valueFontSize = 14),
+              (this.chartHeight = 0),
+              (this.chartWidth = 0),
+              (this.maxTextWidth = r - 2 * this.panelPadding),
+              (this.maxTextHeight = a - 2 * this.panelPadding);
+          }
+          return (
+            gi(e, [
+              {
+                key: "getTitleStyles",
+                value: function () {
+                  var e = {
+                    fontSize: "".concat(this.titleFontSize, "px"),
+                    lineHeight: 1.2,
+                  };
+                  return (
+                    this.props.colorMode === bi.Background &&
+                      (e.color = "white"),
+                    e
+                  );
+                },
+              },
+              {
+                key: "getValueStyles",
+                value: function () {
+                  var e = {
+                    fontSize: this.valueFontSize,
+                    fontWeight: 500,
+                    lineHeight: 1.2,
+                  };
+                  switch (this.props.colorMode) {
+                    case bi.Value:
+                      e.color = this.valueColor;
+                      break;
+                    case bi.Background:
+                      e.color = "white";
+                  }
+                  return e;
+                },
+              },
+              {
+                key: "getValueAndTitleContainerStyles",
+                value: function () {
+                  var e = { display: "flex" };
+                  return (
+                    this.justifyCenter &&
+                      ((e.alignItems = "center"),
+                      (e.justifyContent = "center"),
+                      (e.flexGrow = 1)),
+                    e
+                  );
+                },
+              },
+              {
+                key: "getPanelStyles",
+                value: function () {
+                  var e = this.props,
+                    t = e.width,
+                    n = e.height,
+                    r = e.theme,
+                    a = e.colorMode,
+                    o = {
+                      width: "".concat(t, "px"),
+                      height: "".concat(n, "px"),
+                      padding: "".concat(this.panelPadding, "px"),
+                      borderRadius: "3px",
+                      position: "relative",
+                      display: "flex",
+                    },
+                    i = r.isDark ? 1 : -0.7;
+                  switch (a) {
+                    case bi.Background:
+                      var l = Ue()(this.valueColor)
+                          .darken(15 * i)
+                          .spin(8)
+                          .toRgbString(),
+                        s = Ue()(this.valueColor)
+                          .darken(5 * i)
+                          .spin(-8)
+                          .toRgbString();
+                      o.background = "linear-gradient(120deg, "
+                        .concat(l, ", ")
+                        .concat(s, ")");
+                      break;
+                    case bi.Value:
+                      o.background = "".concat(r.colors.panelBg);
+                  }
+                  return (
+                    this.justifyCenter &&
+                      ((o.alignItems = "center"), (o.flexDirection = "row")),
+                    o
+                  );
+                },
+              },
+              {
+                key: "renderChart",
+                value: function () {
+                  var e = this.props.sparkline;
+                  if (!e || 0 === e.data.length) return null;
+                  var t = e.data.map(function (e) {
+                      return { time: e[0], value: e[1], name: "A" };
+                    }),
+                    n = {
+                      time: { type: "time", min: e.xMin, max: e.xMax },
+                      value: { min: e.yMin, max: e.yMax },
+                    };
+                  if (e.xMax && e.xMin) {
+                    var r = e.xMax - e.xMin,
+                      o = t[t.length - 1].time || 0;
+                    Math.abs(e.xMax - o) / r < 0.05 && (n.time.max = o);
+                  }
+                  return a.a.createElement(
+                    li.Chart,
+                    {
+                      height: this.chartHeight,
+                      width: this.chartWidth,
+                      data: t,
+                      animate: !1,
+                      padding: [4, 0, 0, 0],
+                      scale: n,
+                      style: this.getChartStyles(),
+                    },
+                    this.renderGeom()
+                  );
+                },
+              },
+              {
+                key: "renderGeom",
+                value: function () {
+                  var e,
+                    t,
+                    n = { opacity: 1, fillOpacity: 1, lineWidth: 2 };
+                  switch (this.props.colorMode) {
+                    case bi.Value:
+                      (t = this.valueColor),
+                        (e = Ue()(this.valueColor).setAlpha(0.2).toRgbString());
+                      break;
+                    case bi.Background:
+                      (e = "rgba(255,255,255,0.4)"),
+                        (t = Ue()(this.valueColor).brighten(40).toRgbString());
+                  }
+                  return (
+                    (n.stroke = t),
+                    a.a.createElement(
+                      a.a.Fragment,
+                      null,
+                      a.a.createElement(li.Geom, {
+                        type: "area",
+                        position: "time*value",
+                        size: 0,
+                        color: e,
+                        style: n,
+                        shape: "smooth",
+                      }),
+                      a.a.createElement(li.Geom, {
+                        type: "line",
+                        position: "time*value",
+                        size: 1,
+                        color: t,
+                        style: n,
+                        shape: "smooth",
+                      })
+                    )
+                  );
+                },
+              },
+              {
+                key: "getChartStyles",
+                value: function () {
+                  return { position: "absolute", right: 0, bottom: 0 };
+                },
+              },
+            ]),
+            e
+          );
+        })(),
+        Oi = (function (e) {
+          function t(e) {
+            var n;
+            hi(this, t);
+            return (
+              (n = ci(this, fi(t).call(this, e))).titleToAlignTo &&
+              n.titleToAlignTo.length > 0
+                ? ((n.valueFontSize = Object(ho.a)(
+                    n.valueToAlignTo,
+                    0.3 * n.maxTextWidth,
+                    n.maxTextHeight,
+                    1.2
+                  )),
+                  (n.titleFontSize = Object(ho.a)(
+                    n.titleToAlignTo,
+                    0.6 * n.maxTextWidth,
+                    n.maxTextHeight,
+                    1.2,
+                    30
+                  )),
+                  (n.titleFontSize = Math.min(
+                    0.7 * n.valueFontSize,
+                    n.titleFontSize
+                  )))
+                : (n.valueFontSize = Object(ho.a)(
+                    n.valueToAlignTo,
+                    n.maxTextWidth,
+                    n.maxTextHeight,
+                    1.2
+                  )),
+              n
+            );
+          }
+          return (
+            di(t, e),
+            gi(t, [
+              {
+                key: "getValueAndTitleContainerStyles",
+                value: function () {
+                  var e = ui(
+                    fi(t.prototype),
+                    "getValueAndTitleContainerStyles",
+                    this
+                  ).call(this);
+                  return (
+                    (e.flexDirection = "row"),
+                    (e.alignItems = "center"),
+                    (e.flexGrow = 1),
+                    this.justifyCenter || (e.justifyContent = "space-between"),
+                    e
+                  );
+                },
+              },
+              {
+                key: "renderChart",
+                value: function () {
+                  return null;
+                },
+              },
+              {
+                key: "getPanelStyles",
+                value: function () {
+                  var e = ui(fi(t.prototype), "getPanelStyles", this).call(
+                    this
+                  );
+                  return (e.alignItems = "center"), e;
+                },
+              },
+            ]),
+            t
+          );
+        })(wi),
+        xi = (function (e) {
+          function t(e) {
+            var n;
+            hi(this, t), (n = ci(this, fi(t).call(this, e)));
+            var r = e.width,
+              a = e.height;
+            return (
+              (n.chartWidth = r),
+              (n.chartHeight = 0.5 * a),
+              n.titleToAlignTo &&
+                n.titleToAlignTo.length > 0 &&
+                (n.titleFontSize = Object(ho.a)(
+                  n.titleToAlignTo,
+                  0.6 * n.maxTextWidth,
+                  0.4 * n.maxTextHeight,
+                  1.2,
+                  30
+                )),
+              (n.valueFontSize = Object(ho.a)(
+                n.valueToAlignTo,
+                0.4 * n.maxTextWidth,
+                0.5 * n.maxTextHeight,
+                1.2
+              )),
+              n
+            );
+          }
+          return (
+            di(t, e),
+            gi(t, [
+              {
+                key: "getValueAndTitleContainerStyles",
+                value: function () {
+                  var e = ui(
+                    fi(t.prototype),
+                    "getValueAndTitleContainerStyles",
+                    this
+                  ).call(this);
+                  return (
+                    (e.flexDirection = "row"),
+                    (e.flexGrow = 1),
+                    this.justifyCenter || (e.justifyContent = "space-between"),
+                    e
+                  );
+                },
+              },
+              {
+                key: "getPanelStyles",
+                value: function () {
+                  var e = ui(fi(t.prototype), "getPanelStyles", this).call(
+                    this
+                  );
+                  return (
+                    (e.flexDirection = "row"),
+                    (e.justifyContent = "space-between"),
+                    e
+                  );
+                },
+              },
+            ]),
+            t
+          );
+        })(wi),
+        ki = (function (e) {
+          function t(e) {
+            var n;
+            hi(this, t), (n = ci(this, fi(t).call(this, e)));
+            var r = e.width,
+              a = e.height,
+              o = 0;
+            return (
+              (n.chartHeight = 0.25 * a),
+              (n.chartWidth = r),
+              n.titleToAlignTo &&
+                n.titleToAlignTo.length > 0 &&
+                ((n.titleFontSize = Object(ho.a)(
+                  n.titleToAlignTo,
+                  n.maxTextWidth,
+                  0.15 * a,
+                  1.2,
+                  30
+                )),
+                (o = 1.2 * n.titleFontSize)),
+              (n.valueFontSize = Object(ho.a)(
+                n.valueToAlignTo,
+                n.maxTextWidth,
+                n.maxTextHeight - n.chartHeight - o,
+                1.2
+              )),
+              (n.titleFontSize = Math.min(
+                0.7 * n.valueFontSize,
+                n.titleFontSize
+              )),
+              (n.chartHeight =
+                a - 1.2 * n.titleFontSize - 1.2 * n.valueFontSize),
+              n
+            );
+          }
+          return (
+            di(t, e),
+            gi(t, [
+              {
+                key: "getValueAndTitleContainerStyles",
+                value: function () {
+                  var e = ui(
+                    fi(t.prototype),
+                    "getValueAndTitleContainerStyles",
+                    this
+                  ).call(this);
+                  return (
+                    (e.flexDirection = "column"),
+                    (e.justifyContent = "center"),
+                    e
+                  );
+                },
+              },
+              {
+                key: "getPanelStyles",
+                value: function () {
+                  var e = ui(fi(t.prototype), "getPanelStyles", this).call(
+                    this
+                  );
+                  return (e.flexDirection = "column"), e;
+                },
+              },
+            ]),
+            t
+          );
+        })(wi),
+        ji = (function (e) {
+          function t(e) {
+            var n;
+            hi(this, t), (n = ci(this, fi(t).call(this, e)));
+            var r = e.height,
+              a = 0;
+            return (
+              n.titleToAlignTo &&
+                n.titleToAlignTo.length > 0 &&
+                ((n.titleFontSize = Object(ho.a)(
+                  n.titleToAlignTo,
+                  n.maxTextWidth,
+                  0.15 * r,
+                  1.2,
+                  30
+                )),
+                (a = 1.2 * n.titleFontSize)),
+              (n.valueFontSize = Object(ho.a)(
+                n.valueToAlignTo,
+                n.maxTextWidth,
+                n.maxTextHeight - a,
+                1.2
+              )),
+              (n.titleFontSize = Math.min(
+                0.7 * n.valueFontSize,
+                n.titleFontSize
+              )),
+              n
+            );
+          }
+          return (
+            di(t, e),
+            gi(t, [
+              {
+                key: "getValueAndTitleContainerStyles",
+                value: function () {
+                  var e = ui(
+                    fi(t.prototype),
+                    "getValueAndTitleContainerStyles",
+                    this
+                  ).call(this);
+                  return (e.flexDirection = "column"), (e.flexGrow = 1), e;
+                },
+              },
+              {
+                key: "getPanelStyles",
+                value: function () {
+                  var e = ui(fi(t.prototype), "getPanelStyles", this).call(
+                    this
+                  );
+                  return (e.alignItems = "center"), e;
+                },
+              },
+            ]),
+            t
+          );
+        })(wi);
+      function Si(e) {
+        return (Si =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Ei(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Ci(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Pi(e, t) {
+        return !t || ("object" !== Si(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Ti(e) {
+        return (Ti = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Di(e, t) {
+        return (Di =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      !(function (e) {
+        (e.Value = "value"), (e.Background = "background");
+      })(bi || (bi = {})),
+        (function (e) {
+          (e.None = "none"), (e.Line = "line"), (e.Area = "area");
+        })(vi || (vi = {})),
+        (function (e) {
+          (e.Auto = "auto"), (e.Center = "center");
+        })(yi || (yi = {}));
+      var Ai = (function (e) {
+        function t() {
+          return Ei(this, t), Pi(this, Ti(t).apply(this, arguments));
+        }
+        var n, r, o;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && Di(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e,
+                  t,
+                  n,
+                  r,
+                  o = this.props,
+                  i = o.value,
+                  l = o.onClick,
+                  s = o.className,
+                  c =
+                    ((e = this.props),
+                    (t = e.width),
+                    (n = e.height),
+                    (r = e.sparkline),
+                    t / n > 2.5
+                      ? n > 50 && r
+                        ? new xi(e)
+                        : new Oi(e)
+                      : n > 100 && r
+                      ? new ki(e)
+                      : new ji(e)),
+                  u = c.getPanelStyles(),
+                  f = c.getValueAndTitleContainerStyles(),
+                  d = c.getValueStyles(),
+                  p = c.getTitleStyles();
+                return a.a.createElement(
+                  "div",
+                  { className: s, style: u, onClick: l },
+                  a.a.createElement(
+                    "div",
+                    { style: f },
+                    i.title && a.a.createElement("div", { style: p }, i.title),
+                    a.a.createElement(po, { value: i, style: d })
+                  ),
+                  c.renderChart()
+                );
+              },
+            },
+          ]) && Ci(n.prototype, r),
+          o && Ci(n, o),
+          t
+        );
+      })(r.PureComponent);
+      Ai.defaultProps = { justifyMode: yi.Auto };
+      var _i = n("+2Rf"),
+        Ni = n.n(_i);
+      function Mi(e) {
+        return (Mi =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Ii(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Ri(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Fi(e, t) {
+        return !t || ("object" !== Mi(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Li(e) {
+        return (Li = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Vi(e, t) {
+        return (Vi =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Bi = (function (e) {
+        function t() {
+          var e, n;
+          Ii(this, t);
+          for (var r = arguments.length, o = new Array(r), i = 0; i < r; i++)
+            o[i] = arguments[i];
+          return (
+            ((n = Fi(
+              this,
+              (e = Li(t)).call.apply(e, [this].concat(o))
+            )).renderVisualization = function () {
+              var e = n.props,
+                t = e.width,
+                r = e.value,
+                o = e.height,
+                i = e.onClick,
+                l = $i(t, o, r.title);
+              return a.a.createElement(
+                a.a.Fragment,
+                null,
+                a.a.createElement("div", {
+                  style: {
+                    height: "".concat(l.gaugeHeight, "px"),
+                    width: "100%",
+                  },
+                  ref: function (e) {
+                    return (n.canvasElement = e);
+                  },
+                  onClick: i,
+                }),
+                l.showLabel &&
+                  a.a.createElement(
+                    "div",
+                    {
+                      style: {
+                        textAlign: "center",
+                        fontSize: l.titleFontSize,
+                        overflow: "hidden",
+                        textOverflow: "ellipsis",
+                        whiteSpace: "nowrap",
+                        position: "relative",
+                        width: "100%",
+                        top: "-4px",
+                        cursor: "default",
+                      },
+                    },
+                    r.title
+                  )
+              );
+            }),
+            n
+          );
+        }
+        var n, r, o;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && Vi(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "componentDidMount",
+              value: function () {
+                this.draw();
+              },
+            },
+            {
+              key: "componentDidUpdate",
+              value: function () {
+                this.draw();
+              },
+            },
+            {
+              key: "getFormattedThresholds",
+              value: function () {
+                var e,
+                  n,
+                  r = this.props,
+                  a = r.field,
+                  o = r.theme,
+                  i =
+                    null !== (e = a.thresholds) && void 0 !== e
+                      ? e
+                      : null === (n = t.defaultProps.field) || void 0 === n
+                      ? void 0
+                      : n.thresholds,
+                  l = i.mode === Pe.ThresholdsMode.Percentage,
+                  s = i.steps,
+                  c = a.min,
+                  u = a.max;
+                l && ((c = 0), (u = 100));
+                var f = Object(Pe.getActiveThreshold)(c, s),
+                  d = Object(Pe.getActiveThreshold)(u, s),
+                  p = [];
+                p.push({
+                  value: c,
+                  color: Object(Pe.getColorFromHexRgbOrName)(f.color, o.type),
+                });
+                for (var h = !0, m = 0; m < s.length; m++) {
+                  var g = s[m];
+                  if (h) f === g && (h = !1);
+                  else {
+                    var b = s[m - 1];
+                    if (
+                      (p.push({
+                        value: g.value,
+                        color: Object(Pe.getColorFromHexRgbOrName)(
+                          b.color,
+                          o.type
+                        ),
+                      }),
+                      g === d)
+                    )
+                      break;
+                  }
+                }
+                return (
+                  p.push({
+                    value: u,
+                    color: Object(Pe.getColorFromHexRgbOrName)(d.color, o.type),
+                  }),
+                  p
+                );
+              },
+            },
+            {
+              key: "getFontScale",
+              value: function (e) {
+                return e > 12 ? 1 - (5 * e) / 110 : 1 - (5 * e) / 101;
+              },
+            },
+            {
+              key: "draw",
+              value: function () {
+                var e,
+                  t = this.props,
+                  n = t.field,
+                  r = t.showThresholdLabels,
+                  a = t.showThresholdMarkers,
+                  o = t.width,
+                  l = t.height,
+                  s = t.theme,
+                  c = t.value,
+                  u = $i(o, l, c.title),
+                  f = Math.min(o, u.gaugeHeight),
+                  d = Object(i.e)(
+                    { dark: s.colors.dark8, light: s.colors.gray6 },
+                    s.type
+                  ),
+                  p = r ? 1.5 : 1,
+                  h = Math.min(f / 5.5, 40) / p,
+                  m = h / 5,
+                  g = Object(Pe.formattedValueToString)(c),
+                  b =
+                    Math.min(f / 4, 100) *
+                    (null !== g ? this.getFontScale(g.length) : 1),
+                  v = b / 2.5,
+                  y = n.min,
+                  w = n.max,
+                  O = c.numeric;
+                (null === (e = n.thresholds) || void 0 === e
+                  ? void 0
+                  : e.mode) === Pe.ThresholdsMode.Percentage &&
+                  ((y = 0),
+                  (w = 100),
+                  (O =
+                    void 0 === c.percent
+                      ? ((O - y) / (w - y)) * 100
+                      : 100 * c.percent));
+                var x = {
+                    series: {
+                      gauges: {
+                        gauge: {
+                          min: y,
+                          max: w,
+                          background: { color: d },
+                          border: { color: null },
+                          shadow: { show: !1 },
+                          width: h,
+                        },
+                        frame: { show: !1 },
+                        label: { show: !1 },
+                        layout: { margin: 0, thresholdWidth: 0, vMargin: 0 },
+                        cell: { border: { width: 0 } },
+                        threshold: {
+                          values: this.getFormattedThresholds(),
+                          label: { show: r, margin: m + 1, font: { size: v } },
+                          show: a,
+                          width: m,
+                        },
+                        value: {
+                          color: c.color,
+                          formatter: function () {
+                            return g;
+                          },
+                          font: {
+                            size: b,
+                            family: s.typography.fontFamily.sansSerif,
+                          },
+                        },
+                        show: !0,
+                      },
+                    },
+                  },
+                  k = { data: [[0, O]], label: c.title };
+                try {
+                  Ni.a.plot(this.canvasElement, [k], x);
+                } catch (e) {
+                  console.log("Gauge rendering error", e, x, c);
+                }
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                return a.a.createElement(
+                  "div",
+                  {
+                    style: {
+                      width: "100%",
+                      height: "100%",
+                      display: "flex",
+                      flexDirection: "column",
+                      justifyContent: "center",
+                      overflow: "hidden",
+                    },
+                    className: this.props.className,
+                  },
+                  this.renderVisualization()
+                );
+              },
+            },
+          ]) && Ri(n.prototype, r),
+          o && Ri(n, o),
+          t
+        );
+      })(r.PureComponent);
+      function $i(e, t, n) {
+        var r = null != n,
+          a = Math.min((0.15 * e) / 1.5, 20),
+          o = r ? t - 1.5 * a : t;
+        return { showLabel: r, gaugeHeight: Math.min(o, e), titleFontSize: a };
+      }
+      Bi.defaultProps = {
+        showThresholdMarkers: !0,
+        showThresholdLabels: !1,
+        field: {
+          min: 0,
+          max: 100,
+          thresholds: {
+            mode: Pe.ThresholdsMode.Absolute,
+            steps: [
+              { value: -1 / 0, color: "green" },
+              { value: 80, color: "red" },
+            ],
+          },
+        },
+      };
+      var qi = n("qPyV"),
+        Ui = n.n(qi),
+        zi = n("nwiq"),
+        Hi = n("pW3x"),
+        Gi = n.n(Hi);
+      function Wi(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function Qi() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })([
+          "\n      overflow: hidden;\n      background: ",
+          ";\n      /* max-width is set up based on .grafana-tooltip class that's used in dashboard */\n      max-width: 800px;\n      padding: ",
+          ";\n      border-radius: ",
+          ";\n      z-index: ",
+          ";\n    ",
+        ]);
+        return (
+          (Qi = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      var Yi = Object(jr.a)(function (e) {
+          var t = Object(Ne.a)(
+            { light: e.colors.gray5, dark: e.colors.dark1 },
+            e.type
+          );
+          return {
+            wrapper: Object(o.css)(
+              Qi(),
+              t,
+              e.spacing.sm,
+              e.border.radius.sm,
+              e.zIndex.tooltip
+            ),
+          };
+        }),
+        Ki = function (e) {
+          var t = e.position,
+            n = e.offset,
+            o = e.children,
+            i = Object(Bt.c)(),
+            l = Object(r.useRef)(null),
+            s = Gi()(),
+            c = s.width,
+            u = s.height,
+            f = Wi(Object(r.useState)({ x: t.x + n.x, y: t.y + n.y }), 2),
+            d = f[0],
+            p = f[1];
+          Object(r.useLayoutEffect)(
+            function () {
+              var e = 0,
+                r = 0;
+              if (l && l.current) {
+                var a = l.current.getBoundingClientRect(),
+                  o = c - (t.x + a.width),
+                  i = u - (t.y + a.height);
+                o < 0 && (e = a.width + n.x), i < 0 && (r = a.height + n.y);
+              }
+              p({ x: t.x - e, y: t.y - r });
+            },
+            [l, t]
+          );
+          var h = Yi(i);
+          return a.a.createElement(
+            "div",
+            {
+              ref: l,
+              style: {
+                position: "fixed",
+                left: 0,
+                top: 0,
+                transform: "translate3d("
+                  .concat(d.x, "px, ")
+                  .concat(d.y, "px, 0)"),
+              },
+              className: h.wrapper,
+            },
+            o
+          );
+        };
+      function Ji() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })([
+          "\n          position: absolute;\n          top: 0;\n          left: 0;\n          pointer-events: none;\n          width: 100%;\n          height: 100%;\n        ",
+        ]);
+        return (
+          (Ji = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      Ki.displayName = "TooltipContainer";
+      var Zi = function (e) {
+        var t = e.content,
+          n = e.position,
+          r = e.offset;
+        return n
+          ? a.a.createElement(
+              A.a,
+              { className: Object(o.css)(Ji()) },
+              a.a.createElement(
+                Ki,
+                { position: n, offset: r || { x: 0, y: 0 } },
+                t
+              )
+            )
+          : null;
+      };
+      Zi.displayName = "ChartTooltip";
+      var Xi = function (e) {
+        var t = e.color,
+          n = e.className;
+        return a.a.createElement("i", {
+          className: Object(o.cx)("fa", "fa-minus", n),
+          style: { color: t },
+        });
+      };
+      function el() {
+        var e = sl([
+          "\n      font-weight: ",
+          ";\n      font-size: ",
+          ";\n    ",
+        ]);
+        return (
+          (el = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function tl() {
+        var e = sl(["\n      font-weight: ", ";\n    "]);
+        return (
+          (tl = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function nl() {
+        var e = sl(["\n      padding-left: ", ";\n    "]);
+        return (
+          (nl = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function rl() {
+        var e = sl(["\n      word-break: break-all;\n    "]);
+        return (
+          (rl = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function al() {
+        var e = sl(["\n      display: table-cell;\n    "]);
+        return (
+          (al = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ol() {
+        var e = sl([
+          "\n      display: table-row;\n      font-size: ",
+          ";\n    ",
+        ]);
+        return (
+          (ol = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function il() {
+        var e = sl(["\n      display: table;\n    "]);
+        return (
+          (il = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ll() {
+        var e = sl(["\n      margin-right: ", ";\n    "]);
+        return (
+          (ll = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function sl(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      Xi.displayName = "SeriesIcon";
+      var cl = Object(jr.a)(function (e) {
+          return {
+            icon: Object(o.css)(ll(), e.spacing.xs),
+            seriesTable: Object(o.css)(il()),
+            seriesTableRow: Object(o.css)(ol(), e.typography.size.sm),
+            seriesTableCell: Object(o.css)(al()),
+            label: Object(o.css)(rl()),
+            value: Object(o.css)(nl(), e.spacing.md),
+            activeSeries: Object(o.css)(tl(), e.typography.weight.bold),
+            timestamp: Object(o.css)(
+              el(),
+              e.typography.weight.bold,
+              e.typography.size.sm
+            ),
+          };
+        }),
+        ul = function (e) {
+          var t = e.color,
+            n = e.label,
+            r = e.value,
+            l = e.isActive,
+            s = Object(i.h)(),
+            c = cl(s);
+          return a.a.createElement(
+            "div",
+            { className: Object(o.cx)(c.seriesTableRow, l && c.activeSeries) },
+            t &&
+              a.a.createElement(
+                "div",
+                { className: c.seriesTableCell },
+                a.a.createElement(Xi, { color: t, className: c.icon })
+              ),
+            a.a.createElement(
+              "div",
+              { className: Object(o.cx)(c.seriesTableCell, c.label) },
+              n
+            ),
+            a.a.createElement(
+              "div",
+              { className: Object(o.cx)(c.seriesTableCell, c.value) },
+              r
+            )
+          );
+        },
+        fl = function (e) {
+          var t = e.timestamp,
+            n = e.series,
+            r = Object(i.h)(),
+            o = cl(r);
+          return a.a.createElement(
+            a.a.Fragment,
+            null,
+            t &&
+              a.a.createElement(
+                "div",
+                { className: o.timestamp, "aria-label": "Timestamp" },
+                t
+              ),
+            n.map(function (e) {
+              return a.a.createElement(ul, {
+                isActive: e.isActive,
+                label: e.label,
+                color: e.color,
+                value: e.value,
+                key: e.label,
+              });
+            })
+          );
+        },
+        dl = function (e) {
+          var t,
+            n = e.dimensions,
+            r = e.activeDimensions;
+          if (
+            null === r.yAxis ||
+            void 0 === r.yAxis[1] ||
+            null === r.xAxis ||
+            void 0 === r.xAxis[1]
+          )
+            return null;
+          var o = Object(Pe.getValueFromDimension)(
+              n.xAxis,
+              r.xAxis[0],
+              r.xAxis[1]
+            ),
+            i = Object(Pe.getColumnFromDimension)(n.xAxis, r.xAxis[0]),
+            l = i.display ? Object(Pe.formattedValueToString)(i.display(o)) : o,
+            s = Object(Pe.getColumnFromDimension)(n.yAxis, r.yAxis[0]),
+            c = Object(Pe.getValueFromDimension)(
+              n.yAxis,
+              r.yAxis[0],
+              r.yAxis[1]
+            ),
+            u = (null !== (t = s.display) && void 0 !== t
+              ? t
+              : Object(Pe.getDisplayProcessor)({ field: s }))(c);
+          return a.a.createElement(fl, {
+            series: [
+              {
+                color: u.color,
+                label: s.name,
+                value: Object(Pe.formattedValueToString)(u),
+              },
+            ],
+            timestamp: l,
+          });
+        };
+      dl.displayName = "SingleModeGraphTooltip";
+      var pl = function (e, t) {
+          for (var n, r = 0, a = e.values.length - 1; ; ) {
+            if (r > a) return Math.max(a, 0);
+            n = Math.floor((r + a) / 2);
+            var o = e.values.get(n);
+            if (o === t) return n;
+            o && o < t ? (r = n + 1) : (a = n - 1);
+          }
+        },
+        hl = function (e) {
+          var t = e.dimensions,
+            n = e.activeDimensions,
+            r = e.pos,
+            o = null;
+          if (null === n.xAxis) return null;
+          n.yAxis && (o = n.yAxis[0]);
+          var i = n.xAxis[1]
+              ? Object(Pe.getValueFromDimension)(
+                  t.xAxis,
+                  n.xAxis[0],
+                  n.xAxis[1]
+                )
+              : r.x,
+            l = (function (e, t, n) {
+              var r,
+                a,
+                o,
+                i,
+                l,
+                s,
+                c,
+                u = [];
+              for (r = 0; r < e.length; r++) {
+                var f;
+                a = e[r];
+                var d = t[r];
+                (o = pl(d, n)),
+                  (i = n - d.values.get(o)),
+                  (l = d.values.get(o)),
+                  (void 0 === s ||
+                    (i >= 0 && (i < s || s < 0)) ||
+                    (i < 0 && i > s)) &&
+                    ((s = i),
+                    (c = d.display
+                      ? Object(Pe.formattedValueToString)(d.display(l))
+                      : l));
+                var p = (null !== (f = a.display) && void 0 !== f
+                  ? f
+                  : Object(Pe.getDisplayProcessor)({ field: a }))(
+                  a.values.get(o)
+                );
+                u.push({
+                  value: Object(Pe.formattedValueToString)(p),
+                  datapointIndex: o,
+                  seriesIndex: r,
+                  color: p.color,
+                  label: a.name,
+                  time: d.display
+                    ? Object(Pe.formattedValueToString)(d.display(l))
+                    : l,
+                });
+              }
+              return { results: u, time: c };
+            })(t.yAxis.columns, t.xAxis.columns, i),
+            s = l.time,
+            c = l.results.map(function (e, t) {
+              return {
+                color: e.color,
+                label: e.label,
+                value: e.value,
+                isActive: o === t,
+              };
+            });
+          return a.a.createElement(fl, { series: c, timestamp: s });
+        };
+      hl.displayName = "MultiModeGraphTooltip";
+      var ml = function (e) {
+        var t = e.mode,
+          n = void 0 === t ? "single" : t,
+          r = e.dimensions,
+          o = e.activeDimensions,
+          i = e.pos;
+        return o && o.xAxis
+          ? "single" === n
+            ? a.a.createElement(dl, { dimensions: r, activeDimensions: o })
+            : a.a.createElement(hl, {
+                dimensions: r,
+                activeDimensions: o,
+                pos: i,
+              })
+          : null;
+      };
+      ml.displayName = "GraphTooltip";
+      var gl = n("tm4R"),
+        bl = n.n(gl);
+      function vl(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function yl() {
+        var e = Sl([
+          "\n      opacity: 0.7;\n      width: 12px;\n      height: 12px;\n      display: inline-block;\n      margin-right: 10px;\n      color: ",
+          ";\n      position: relative;\n      top: 4px;\n    ",
+        ]);
+        return (
+          (yl = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function wl() {
+        var e = Sl([
+          "\n      color: ",
+          ";\n      font-size: ",
+          ";\n      line-height: ",
+          ";\n      padding: ",
+          " ",
+          ";\n    ",
+        ]);
+        return (
+          (wl = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Ol() {
+        var e = Sl([
+          "\n      background: none;\n      padding: 4px 8px;\n      color: ",
+          ";\n      border-left: 2px solid transparent;\n      cursor: pointer;\n      &:hover {\n        background: ",
+          ";\n        border-image: linear-gradient(#f05a28 30%, #fbca0a 99%);\n        border-image-slice: 1;\n      }\n    ",
+        ]);
+        return (
+          (Ol = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function xl() {
+        var e = Sl([
+          "\n      color: ",
+          ";\n      display: flex;\n      cursor: pointer;\n      &:hover {\n        color: ",
+          ";\n        text-decoration: none;\n      }\n    ",
+        ]);
+        return (
+          (xl = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function kl() {
+        var e = Sl([
+          "\n      background: ",
+          ";\n      z-index: 1;\n      box-shadow: 0 2px 5px 0 ",
+          ";\n      min-width: 200px;\n      display: inline-block;\n      border-radius: ",
+          ";\n    ",
+        ]);
+        return (
+          (kl = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function jl() {
+        var e = Sl([
+          "\n      padding: 4px;\n      border-bottom: 1px solid ",
+          ";\n      background: ",
+          ";\n      margin-bottom: ",
+          ";\n      border-radius: ",
+          " ",
+          " 0 0;\n    ",
+        ]);
+        return (
+          (jl = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Sl(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var El = Object(jr.a)(function (e) {
+          var t = Object(hr.selectThemeVariant)(
+              { light: e.colors.dark2, dark: e.colors.text },
+              e.type
+            ),
+            n = Object(hr.selectThemeVariant)(
+              { light: e.colors.link, dark: e.colors.white },
+              e.type
+            ),
+            r = Object(hr.selectThemeVariant)(
+              { light: e.colors.gray7, dark: e.colors.dark2 },
+              e.type
+            ),
+            a = Object(hr.selectThemeVariant)(
+              { light: e.colors.gray3, dark: e.colors.black },
+              e.type
+            ),
+            i = Object(hr.selectThemeVariant)(
+              { light: e.colors.black, dark: e.colors.white },
+              e.type
+            ),
+            l = Object(hr.selectThemeVariant)(
+              { light: e.colors.gray1, dark: e.colors.textWeak },
+              e.type
+            ),
+            s = Object(hr.selectThemeVariant)(
+              { light: e.colors.gray5, dark: e.colors.dark7 },
+              e.type
+            ),
+            c = Object(hr.selectThemeVariant)(
+              { light: e.colors.white, dark: e.colors.dark1 },
+              e.type
+            ),
+            u = Object(hr.selectThemeVariant)(
+              { light: e.colors.white, dark: e.colors.dark7 },
+              e.type
+            );
+          return {
+            header: Object(o.css)(
+              jl(),
+              u,
+              c,
+              e.spacing.xs,
+              e.border.radius.sm,
+              e.border.radius.sm
+            ),
+            wrapper: Object(o.css)(kl(), r, a, e.border.radius.sm),
+            link: Object(o.css)(xl(), t, n),
+            item: Object(o.css)(Ol(), i, s),
+            groupLabel: Object(o.css)(
+              wl(),
+              l,
+              e.typography.size.sm,
+              e.typography.lineHeight.md,
+              e.spacing.xs,
+              e.spacing.sm
+            ),
+            icon: Object(o.css)(yl(), e.colors.linkDisabled),
+          };
+        }),
+        Cl = a.a.memo(function (e) {
+          var t = e.x,
+            n = e.y,
+            o = e.onClose,
+            i = e.items,
+            l = e.renderHeader,
+            s = Object(r.useContext)(hr.ThemeContext),
+            c = Object(r.useRef)(null),
+            u = vl(Object(r.useState)({}), 2),
+            f = u[0],
+            d = u[1];
+          Object(r.useLayoutEffect)(
+            function () {
+              var e = c.current;
+              if (e) {
+                var r = e.getBoundingClientRect(),
+                  a = {
+                    right: window.innerWidth < t + r.width,
+                    bottom: window.innerHeight < r.bottom + r.height + 5,
+                  };
+                d({
+                  position: "fixed",
+                  left: a.right ? t - r.width - 5 : t - 5,
+                  top: a.bottom ? n - r.height - 5 : n + 5,
+                });
+              }
+            },
+            [c.current]
+          ),
+            bl()(c, function () {
+              o && o();
+            });
+          var p = El(s),
+            h = l && l();
+          return a.a.createElement(
+            A.a,
+            null,
+            a.a.createElement(
+              "div",
+              { ref: c, style: f, className: p.wrapper },
+              h && a.a.createElement("div", { className: p.header }, h),
+              a.a.createElement(kr.a, {
+                items: i || [],
+                renderItem: function (e, t) {
+                  return a.a.createElement(
+                    a.a.Fragment,
+                    null,
+                    a.a.createElement(Tl, { group: e, onClick: o })
+                  );
+                },
+              })
+            )
+          );
+        }),
+        Pl = a.a.memo(function (e) {
+          var t = e.url,
+            n = e.icon,
+            i = e.label,
+            l = e.target,
+            s = e.onClick,
+            c = e.className,
+            u = Object(r.useContext)(hr.ThemeContext),
+            f = El(u);
+          return a.a.createElement(
+            "div",
+            { className: f.item },
+            a.a.createElement(
+              "a",
+              {
+                href: t || void 0,
+                target: l || "_self",
+                className: Object(o.cx)(c, f.link),
+                onClick: function (e) {
+                  s && s(e);
+                },
+              },
+              n &&
+                a.a.createElement("i", {
+                  className: Object(o.cx)("".concat(n), f.icon),
+                }),
+              " ",
+              i
+            )
+          );
+        }),
+        Tl = function (e) {
+          var t = e.group,
+            n = e.onClick,
+            o = Object(r.useContext)(hr.ThemeContext),
+            i = El(o);
+          return 0 === t.items.length
+            ? null
+            : a.a.createElement(
+                "div",
+                null,
+                t.label &&
+                  a.a.createElement(
+                    "div",
+                    { className: i.groupLabel },
+                    t.label
+                  ),
+                a.a.createElement(kr.a, {
+                  items: t.items || [],
+                  renderItem: function (e) {
+                    return a.a.createElement(Pl, {
+                      url: e.url,
+                      label: e.label,
+                      target: e.target,
+                      icon: e.icon,
+                      onClick: function (t) {
+                        e.onClick && e.onClick(t), n && n();
+                      },
+                    });
+                  },
+                })
+              );
+        };
+      function Dl() {
+        return (Dl =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function Al() {
+        var e = Ml([
+          "\n                white-space: nowrap;\n                padding-left: ",
+          ";\n              ",
+        ]);
+        return (
+          (Al = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function _l() {
+        var e = Ml([
+          "\n              white-space: nowrap;\n              padding-left: ",
+          ";\n            ",
+        ]);
+        return (
+          (_l = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Nl() {
+        var e = Ml([
+          "\n          padding: ",
+          " ",
+          ";\n          font-size: ",
+          ";\n          z-index: ",
+          ";\n        ",
+        ]);
+        return (
+          (Nl = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Ml(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      function Il(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Rl(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Fl(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      Cl.displayName = "ContextMenu";
+      var Ll = function (e) {
+        var t = e.getContextMenuSource,
+          n = e.formatSourceDate,
+          l = e.items,
+          s = e.dimensions,
+          c = e.contextDimensions,
+          u = Fl(e, [
+            "getContextMenuSource",
+            "formatSourceDate",
+            "items",
+            "dimensions",
+            "contextDimensions",
+          ]),
+          f = Object(r.useContext)(i.a),
+          d = t(),
+          p = l
+            ? l.map(function (e) {
+                return (function (e) {
+                  for (var t = 1; t < arguments.length; t++) {
+                    var n = null != arguments[t] ? arguments[t] : {};
+                    t % 2
+                      ? Il(Object(n), !0).forEach(function (t) {
+                          Rl(e, t, n[t]);
+                        })
+                      : Object.getOwnPropertyDescriptors
+                      ? Object.defineProperties(
+                          e,
+                          Object.getOwnPropertyDescriptors(n)
+                        )
+                      : Il(Object(n)).forEach(function (t) {
+                          Object.defineProperty(
+                            e,
+                            t,
+                            Object.getOwnPropertyDescriptor(n, t)
+                          );
+                        });
+                  }
+                  return e;
+                })({}, e, {
+                  items: e.items.filter(function (e) {
+                    return e.label;
+                  }),
+                });
+              })
+            : [];
+        return a.a.createElement(
+          Cl,
+          Dl({}, u, {
+            items: p,
+            renderHeader: function () {
+              var e, t;
+              if (!d) return null;
+              if (
+                (null == s ? void 0 : s.yAxis) &&
+                (null == c
+                  ? void 0
+                  : null === (e = c.yAxis) || void 0 === e
+                  ? void 0
+                  : e[1])
+              ) {
+                var r,
+                  i = Object(Pe.getValueFromDimension)(
+                    s.yAxis,
+                    c.yAxis[0],
+                    c.yAxis[1]
+                  );
+                t = (null !== (r = d.series.valueField.display) && void 0 !== r
+                  ? r
+                  : Object(Pe.getDisplayProcessor)({
+                      field: d.series.valueField,
+                    }))(i);
+              }
+              var l = d.series.hasMsResolution
+                ? Pe.MS_DATE_TIME_FORMAT
+                : Pe.DEFAULT_DATE_TIME_FORMAT;
+              return a.a.createElement(
+                "div",
+                {
+                  className: Object(o.css)(
+                    Nl(),
+                    f.spacing.xs,
+                    f.spacing.sm,
+                    f.typography.size.sm,
+                    f.zIndex.tooltip
+                  ),
+                },
+                a.a.createElement("strong", null, n(d.datapoint[0], l)),
+                a.a.createElement(
+                  "div",
+                  null,
+                  a.a.createElement(Xi, { color: d.series.color }),
+                  a.a.createElement(
+                    "span",
+                    { className: Object(o.css)(_l(), f.spacing.xs) },
+                    d.series.alias || d.series.label
+                  ),
+                  t &&
+                    a.a.createElement(
+                      "span",
+                      { className: Object(o.css)(Al(), f.spacing.md) },
+                      Object(Pe.formattedValueToString)(t)
+                    )
+                )
+              );
+            },
+          })
+        );
+      };
+      function Vl(e) {
+        return (Vl =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Bl(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function $l(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function ql(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? $l(Object(n), !0).forEach(function (t) {
+                Ul(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : $l(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Ul(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function zl(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Hl(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Gl(e, t) {
+        return !t || ("object" !== Vl(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Wl(e) {
+        return (Wl = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Ql(e, t) {
+        return (Ql =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Yl = (function (e) {
+        function t() {
+          var e, n;
+          zl(this, t);
+          for (var r = arguments.length, o = new Array(r), i = 0; i < r; i++)
+            o[i] = arguments[i];
+          return (
+            ((n = Gl(
+              this,
+              (e = Wl(t)).call.apply(e, [this].concat(o))
+            )).state = { isTooltipVisible: !1, isContextVisible: !1 }),
+            (n.element = null),
+            (n.onPlotSelected = function (e, t) {
+              var r = n.props.onHorizontalRegionSelected;
+              r && r(t.xaxis.from, t.xaxis.to);
+            }),
+            (n.onPlotHover = function (e, t, r) {
+              n.setState({ isTooltipVisible: !0, activeItem: r, pos: t });
+            }),
+            (n.onPlotClick = function (e, t, r) {
+              n.setState({
+                isContextVisible: !0,
+                isTooltipVisible: !1,
+                contextItem: r,
+                contextPos: t,
+              });
+            }),
+            (n.renderTooltip = function () {
+              var e = n.props,
+                t = e.children,
+                r = e.series,
+                o = n.state,
+                i = o.pos,
+                l = o.activeItem,
+                s = o.isTooltipVisible,
+                c = null;
+              if (!s || !i || 0 === r.length) return null;
+              if (
+                (a.a.Children.forEach(t, function (e) {
+                  c ||
+                    ((e && e.type && (e.type.displayName || e.type.name)) ===
+                      Zi.displayName &&
+                      (c = e));
+                }),
+                !c)
+              )
+                return null;
+              var u = c.props,
+                f = u.mode || "single";
+              if (!l && "single" === f) return null;
+              var d = u.tooltipComponent || ml,
+                p = {
+                  xAxis: [
+                    l ? l.series.seriesIndex : 0,
+                    l ? l.dataIndex : void 0,
+                  ],
+                  yAxis: l ? [l.series.seriesIndex, l.dataIndex] : null,
+                },
+                h = {
+                  dimensions: {
+                    xAxis: Object(Pe.createDimension)(
+                      "xAxis",
+                      r.map(function (e) {
+                        return e.timeField;
+                      })
+                    ),
+                    yAxis: Object(Pe.createDimension)(
+                      "yAxis",
+                      r.map(function (e) {
+                        return e.valueField;
+                      })
+                    ),
+                  },
+                  activeDimensions: p,
+                  pos: i,
+                  mode: u.mode || "single",
+                },
+                m = a.a.createElement(d, ql({}, h));
+              return a.a.cloneElement(c, {
+                content: m,
+                position: { x: i.pageX, y: i.pageY },
+                offset: { x: 10, y: 10 },
+              });
+            }),
+            (n.renderContextMenu = function () {
+              var e = n.props.series,
+                t = n.state,
+                r = t.contextPos,
+                o = t.contextItem;
+              if (!t.isContextVisible || !r || !o || 0 === e.length)
+                return null;
+              var i = {
+                  xAxis: [
+                    o ? o.series.seriesIndex : 0,
+                    o ? o.dataIndex : void 0,
+                  ],
+                  yAxis: o ? [o.series.seriesIndex, o.dataIndex] : null,
+                },
+                l = {
+                  xAxis: Object(Pe.createDimension)(
+                    "xAxis",
+                    e.map(function (e) {
+                      return e.timeField;
+                    })
+                  ),
+                  yAxis: Object(Pe.createDimension)(
+                    "yAxis",
+                    e.map(function (e) {
+                      return e.valueField;
+                    })
+                  ),
+                },
+                s = {
+                  x: r.pageX,
+                  y: r.pageY,
+                  onClose: function () {
+                    return n.setState({ isContextVisible: !1 });
+                  },
+                  getContextMenuSource: function () {
+                    return {
+                      datapoint: o.datapoint,
+                      dataIndex: o.dataIndex,
+                      series: o.series,
+                      seriesIndex: o.series.seriesIndex,
+                      pageX: r.pageX,
+                      pageY: r.pageY,
+                    };
+                  },
+                  formatSourceDate: function (e, t) {
+                    var n;
+                    return null === (n = Object(Pe.dateTime)(e)) || void 0 === n
+                      ? void 0
+                      : n.format(t);
+                  },
+                  dimensions: l,
+                  contextDimensions: i,
+                };
+              return a.a.createElement(Ll, s);
+            }),
+            (n.getBarWidth = function () {
+              var e = n.props.series;
+              return Math.min.apply(
+                Math,
+                Bl(
+                  e.map(function (e) {
+                    return e.timeStep;
+                  })
+                )
+              );
+            }),
+            n
+          );
+        }
+        var n, r, o;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && Ql(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "componentDidUpdate",
+              value: function (e, t) {
+                e !== this.props && this.draw();
+              },
+            },
+            {
+              key: "componentDidMount",
+              value: function () {
+                this.draw(),
+                  this.element &&
+                    ((this.$element = Ni()(this.element)),
+                    this.$element.bind("plotselected", this.onPlotSelected),
+                    this.$element.bind("plothover", this.onPlotHover),
+                    this.$element.bind("plotclick", this.onPlotClick));
+              },
+            },
+            {
+              key: "componentWillUnmount",
+              value: function () {
+                this.$element.unbind("plotselected", this.onPlotSelected);
+              },
+            },
+            {
+              key: "getYAxes",
+              value: function (e) {
+                return 0 === e.length
+                  ? [{ show: !0, min: -1, max: 1 }]
+                  : Ui()(
+                      e.map(function (e) {
+                        var t = e.yAxis ? e.yAxis.index : 1;
+                        return {
+                          show: !0,
+                          index: t,
+                          position: 1 === t ? "left" : "right",
+                          min:
+                            e.yAxis && !isNaN(e.yAxis.min) ? e.yAxis.min : null,
+                          tickDecimals:
+                            e.yAxis && !isNaN(e.yAxis.tickDecimals)
+                              ? e.yAxis.tickDecimals
+                              : null,
+                        };
+                      }),
+                      function (e) {
+                        return e.index;
+                      }
+                    );
+              },
+            },
+            {
+              key: "draw",
+              value: function () {
+                if (null !== this.element) {
+                  var e = this.props,
+                    t = e.width,
+                    n = e.series,
+                    r = e.timeRange,
+                    a = e.showLines,
+                    o = e.showBars,
+                    i = e.showPoints,
+                    l = e.isStacked,
+                    s = e.lineWidth,
+                    c = e.timeZone,
+                    u = e.onHorizontalRegionSelected;
+                  if (t) {
+                    var f = t / 100,
+                      d = r.from.valueOf(),
+                      p = r.to.valueOf(),
+                      h = this.getYAxes(n),
+                      m = {
+                        legend: { show: !1 },
+                        series: {
+                          stack: l,
+                          lines: { show: a, linewidth: s, zero: !1 },
+                          points: {
+                            show: i,
+                            fill: 1,
+                            fillColor: !1,
+                            radius: 2,
+                          },
+                          bars: {
+                            show: o,
+                            fill: 1,
+                            barWidth: o ? this.getBarWidth() / 1.5 : 1,
+                            zero: !1,
+                            lineWidth: s,
+                          },
+                          shadowSize: 0,
+                        },
+                        xaxis: {
+                          show: !0,
+                          mode: "time",
+                          min: d,
+                          max: p,
+                          label: "Datetime",
+                          ticks: f,
+                          timezone: c || Pe.DefaultTimeZone,
+                          timeformat: Object(zi.grafanaTimeFormat)(f, d, p),
+                        },
+                        yaxes: h,
+                        grid: {
+                          minBorderMargin: 0,
+                          markings: [],
+                          backgroundColor: null,
+                          borderWidth: 0,
+                          hoverable: !0,
+                          clickable: !0,
+                          color: "#a1a1a1",
+                          margin: { left: 0, right: 0 },
+                          labelMarginX: 0,
+                          mouseActiveRadius: 30,
+                        },
+                        selection: { mode: u ? "x" : null, color: "#666" },
+                        crosshair: { mode: "x" },
+                      };
+                    try {
+                      Ni.a.plot(
+                        this.element,
+                        n.filter(function (e) {
+                          return e.isVisible;
+                        }),
+                        m
+                      );
+                    } catch (e) {
+                      throw (
+                        (console.log("Graph rendering error", e, m, n),
+                        new Error("Error rendering panel"))
+                      );
+                    }
+                  }
+                }
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this,
+                  t = this.props,
+                  n = t.height,
+                  r = t.width,
+                  o = 0 === t.series.length,
+                  i = this.renderTooltip(),
+                  l = this.renderContextMenu();
+                return a.a.createElement(
+                  "div",
+                  { className: "graph-panel" },
+                  a.a.createElement("div", {
+                    className: "graph-panel__chart",
+                    ref: function (t) {
+                      return (e.element = t);
+                    },
+                    style: { height: n, width: r },
+                    onMouseLeave: function () {
+                      e.setState({ isTooltipVisible: !1 });
+                    },
+                  }),
+                  o &&
+                    a.a.createElement(
+                      "div",
+                      { className: "datapoints-warning" },
+                      "No data"
+                    ),
+                  i,
+                  l
+                );
+              },
+            },
+          ]) && Hl(n.prototype, r),
+          o && Hl(n, o),
+          t
+        );
+      })(r.PureComponent);
+      Yl.defaultProps = {
+        showLines: !0,
+        showPoints: !1,
+        showBars: !1,
+        isStacked: !1,
+        lineWidth: 1,
+      };
+      var Kl = n("yqtr");
+      function Jl() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })(["\n            cursor: default;\n          "]);
+        return (
+          (Jl = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Zl(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Xl(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var es = function (e) {
+        var t = e.disabled,
+          n = e.yAxis,
+          r = e.color,
+          i = e.onColorChange,
+          l = e.onToggleAxis,
+          s = { color: r };
+        return (
+          t ||
+            (s = (function (e) {
+              for (var t = 1; t < arguments.length; t++) {
+                var n = null != arguments[t] ? arguments[t] : {};
+                t % 2
+                  ? Zl(Object(n), !0).forEach(function (t) {
+                      Xl(e, t, n[t]);
+                    })
+                  : Object.getOwnPropertyDescriptors
+                  ? Object.defineProperties(
+                      e,
+                      Object.getOwnPropertyDescriptors(n)
+                    )
+                  : Zl(Object(n)).forEach(function (t) {
+                      Object.defineProperty(
+                        e,
+                        t,
+                        Object.getOwnPropertyDescriptor(n, t)
+                      );
+                    });
+              }
+              return e;
+            })({}, s, { className: "pointer" })),
+          t
+            ? a.a.createElement(
+                "span",
+                {
+                  className: Object(o.cx)(
+                    "graph-legend-icon",
+                    t && Object(o.css)(Jl())
+                  ),
+                },
+                a.a.createElement(Xi, s)
+              )
+            : a.a.createElement(
+                dn,
+                {
+                  yaxis: n,
+                  color: r,
+                  onChange: i,
+                  onToggleAxis: l,
+                  enableNamedColors: !0,
+                },
+                function (e) {
+                  var t = e.ref,
+                    n = e.showColorPicker,
+                    r = e.hideColorPicker;
+                  return a.a.createElement(
+                    "span",
+                    {
+                      ref: t,
+                      onClick: n,
+                      onMouseLeave: r,
+                      className: "graph-legend-icon",
+                    },
+                    a.a.createElement(Xi, s)
+                  );
+                }
+              )
+        );
+      };
+      es.displayName = "LegendSeriesIcon";
+      var ts = n("ODSy"),
+        ns = n("6acW"),
+        rs = n.n(ns);
+      function as() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })(["\n        margin-left: 6px;\n      "]);
+        return (
+          (as = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      var os = function (e) {
+        var t = e.stat;
+        return a.a.createElement(
+          "div",
+          { className: Object(o.css)(as()) },
+          t.title && "".concat(rs()(t.title), ":"),
+          " ",
+          Object(Pe.formattedValueToString)(t)
+        );
+      };
+      os.displayName = "LegendItemStat";
+      var is = function (e) {
+        var t = e.stats;
+        return 0 === t.length
+          ? null
+          : a.a.createElement(ts.a, {
+              items: t,
+              renderItem: function (e) {
+                return a.a.createElement(os, { stat: e });
+              },
+            });
+      };
+      function ls() {
+        var e = ps(["\n      color: ", ";\n    "]);
+        return (
+          (ls = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ss() {
+        var e = ps(["\n      text-align: right;\n    "]);
+        return (
+          (ss = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function cs() {
+        var e = ps([
+          "\n      display: flex;\n      white-space: nowrap;\n    ",
+        ]);
+        return (
+          (cs = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function us() {
+        var e = ps([
+          "\n      cursor: pointer;\n      white-space: nowrap;\n    ",
+        ]);
+        return (
+          (us = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function fs() {
+        var e = ps([
+          "\n      font-size: ",
+          ";\n      td {\n        padding: ",
+          " ",
+          ";\n        white-space: nowrap;\n      }\n    ",
+        ]);
+        return (
+          (fs = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ds() {
+        var e = ps([
+          "\n          cursor: pointer;\n          white-space: pre-wrap;\n          color: ",
+          ";\n        ",
+        ]);
+        return (
+          (ds = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ps(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      is.displayName = "LegendStatsList";
+      var hs = function (e) {
+          var t = e.item,
+            n = e.onSeriesColorChange,
+            i = e.onToggleAxis,
+            l = e.onLabelClick,
+            s = Object(r.useContext)(Bt.a);
+          return a.a.createElement(
+            a.a.Fragment,
+            null,
+            a.a.createElement(es, {
+              disabled: !n,
+              color: t.color,
+              onColorChange: function (e) {
+                n && n(t.label, e);
+              },
+              onToggleAxis: i,
+              yAxis: t.yAxis,
+            }),
+            a.a.createElement(
+              "div",
+              {
+                onClick: function (e) {
+                  l && l(t, e);
+                },
+                className: Object(o.css)(
+                  ds(),
+                  !t.isVisible && s.colors.linkDisabled
+                ),
+              },
+              t.label
+            ),
+            t.displayValues && a.a.createElement(is, { stats: t.displayValues })
+          );
+        },
+        ms = Object(i.g)(function (e) {
+          return {
+            row: Object(o.css)(
+              fs(),
+              e.typography.size.sm,
+              e.spacing.xxs,
+              e.spacing.sm
+            ),
+            label: Object(o.css)(us()),
+            itemWrapper: Object(o.css)(cs()),
+            value: Object(o.css)(ss()),
+            yAxisLabel: Object(o.css)(ls(), e.colors.gray2),
+          };
+        }),
+        gs = function (e) {
+          var t = e.item,
+            n = e.onSeriesColorChange,
+            i = e.onToggleAxis,
+            l = e.onLabelClick,
+            s = e.className,
+            c = Object(r.useContext)(Bt.a),
+            u = ms(c);
+          return a.a.createElement(
+            "tr",
+            { className: Object(o.cx)(u.row, s) },
+            a.a.createElement(
+              "td",
+              null,
+              a.a.createElement(
+                "span",
+                { className: u.itemWrapper },
+                a.a.createElement(es, {
+                  disabled: !!n,
+                  color: t.color,
+                  onColorChange: function (e) {
+                    n && n(t.label, e);
+                  },
+                  onToggleAxis: i,
+                  yAxis: t.yAxis,
+                }),
+                a.a.createElement(
+                  "div",
+                  {
+                    onClick: function (e) {
+                      l && l(t, e);
+                    },
+                    className: u.label,
+                  },
+                  t.label,
+                  " ",
+                  2 === t.yAxis &&
+                    a.a.createElement(
+                      "span",
+                      { className: u.yAxisLabel },
+                      "(right y-axis)"
+                    )
+                )
+              )
+            ),
+            t.displayValues &&
+              t.displayValues.map(function (e, t) {
+                return a.a.createElement(
+                  "td",
+                  {
+                    className: u.value,
+                    key: "".concat(e.title, "-").concat(t),
+                  },
+                  Object(Pe.formattedValueToString)(e)
+                );
+              })
+          );
+        },
+        bs = n("Ke2B"),
+        vs = n("1VFa"),
+        ys = n("v8eK"),
+        ws = n.n(ys),
+        Os = n("xweI"),
+        xs = n.n(Os);
+      function ks() {
+        return (ks =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function js() {
+        var e = Es(["\n              background: ", ";\n            "]);
+        return (
+          (js = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Ss() {
+        var e = Es([
+          "\n          font-size: ",
+          ";\n          th {\n            padding: ",
+          " ",
+          ";\n          }\n        ",
+        ]);
+        return (
+          (Ss = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Es(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      function Cs(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      var Ps = function (e) {
+        var t = e.items,
+          n = e.displayMode,
+          l = e.sortBy,
+          s = e.sortDesc,
+          c = e.onToggleSort,
+          u = e.onSeriesAxisToggle,
+          f = e.placement,
+          d =
+            (e.className,
+            Cs(e, [
+              "items",
+              "displayMode",
+              "sortBy",
+              "sortDesc",
+              "onToggleSort",
+              "onSeriesAxisToggle",
+              "placement",
+              "className",
+            ])),
+          p = Object(r.useContext)(Bt.a);
+        if (n === Kl.b.Table) {
+          var h = t
+              .map(function (e) {
+                return e.displayValues
+                  ? e.displayValues.map(function (e) {
+                      return e.title;
+                    })
+                  : [];
+              })
+              .reduce(
+                function (e, t) {
+                  return ws()(
+                    e,
+                    t.filter(function (e) {
+                      return !!e;
+                    })
+                  );
+                },
+                [""]
+              ),
+            m = l
+              ? xs()(t, function (e) {
+                  if (e.displayValues) {
+                    var t = e.displayValues.filter(function (e) {
+                      return e.title === l;
+                    })[0];
+                    return t && t.numeric;
+                  }
+                })
+              : t,
+            g = Object(i.e)(
+              { dark: p.colors.dark6, light: p.colors.gray5 },
+              p.type
+            );
+          return a.a.createElement(bs.a, {
+            className: Object(o.css)(
+              Ss(),
+              p.typography.size.sm,
+              p.spacing.xxs,
+              p.spacing.sm
+            ),
+            items: s ? m.reverse() : m,
+            columns: h,
+            placement: f,
+            sortBy: l,
+            sortDesc: s,
+            itemRenderer: function (e, t) {
+              return a.a.createElement(
+                gs,
+                ks(
+                  {
+                    key: "".concat(e.label, "-").concat(t),
+                    item: e,
+                    onToggleAxis: function () {
+                      u && u(e.label, 1 === e.yAxis ? 2 : 1);
+                    },
+                    className: Object(o.css)(js(), t % 2 == 0 ? g : "none"),
+                  },
+                  d
+                )
+              );
+            },
+            onToggleSort: c,
+          });
+        }
+        return a.a.createElement(vs.a, {
+          items: t,
+          placement: f,
+          itemRenderer: function (e) {
+            return a.a.createElement(
+              hs,
+              ks(
+                {
+                  item: e,
+                  onToggleAxis: function () {
+                    u && u(e.label, 1 === e.yAxis ? 2 : 1);
+                  },
+                },
+                d
+              )
+            );
+          },
+        });
+      };
+      function Ts() {
+        var e = _s(["\n    padding: 10px 0;\n    max-height: ", ";\n  "]);
+        return (
+          (Ts = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Ds() {
+        var e = _s(["\n    min-height: 65%;\n    flex-grow: 1;\n  "]);
+        return (
+          (Ds = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function As() {
+        var e = _s([
+          "\n    display: flex;\n    flex-direction: ",
+          ";\n    height: 100%;\n  ",
+        ]);
+        return (
+          (As = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function _s(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      Ps.displayName = "GraphLegend";
+      var Ns = Object(i.g)(function (e) {
+          var t = e.placement;
+          return {
+            wrapper: Object(o.css)(As(), "under" === t ? "column" : "row"),
+            graphContainer: Object(o.css)(Ds()),
+            legendContainer: Object(o.css)(
+              Ts(),
+              "under" === t ? "35%" : "none"
+            ),
+          };
+        }),
+        Ms = function (e) {
+          var t = e.series,
+            n = e.timeRange,
+            r = e.width,
+            o = e.height,
+            i = e.showBars,
+            l = e.showLines,
+            s = e.showPoints,
+            c = e.sortLegendBy,
+            u = e.sortLegendDesc,
+            f = e.isLegendVisible,
+            d = e.displayMode,
+            p = e.placement,
+            h = e.onSeriesAxisToggle,
+            m = e.onSeriesColorChange,
+            g = e.onSeriesToggle,
+            b = e.onToggleSort,
+            v = e.hideEmpty,
+            y = e.hideZero,
+            w = e.isStacked,
+            O = e.lineWidth,
+            x = e.onHorizontalRegionSelected,
+            k = e.timeZone,
+            j = e.children,
+            S = Ns(e),
+            E = S.graphContainer,
+            C = S.wrapper,
+            P = S.legendContainer,
+            T = t.reduce(function (e, t) {
+              return (function (e) {
+                var t =
+                    arguments.length > 1 &&
+                    void 0 !== arguments[1] &&
+                    arguments[1],
+                  n =
+                    arguments.length > 2 &&
+                    void 0 !== arguments[2] &&
+                    arguments[2],
+                  r =
+                    0 ===
+                    e.reduce(function (e, t) {
+                      return e + (t[1] || 0);
+                    }, 0),
+                  a = !e.reduce(function (e, t) {
+                    return e && null !== t[1];
+                  }, !0);
+                return (t && a) || (n && r);
+              })(t.data, v, y)
+                ? e
+                : e.concat([
+                    {
+                      label: t.label,
+                      color: t.color,
+                      isVisible: t.isVisible,
+                      yAxis: t.yAxis.index,
+                      displayValues: t.info || [],
+                    },
+                  ]);
+            }, []);
+          return a.a.createElement(
+            "div",
+            { className: C },
+            a.a.createElement(
+              "div",
+              { className: E },
+              a.a.createElement(
+                Yl,
+                {
+                  series: t,
+                  timeRange: n,
+                  timeZone: k,
+                  showLines: l,
+                  showPoints: s,
+                  showBars: i,
+                  width: r,
+                  height: o,
+                  key: f ? "legend-visible" : "legend-invisible",
+                  isStacked: w,
+                  lineWidth: O,
+                  onHorizontalRegionSelected: x,
+                },
+                j
+              )
+            ),
+            f &&
+              a.a.createElement(
+                "div",
+                { className: P },
+                a.a.createElement(
+                  _.a,
+                  { hideHorizontalTrack: !0 },
+                  a.a.createElement(Ps, {
+                    items: T,
+                    displayMode: d,
+                    placement: p,
+                    sortBy: c,
+                    sortDesc: u,
+                    onLabelClick: function (e, t) {
+                      g && g(e.label, t);
+                    },
+                    onSeriesColorChange: m,
+                    onSeriesAxisToggle: h,
+                    onToggleSort: b,
+                  })
+                )
+              )
+          );
+        },
+        Is = n("G0UC");
+      function Rs(e) {
+        return (Rs =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Fs(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Ls(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Vs(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Bs(e, t) {
+        return !t || ("object" !== Rs(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function $s(e) {
+        return ($s = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function qs(e, t) {
+        return (qs =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Us = (function (e) {
+        function t(e) {
+          var n;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            ((n = Bs(this, $s(t).call(this, e))).state = {
+              values: e.getValues(),
+            }),
+            n
+          );
+        }
+        var n, r, o;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && qs(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "componentDidUpdate",
+              value: function (e) {
+                var t = this.props,
+                  n = t.renderCounter,
+                  r = t.source;
+                (n === e.renderCounter && r === e.source) ||
+                  this.setState({ values: this.props.getValues() });
+              },
+            },
+            {
+              key: "getOrientation",
+              value: function () {
+                var e = this.props,
+                  t = e.orientation,
+                  n = e.width,
+                  r = e.height;
+                return t === Pe.VizOrientation.Auto
+                  ? n > r
+                    ? Pe.VizOrientation.Vertical
+                    : Pe.VizOrientation.Horizontal
+                  : t;
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.renderValue,
+                  n = e.height,
+                  r = e.width,
+                  o = e.itemSpacing,
+                  i = e.getAlignmentFactors,
+                  l = this.state.values,
+                  s = this.getOrientation(),
+                  c = { display: "flex" },
+                  u = { display: "flex" },
+                  f = n,
+                  d = r;
+                s === Pe.VizOrientation.Horizontal
+                  ? ((u.flexDirection = "column"),
+                    (c.marginBottom = "".concat(o, "px")),
+                    (d = r),
+                    (f = n / l.length - o + o / l.length))
+                  : ((u.flexDirection = "row"),
+                    (u.justifyContent = "space-between"),
+                    (c.marginRight = "".concat(o, "px")),
+                    (f = n),
+                    (d = r / l.length - o + o / l.length)),
+                  (c.width = "".concat(d, "px")),
+                  (c.height = "".concat(f, "px"));
+                var p = i ? i(l, d, f) : {};
+                return a.a.createElement(
+                  "div",
+                  { style: u },
+                  l.map(function (e, n) {
+                    return a.a.createElement(
+                      "div",
+                      { key: n, style: zs(c, n, l.length) },
+                      t(e, d, f, p)
+                    );
+                  })
+                );
+              },
+            },
+          ]) && Vs(n.prototype, r),
+          o && Vs(n, o),
+          t
+        );
+      })(r.PureComponent);
+      function zs(e, t, n) {
+        return t === n - 1
+          ? (function (e) {
+              for (var t = 1; t < arguments.length; t++) {
+                var n = null != arguments[t] ? arguments[t] : {};
+                t % 2
+                  ? Fs(Object(n), !0).forEach(function (t) {
+                      Ls(e, t, n[t]);
+                    })
+                  : Object.getOwnPropertyDescriptors
+                  ? Object.defineProperties(
+                      e,
+                      Object.getOwnPropertyDescriptors(n)
+                    )
+                  : Fs(Object(n)).forEach(function (t) {
+                      Object.defineProperty(
+                        e,
+                        t,
+                        Object.getOwnPropertyDescriptor(n, t)
+                      );
+                    });
+              }
+              return e;
+            })({}, e, { marginRight: 0, marginBottom: 0 })
+          : e;
+      }
+      function Hs(e) {
+        switch (e) {
+          case "error":
+          case "warning":
+            return "fa fa-exclamation-triangle";
+          case "info":
+            return "fa fa-info-circle";
+          case "success":
+            return "fa fa-check";
+          default:
+            return "";
+        }
+      }
+      Us.defaultProps = { itemSpacing: 10 };
+      var Gs = function (e) {
+          var t = e.title,
+            n = e.buttonText,
+            r = e.onButtonClick,
+            o = e.onRemove,
+            i = e.children,
+            l = e.severity,
+            s = void 0 === l ? "error" : l,
+            c = fe()("alert", "alert-".concat(s));
+          return a.a.createElement(
+            "div",
+            { className: "alert-container" },
+            a.a.createElement(
+              "div",
+              { className: c },
+              a.a.createElement(
+                "div",
+                { className: "alert-icon" },
+                a.a.createElement("i", { className: Hs(s) })
+              ),
+              a.a.createElement(
+                "div",
+                { className: "alert-body" },
+                a.a.createElement("div", { className: "alert-title" }, t),
+                i && a.a.createElement("div", { className: "alert-text" }, i)
+              ),
+              o &&
+                a.a.createElement(
+                  "button",
+                  { type: "button", className: "alert-close", onClick: o },
+                  a.a.createElement("i", { className: "fa fa fa-remove" })
+                ),
+              r &&
+                a.a.createElement(
+                  "button",
+                  {
+                    type: "button",
+                    className: "btn btn-outline-danger",
+                    onClick: r,
+                  },
+                  n
+                )
+            )
+          );
+        },
+        Ws = n("Y+p1"),
+        Qs = n.n(Ws);
+      function Ys(e) {
+        return (Ys =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Ks(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Js(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? Ks(Object(n), !0).forEach(function (t) {
+                Zs(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : Ks(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Zs(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Xs(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function ec(e) {
+        return (ec = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function tc(e) {
+        if (void 0 === e)
+          throw new ReferenceError(
+            "this hasn't been initialised - super() hasn't been called"
+          );
+        return e;
+      }
+      function nc(e, t) {
+        return (nc =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var rc = (function (e) {
+        function t(e) {
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            (r = this),
+            ((n =
+              !(a = ec(t).call(this, e)) ||
+              ("object" !== Ys(a) && "function" != typeof a)
+                ? tc(r)
+                : a).onSeriesToggle = n.onSeriesToggle.bind(tc(n))),
+            (n.state = { hiddenSeries: [], toggledSeries: e.series }),
+            n
+          );
+        }
+        var n, r, a;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && nc(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "componentDidUpdate",
+              value: function (e) {
+                var t = this.props.series;
+                Qs()(e.series, t) ||
+                  this.setState({ hiddenSeries: [], toggledSeries: t });
+              },
+            },
+            {
+              key: "onSeriesToggle",
+              value: function (e, t) {
+                var n = this.props,
+                  r = n.series,
+                  a = n.onHiddenSeriesChanged,
+                  o = this.state.hiddenSeries;
+                if (t.ctrlKey || t.metaKey || t.shiftKey) {
+                  var i =
+                      o.indexOf(e) > -1
+                        ? o.filter(function (t) {
+                            return t !== e;
+                          })
+                        : o.concat([e]),
+                    l = r.map(function (e) {
+                      return Js({}, e, {
+                        isVisible: -1 === i.indexOf(e.label),
+                      });
+                    });
+                  this.setState(
+                    { hiddenSeries: i, toggledSeries: l },
+                    function () {
+                      return a ? a(i) : void 0;
+                    }
+                  );
+                } else {
+                  var s = r.map(function (e) {
+                      return e.label;
+                    }),
+                    c = o.length + 1 === s.length ? [] : rr()(s, [e]),
+                    u = r.map(function (e) {
+                      return Js({}, e, {
+                        isVisible: -1 === c.indexOf(e.label),
+                      });
+                    });
+                  this.setState(
+                    { hiddenSeries: c, toggledSeries: u },
+                    function () {
+                      return a ? a(c) : void 0;
+                    }
+                  );
+                }
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this.props.children,
+                  t = this.state.toggledSeries;
+                return e({
+                  onSeriesToggle: this.onSeriesToggle,
+                  toggledSeries: t,
+                });
+              },
+            },
+          ]) && Xs(n.prototype, r),
+          a && Xs(n, a),
+          t
+        );
+      })(a.a.Component);
+      function ac() {
+        return (ac =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function oc(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function ic(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function lc() {
+        var e = gc([
+          "\n    label: collapse__header-label;\n    font-weight: ",
+          ";\n    margin-right: ",
+          ";\n    font-size: ",
+          ";\n  ",
+        ]);
+        return (
+          (lc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function sc() {
+        var e = gc([
+          "\n    label: collapse__header-buttons--collapsed;\n    display: none;\n  ",
+        ]);
+        return (
+          (sc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function cc() {
+        var e = gc([
+          "\n    label: collapse__header-buttons;\n    margin-right: ",
+          ";\n    font-size: ",
+          ";\n    line-height: ",
+          ";\n    display: inherit;\n  ",
+        ]);
+        return (
+          (cc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function uc() {
+        var e = gc([
+          "\n    label: collapse__header--collapsed;\n    cursor: pointer;\n    padding: ",
+          " ",
+          ";\n  ",
+        ]);
+        return (
+          (uc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function fc() {
+        var e = gc([
+          "\n    label: collapse__header;\n    padding: ",
+          " ",
+          ";\n    display: flex;\n    cursor: inherit;\n    transition: all 0.1s linear;\n    cursor: pointer;\n  ",
+        ]);
+        return (
+          (fc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function dc() {
+        var e = gc([
+          "\n    label: collapse__loader_active;\n    &:after {\n      content: ' ';\n      display: block;\n      width: 25%;\n      top: 0;\n      top: -50%;\n      height: 250%;\n      position: absolute;\n      animation: loader 2s cubic-bezier(0.17, 0.67, 0.83, 0.67) 500ms;\n      animation-iteration-count: 100;\n      left: -25%;\n      background: ",
+          ";\n    }\n    @keyframes loader {\n      from {\n        left: -25%;\n        opacity: 0.1;\n      }\n      to {\n        left: 100%;\n        opacity: 1;\n      }\n    }\n  ",
+        ]);
+        return (
+          (dc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function pc() {
+        var e = gc([
+          "\n    label: collapse__loader;\n    height: 2px;\n    position: relative;\n    overflow: hidden;\n    background: none;\n    margin: ",
+          ";\n  ",
+        ]);
+        return (
+          (pc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function hc() {
+        var e = gc(["\n    label: collapse__body;\n    padding: ", "px;\n  "]);
+        return (
+          (hc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function mc() {
+        var e = gc(["\n    label: collapse;\n    margin-bottom: ", ";\n  "]);
+        return (
+          (mc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function gc(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var bc = Object(jr.a)(function (e) {
+          return {
+            collapse: Object(o.css)(mc(), e.spacing.sm),
+            collapseBody: Object(o.css)(hc(), e.panelPadding),
+            loader: Object(o.css)(pc(), e.spacing.xs),
+            loaderActive: Object(o.css)(dc(), e.colors.blue),
+            header: Object(o.css)(fc(), e.spacing.sm, e.spacing.md),
+            headerCollapsed: Object(o.css)(uc(), e.spacing.sm, e.spacing.md),
+            headerButtons: Object(o.css)(
+              cc(),
+              e.spacing.sm,
+              e.typography.size.lg,
+              e.typography.heading.h6
+            ),
+            headerButtonsCollapsed: Object(o.css)(sc()),
+            headerLabel: Object(o.css)(
+              lc(),
+              e.typography.weight.semibold,
+              e.spacing.sm,
+              e.typography.heading.h6
+            ),
+          };
+        }),
+        vc = function (e) {
+          var t = e.isOpen,
+            n = e.onToggle,
+            o = ic(e, ["isOpen", "onToggle"]),
+            i = oc(Object(r.useState)(t), 2),
+            l = i[0],
+            s = i[1];
+          return a.a.createElement(
+            yc,
+            ac({ isOpen: l }, o, {
+              onToggle: function () {
+                s(!l), n && n(!l);
+              },
+            })
+          );
+        },
+        yc = function (e) {
+          var t = e.isOpen,
+            n = e.label,
+            i = e.loading,
+            l = e.collapsible,
+            s = e.onToggle,
+            c = e.children,
+            u = Object(r.useContext)(Bt.a),
+            f = bc(u),
+            d = Object(o.cx)([f.collapse, "panel-container"]),
+            p = i
+              ? Object(o.cx)([f.loader, f.loaderActive])
+              : Object(o.cx)([f.loader]),
+            h = l
+              ? Object(o.cx)([f.header])
+              : Object(o.cx)([f.headerCollapsed]),
+            m = l
+              ? Object(o.cx)([f.headerButtons])
+              : Object(o.cx)([f.headerButtonsCollapsed]);
+          return a.a.createElement(
+            "div",
+            { className: d },
+            a.a.createElement(
+              "div",
+              {
+                className: h,
+                onClick: function () {
+                  s && s(!t);
+                },
+              },
+              a.a.createElement(
+                "div",
+                { className: m },
+                a.a.createElement(Y.a, { name: t ? "caret-up" : "caret-down" })
+              ),
+              a.a.createElement(
+                "div",
+                { className: Object(o.cx)([f.headerLabel]) },
+                n
+              )
+            ),
+            t &&
+              a.a.createElement(
+                "div",
+                { className: Object(o.cx)([f.collapseBody]) },
+                a.a.createElement("div", { className: p }),
+                c
+              )
+          );
+        };
+      function wc() {
+        var e = kc([
+          "\n      label: logs-label__value;\n      display: inline-block;\n      max-width: 20em;\n      text-overflow: ellipsis;\n      overflow: hidden;\n    ",
+        ]);
+        return (
+          (wc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Oc() {
+        var e = kc([
+          "\n      label: logs-label;\n      display: flex;\n      padding: 0 2px;\n      background-color: ",
+          ";\n      border-radius: ",
+          ";\n      margin: 1px 4px 0 0;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n      overflow: hidden;\n    ",
+        ]);
+        return (
+          (Oc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function xc() {
+        var e = kc([
+          "\n      display: flex;\n      flex-wrap: wrap;\n      font-size: ",
+          ";\n    ",
+        ]);
+        return (
+          (xc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function kc(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      yc.displayName = "Collapse";
+      var jc = ["level", "lvl", "filename"],
+        Sc = Object(i.g)(function (e) {
+          return {
+            logsLabels: Object(o.css)(xc(), e.typography.size.xs),
+            logsLabel: Object(o.css)(
+              Oc(),
+              Object(Ne.a)(
+                { light: e.colors.gray5, dark: e.colors.dark6 },
+                e.type
+              ),
+              e.border.radius
+            ),
+            logsLabelValue: Object(o.css)(wc()),
+          };
+        }),
+        Ec = Object(Bt.d)(function (e) {
+          var t = e.labels,
+            n = e.theme,
+            r = Sc(n),
+            i = Object.keys(t).filter(function (e) {
+              return !e.startsWith("_") && !jc.includes(e);
+            });
+          return 0 === i.length
+            ? a.a.createElement(
+                "span",
+                { className: Object(o.cx)([r.logsLabels]) },
+                a.a.createElement(
+                  "span",
+                  { className: Object(o.cx)([r.logsLabel]) },
+                  "(no unique labels)"
+                )
+              )
+            : a.a.createElement(
+                "span",
+                { className: Object(o.cx)([r.logsLabels]) },
+                i.map(function (e) {
+                  var n = t[e],
+                    i = "".concat(e, ": ").concat(n);
+                  return a.a.createElement(
+                    "span",
+                    { key: e, className: Object(o.cx)([r.logsLabel]) },
+                    a.a.createElement(
+                      "span",
+                      { className: Object(o.cx)([r.logsLabelValue]), title: i },
+                      n
+                    )
+                  );
+                })
+              );
+        });
+      Ec.displayName = "LogLabels";
+      var Cc = n("Wwog");
+      function Pc() {
+        var e = Gc([
+          "\n      label: logs-row-details__row;\n      position: relative;\n      vertical-align: top;\n      cursor: default;\n      &:hover {\n        background-color: ",
+          ";\n      }\n    ",
+        ]);
+        return (
+          (Pc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Tc() {
+        var e = Gc([
+          "\n      label: logs-row-details__heading;\n      font-weight: ",
+          ";\n      padding: ",
+          " 0 ",
+          ";\n    ",
+        ]);
+        return (
+          (Tc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Dc() {
+        var e = Gc([
+          "\n      label: logs-row-details__label;\n      max-width: 30em;\n      min-width: 20em;\n      padding: 0 ",
+          ";\n      overflow-wrap: break-word;\n    ",
+        ]);
+        return (
+          (Dc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Ac() {
+        var e = Gc([
+          "\n      label: logs-row-details__icon;\n      position: relative;\n      padding-right: ",
+          ";\n      color: ",
+          ";\n    ",
+        ]);
+        return (
+          (Ac = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function _c() {
+        var e = Gc([
+          "\n      label: logs-row-details-table;\n      line-height: 2;\n      width: 100%;\n      td:last-child {\n        width: 100%;\n      }\n    ",
+        ]);
+        return (
+          (_c = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Nc() {
+        var e = Gc([
+          "\n      label: logs-row-details-table;\n      border: 1px solid ",
+          ";\n      padding: 0 ",
+          " ",
+          ";\n      border-radius: 3px;\n      margin: 20px 8px 20px 16px;\n      cursor: default;\n    ",
+        ]);
+        return (
+          (Nc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Mc() {
+        var e = Gc([
+          "\n      label: logs-row__message;\n      white-space: pre-wrap;\n      word-break: break-all;\n    ",
+        ]);
+        return (
+          (Mc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Ic() {
+        var e = Gc([
+          "\n      label: logs-row__labels;\n      white-space: nowrap;\n      max-width: 22em;\n    ",
+        ]);
+        return (
+          (Ic = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Rc() {
+        var e = Gc([
+          "\n      label: logs-row__localtime;\n      white-space: nowrap;\n      max-width: 12.5em;\n    ",
+        ]);
+        return (
+          (Rc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Fc() {
+        var e = Gc([
+          "\n      label: logs-row-toggle-details__level;\n      position: relative;\n      font-size: 9px;\n      padding-top: 5px;\n      max-width: 15px;\n    ",
+        ]);
+        return (
+          (Fc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Lc() {
+        var e = Gc([
+          "\n      label: logs-row__level;\n      position: relative;\n      max-width: 10px;\n      cursor: default;\n      &::after {\n        content: '';\n        display: block;\n        position: absolute;\n        top: 1px;\n        bottom: 1px;\n        width: 3px;\n        background-color: ",
+          ";\n      }\n    ",
+        ]);
+        return (
+          (Lc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Vc() {
+        var e = Gc([
+          "\n      label: logs-row__duplicates;\n      text-align: right;\n      width: 4em;\n      cursor: default;\n    ",
+        ]);
+        return (
+          (Vc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Bc() {
+        var e = Gc([
+          "\n      label: logs-row;\n      width: 100%;\n      cursor: pointer;\n      vertical-align: top;\n      &:hover {\n        .",
+          " {\n          visibility: visible;\n          z-index: 1;\n          margin-left: 10px;\n          text-decoration: underline;\n          &:hover {\n            color: ",
+          ";\n          }\n        }\n      }\n      td:last-child {\n        width: 100%;\n      }\n\n      > td {\n        padding-right: ",
+          ";\n        border-top: ",
+          " solid transparent;\n        border-bottom: ",
+          " solid transparent;\n        height: 100%;\n      }\n\n      &:hover {\n        background: ",
+          ";\n      }\n    ",
+        ]);
+        return (
+          (Bc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function $c() {
+        var e = Gc([
+          "\n      label: logs-rows__horizontal-scroll;\n      overflow: scroll;\n    ",
+        ]);
+        return (
+          ($c = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function qc() {
+        var e = Gc([
+          "\n      label: logs-rows;\n      font-family: ",
+          ";\n      font-size: ",
+          ";\n      width: 100%;\n    ",
+        ]);
+        return (
+          (qc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Uc() {
+        var e = Gc([
+          "\n      label: logs-row__match-highlight--preview;\n      background-color: rgba(",
+          ", 0.2);\n      border-bottom-style: dotted;\n    ",
+        ]);
+        return (
+          (Uc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function zc() {
+        var e = Gc([
+          "\n      label: logs-row__match-highlight;\n      background: inherit;\n      padding: inherit;\n      color: ",
+          ";\n      background-color: rgba(",
+          ", 0.1);\n    ",
+        ]);
+        return (
+          (zc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Hc() {
+        var e = Gc([
+          "\n    label: context;\n    visibility: hidden;\n    white-space: nowrap;\n    position: relative;\n  ",
+        ]);
+        return (
+          (Hc = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Gc(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var Wc = Object(i.g)(function (e, t) {
+          var n = Object(Ne.a)(
+              { light: e.colors.gray5, dark: e.colors.gray2 },
+              e.type
+            ),
+            r = Object(Ne.a)(
+              { light: e.colors.gray5, dark: e.colors.gray2 },
+              e.type
+            ),
+            a = Object(Ne.a)(
+              { light: e.colors.gray5, dark: e.colors.dark4 },
+              e.type
+            ),
+            i = Object(o.css)(Hc());
+          switch (t) {
+            case Pe.LogLevel.crit:
+            case Pe.LogLevel.critical:
+              n = "#705da0";
+              break;
+            case Pe.LogLevel.error:
+            case Pe.LogLevel.err:
+              n = "#e24d42";
+              break;
+            case Pe.LogLevel.warning:
+            case Pe.LogLevel.warn:
+              n = e.colors.yellow;
+              break;
+            case Pe.LogLevel.info:
+              n = "#7eb26d";
+              break;
+            case Pe.LogLevel.debug:
+              n = "#1f78c1";
+              break;
+            case Pe.LogLevel.trace:
+              n = "#6ed0e0";
+          }
+          return {
+            logsRowMatchHighLight: Object(o.css)(
+              zc(),
+              e.colors.yellow,
+              e.colors.yellow
+            ),
+            logsRowMatchHighLightPreview: Object(o.css)(Uc(), e.colors.yellow),
+            logsRowsTable: Object(o.css)(
+              qc(),
+              e.typography.fontFamily.monospace,
+              e.typography.size.sm
+            ),
+            logsRowsHorizontalScroll: Object(o.css)($c()),
+            context: i,
+            logsRow: Object(o.css)(
+              Bc(),
+              i,
+              e.colors.yellow,
+              e.spacing.sm,
+              e.border.width.sm,
+              e.border.width.sm,
+              e.colors.pageBg
+            ),
+            logsRowDuplicates: Object(o.css)(Vc()),
+            logsRowLevel: Object(o.css)(Lc(), n),
+            logsRowToggleDetails: Object(o.css)(Fc()),
+            logsRowLocalTime: Object(o.css)(Rc()),
+            logsRowLabels: Object(o.css)(Ic()),
+            logsRowMessage: Object(o.css)(Mc()),
+            logDetailsContainer: Object(o.css)(
+              Nc(),
+              r,
+              e.spacing.sm,
+              e.spacing.sm
+            ),
+            logDetailsTable: Object(o.css)(_c()),
+            logsDetailsIcon: Object(o.css)(Ac(), e.spacing.md, e.colors.gray3),
+            logDetailsLabel: Object(o.css)(Dc(), e.spacing.sm),
+            logDetailsHeading: Object(o.css)(
+              Tc(),
+              e.typography.weight.bold,
+              e.spacing.sm,
+              e.spacing.xs
+            ),
+            logDetailsValue: Object(o.css)(Pc(), a),
+          };
+        }),
+        Qc = n("TYy9"),
+        Yc = n.n(Qc),
+        Kc = n("aBYM"),
+        Jc = n.n(Kc);
+      function Zc(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function Xc(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function eu(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              Xc(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              Xc(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      var tu = (function () {
+          var e = eu(
+            regeneratorRuntime.mark(function e(t, n, r) {
+              var a, o;
+              return regeneratorRuntime.wrap(function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      return (
+                        (a = [
+                          t(n, { limit: r }),
+                          t(n, { limit: r + 1, direction: "FORWARD" }),
+                        ]),
+                        (e.next = 3),
+                        Promise.all(
+                          a.map(function (e) {
+                            return e.catch(function (e) {
+                              return e;
+                            });
+                          })
+                        )
+                      );
+                    case 3:
+                      return (
+                        (o = e.sent),
+                        e.abrupt("return", {
+                          data: o.map(function (e) {
+                            var t = e;
+                            if (!t.data) return [];
+                            for (var r = [], a = 0; a < t.data.length; a++)
+                              for (
+                                var o = Object(Pe.toDataFrame)(t.data[a]),
+                                  i = new Pe.FieldCache(o),
+                                  l = i.getFieldByName("ts"),
+                                  s = i.getFieldByName("id"),
+                                  c = 0;
+                                c < l.values.length;
+                                c++
+                              ) {
+                                if (s) {
+                                  if (s.values.get(c) === n.uid) continue;
+                                } else if (
+                                  parseInt(l.values.get(c), 10) ===
+                                  n.timeEpochMs
+                                )
+                                  continue;
+                                var u = o.fields
+                                  .filter(function (e) {
+                                    return "line" === e.name;
+                                  })[0]
+                                  .values.get(c);
+                                0 === r.length ? (r[0] = [u]) : r[0].push(u);
+                              }
+                            return r;
+                          }),
+                          errors: o.map(function (e) {
+                            var t = e;
+                            return t.message ? t.message : "";
+                          }),
+                        })
+                      );
+                    case 5:
+                    case "end":
+                      return e.stop();
+                  }
+              }, e);
+            })
+          );
+          return function (t, n, r) {
+            return e.apply(this, arguments);
+          };
+        })(),
+        nu = function (e) {
+          var t = e.getRowContext,
+            n = e.row,
+            a = e.children,
+            o = Zc(Object(r.useState)(10), 2),
+            i = o[0],
+            l = o[1],
+            s = Zc(Object(r.useState)(null), 2),
+            c = s[0],
+            u = s[1],
+            f = Zc(Object(r.useState)({ before: !0, after: !0 }), 2),
+            d = f[0],
+            p = f[1],
+            h = Jc()(
+              eu(
+                regeneratorRuntime.mark(function e() {
+                  return regeneratorRuntime.wrap(function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (e.next = 2), tu(t, n, i);
+                        case 2:
+                          return e.abrupt("return", e.sent);
+                        case 3:
+                        case "end":
+                          return e.stop();
+                      }
+                  }, e);
+                })
+              ),
+              [i]
+            ).value;
+          return (
+            Object(r.useEffect)(
+              function () {
+                h &&
+                  u(function (e) {
+                    var t = !0,
+                      n = !0;
+                    return (
+                      e && e.data[0].length === h.data[0].length && (t = !1),
+                      e && e.data[1].length === h.data[1].length && (n = !1),
+                      p({ before: t, after: n }),
+                      h
+                    );
+                  });
+              },
+              [h]
+            ),
+            a({
+              result: {
+                before: c ? Yc()(c.data[0]) : [],
+                after: c ? Yc()(c.data[1]) : [],
+              },
+              errors: {
+                before: c ? c.errors[0] : void 0,
+                after: c ? c.errors[1] : void 0,
+              },
+              hasMoreContextRows: d,
+              updateLimit: function () {
+                return l(i + 10);
+              },
+            })
+          );
+        };
+      function ru() {
+        var e = fu([
+          "\n    label: logs-stats-row__innerbar;\n    height: 4px;\n    overflow: hidden;\n    background: ",
+          ";\n    background: ",
+          ";\n  ",
+        ]);
+        return (
+          (ru = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function au() {
+        var e = fu([
+          "\n    label: logs-stats-row__bar;\n    height: 4px;\n    overflow: hidden;\n    background: ",
+          ";\n  ",
+        ]);
+        return (
+          (au = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ou() {
+        var e = fu([
+          "\n    label: logs-stats-row__percent;\n    text-align: right;\n    margin-left: 0.5em;\n    width: 3em;\n  ",
+        ]);
+        return (
+          (ou = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function iu() {
+        var e = fu([
+          "\n    label: logs-stats-row__count;\n    text-align: right;\n    margin-left: 0.5em;\n  ",
+        ]);
+        return (
+          (iu = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function lu() {
+        var e = fu([
+          "\n    label: logs-stats-row__value;\n    flex: 1;\n    text-overflow: ellipsis;\n    overflow: hidden;\n  ",
+        ]);
+        return (
+          (lu = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function su() {
+        var e = fu([
+          "\n    label: logs-stats-row__label;\n    display: flex;\n    margin-bottom: 1px;\n  ",
+        ]);
+        return (
+          (su = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function cu() {
+        var e = fu([
+          "\n    label: logs-stats-row--active;\n    color: ",
+          ";\n    position: relative;\n  ",
+        ]);
+        return (
+          (cu = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function uu() {
+        var e = fu(["\n    label: logs-stats-row;\n    margin: ", "px 0;\n  "]);
+        return (
+          (uu = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function fu(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var du = function (e) {
+        var t = e.active,
+          n = e.count,
+          i = e.proportion,
+          l = e.value,
+          s = (function (e) {
+            return {
+              logsStatsRow: Object(o.css)(
+                uu(),
+                parseInt(e.spacing.d, 10) / 1.75
+              ),
+              logsStatsRowActive: Object(o.css)(cu(), e.colors.blue),
+              logsStatsRowLabel: Object(o.css)(su()),
+              logsStatsRowValue: Object(o.css)(lu()),
+              logsStatsRowCount: Object(o.css)(iu()),
+              logsStatsRowPercent: Object(o.css)(ou()),
+              logsStatsRowBar: Object(o.css)(au(), e.colors.textFaint),
+              logsStatsRowInnerBar: Object(o.css)(
+                ru(),
+                e.colors.textFaint,
+                e.colors.blue
+              ),
+            };
+          })(Object(r.useContext)(Bt.a)),
+          c = "".concat(Math.round(100 * i), "%"),
+          u = { width: c },
+          f = t
+            ? Object(o.cx)([s.logsStatsRow, s.logsStatsRowActive])
+            : Object(o.cx)([s.logsStatsRow]);
+        return a.a.createElement(
+          "div",
+          { className: f },
+          a.a.createElement(
+            "div",
+            { className: Object(o.cx)([s.logsStatsRowLabel]) },
+            a.a.createElement(
+              "div",
+              { className: Object(o.cx)([s.logsStatsRowValue]), title: l },
+              l
+            ),
+            a.a.createElement(
+              "div",
+              { className: Object(o.cx)([s.logsStatsRowCount]) },
+              n
+            ),
+            a.a.createElement(
+              "div",
+              { className: Object(o.cx)([s.logsStatsRowPercent]) },
+              c
+            )
+          ),
+          a.a.createElement(
+            "div",
+            { className: Object(o.cx)([s.logsStatsRowBar]) },
+            a.a.createElement("div", {
+              className: Object(o.cx)([s.logsStatsRowInnerBar]),
+              style: u,
+            })
+          )
+        );
+      };
+      function pu(e) {
+        return (pu =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function hu() {
+        return (hu =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function mu(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function gu(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function bu(e, t) {
+        return !t || ("object" !== pu(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function vu(e) {
+        return (vu = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function yu(e, t) {
+        return (yu =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      function wu() {
+        var e = Su([
+          "\n      label: logs-stats__body;\n      padding: 5px 0;\n    ",
+        ]);
+        return (
+          (wu = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Ou() {
+        var e = Su([
+          "\n      label: logs-stats__close;\n      cursor: pointer;\n    ",
+        ]);
+        return (
+          (Ou = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function xu() {
+        var e = Su([
+          "\n      label: logs-stats__title;\n      font-weight: ",
+          ";\n      padding-right: ",
+          ";\n      display: inline-block;\n      white-space: nowrap;\n      text-overflow: ellipsis;\n      flex-grow: 1;\n    ",
+        ]);
+        return (
+          (xu = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ku() {
+        var e = Su([
+          "\n      label: logs-stats__header;\n      border-bottom: 1px solid ",
+          ";\n      display: flex;\n    ",
+        ]);
+        return (
+          (ku = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ju() {
+        var e = Su([
+          "\n      label: logs-stats;\n      column-span: 2;\n      background: inherit;\n      color: ",
+          ";\n      word-break: break-all;\n    ",
+        ]);
+        return (
+          (ju = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Su(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      du.displayName = "LogLabelStatsRow";
+      var Eu = Object(i.g)(function (e) {
+          var t = Object(Ne.a)(
+            { light: e.colors.gray5, dark: e.colors.dark9 },
+            e.type
+          );
+          return {
+            logsStats: Object(o.css)(ju(), e.colors.text),
+            logsStatsHeader: Object(o.css)(ku(), t),
+            logsStatsTitle: Object(o.css)(
+              xu(),
+              e.typography.weight.semibold,
+              e.spacing.d
+            ),
+            logsStatsClose: Object(o.css)(Ou()),
+            logsStatsBody: Object(o.css)(wu()),
+          };
+        }),
+        Cu = (function (e) {
+          function t() {
+            return mu(this, t), bu(this, vu(t).apply(this, arguments));
+          }
+          var n, r, o;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && yu(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.label,
+                    n = e.rowCount,
+                    r = e.stats,
+                    o = e.value,
+                    i = e.theme,
+                    l = e.isLabel,
+                    s = Eu(i),
+                    c = r.slice(0, 5),
+                    u = c.find(function (e) {
+                      return e.value === o;
+                    }),
+                    f = r.slice(5),
+                    d = !u;
+                  d &&
+                    ((u = f.find(function (e) {
+                      return e.value === o;
+                    })),
+                    (f = f.filter(function (e) {
+                      return e.value !== o;
+                    })));
+                  var p = f.reduce(function (e, t) {
+                      return e + t.count;
+                    }, 0),
+                    h =
+                      c.reduce(function (e, t) {
+                        return e + t.count;
+                      }, 0) + p,
+                    m = p / h;
+                  return a.a.createElement(
+                    "td",
+                    { className: s.logsStats },
+                    a.a.createElement(
+                      "div",
+                      { className: s.logsStatsHeader },
+                      a.a.createElement(
+                        "div",
+                        { className: s.logsStatsTitle },
+                        t,
+                        ": ",
+                        h,
+                        " of ",
+                        n,
+                        " rows have that ",
+                        l ? "label" : "field"
+                      )
+                    ),
+                    a.a.createElement(
+                      "div",
+                      { className: s.logsStatsBody },
+                      c.map(function (e) {
+                        return a.a.createElement(
+                          du,
+                          hu({ key: e.value }, e, { active: e.value === o })
+                        );
+                      }),
+                      d &&
+                        u &&
+                        a.a.createElement(
+                          du,
+                          hu({ key: u.value }, u, { active: !0 })
+                        ),
+                      p > 0 &&
+                        a.a.createElement(du, {
+                          key: "__OTHERS__",
+                          count: p,
+                          value: "Other",
+                          proportion: m,
+                        })
+                    )
+                  );
+                },
+              },
+            ]) && gu(n.prototype, r),
+            o && gu(n, o),
+            t
+          );
+        })(r.PureComponent),
+        Pu = Object(i.i)(Cu);
+      function Tu(e) {
+        return (Tu =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Du(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Au(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function _u(e, t) {
+        return !t || ("object" !== Tu(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Nu(e) {
+        return (Nu = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Mu(e, t) {
+        return (Mu =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      function Iu() {
+        var e = Lu([
+          "\n      label: wordBreakAll;\n      word-break: break-all;\n    ",
+        ]);
+        return (
+          (Iu = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Ru() {
+        var e = Lu([
+          "\n      label: hoverCursor;\n      cursor: pointer;\n    ",
+        ]);
+        return (
+          (Ru = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Fu() {
+        var e = Lu([
+          "\n      label: noHoverBackground;\n      :hover {\n        background-color: transparent;\n      }\n    ",
+        ]);
+        return (
+          (Fu = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Lu(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      Pu.displayName = "LogLabelStats";
+      var Vu = Object(jr.a)(function (e) {
+          return {
+            noHoverBackground: Object(o.css)(Fu()),
+            hoverCursor: Object(o.css)(Ru()),
+            wordBreakAll: Object(o.css)(Iu()),
+          };
+        }),
+        Bu = (function (e) {
+          function t() {
+            var e, n;
+            Du(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = _u(
+                this,
+                (e = Nu(t)).call.apply(e, [this].concat(a))
+              )).state = {
+                showFieldsStats: !1,
+                fieldCount: 0,
+                fieldStats: null,
+              }),
+              (n.filterLabel = function () {
+                var e = n.props,
+                  t = e.onClickFilterLabel,
+                  r = e.parsedKey,
+                  a = e.parsedValue;
+                t && t(r, a);
+              }),
+              (n.filterOutLabel = function () {
+                var e = n.props,
+                  t = e.onClickFilterOutLabel,
+                  r = e.parsedKey,
+                  a = e.parsedValue;
+                t && t(r, a);
+              }),
+              (n.showStats = function () {
+                if (!n.state.showFieldsStats) {
+                  var e = n.props.getStats(),
+                    t = e
+                      ? e.reduce(function (e, t) {
+                          return e + t.count;
+                        }, 0)
+                      : 0;
+                  n.setState({ fieldStats: e, fieldCount: t });
+                }
+                n.toggleFieldsStats();
+              }),
+              n
+            );
+          }
+          var n, r, i;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Mu(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "toggleFieldsStats",
+                value: function () {
+                  this.setState(function (e) {
+                    return { showFieldsStats: !e.showFieldsStats };
+                  });
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e,
+                    t,
+                    n,
+                    r = this.props,
+                    i = r.theme,
+                    l = r.parsedKey,
+                    s = r.parsedValue,
+                    c = r.isLabel,
+                    u = r.links,
+                    f = this.state,
+                    d = f.showFieldsStats,
+                    p = f.fieldStats,
+                    h = f.fieldCount,
+                    m = Vu(i),
+                    g = Wc(i);
+                  return a.a.createElement(
+                    "tr",
+                    {
+                      className: Object(o.cx)(
+                        g.logDetailsValue,
+                        ((e = {}),
+                        (t = m.noHoverBackground),
+                        (n = d),
+                        t in e
+                          ? Object.defineProperty(e, t, {
+                              value: n,
+                              enumerable: !0,
+                              configurable: !0,
+                              writable: !0,
+                            })
+                          : (e[t] = n),
+                        e)
+                      ),
+                    },
+                    a.a.createElement(
+                      "td",
+                      { className: g.logsDetailsIcon, colSpan: c ? void 0 : 3 },
+                      a.a.createElement("i", {
+                        title: "Ad-hoc statistics",
+                        className: "fa fa-signal ".concat(m.hoverCursor),
+                        onClick: this.showStats,
+                      })
+                    ),
+                    c &&
+                      a.a.createElement(
+                        a.a.Fragment,
+                        null,
+                        a.a.createElement(
+                          "td",
+                          { className: g.logsDetailsIcon },
+                          a.a.createElement("i", {
+                            title: "Filter for value",
+                            className: "fa fa-search-plus ".concat(
+                              m.hoverCursor
+                            ),
+                            onClick: this.filterLabel,
+                          })
+                        ),
+                        a.a.createElement(
+                          "td",
+                          { className: g.logsDetailsIcon },
+                          a.a.createElement("i", {
+                            title: "Filter out value",
+                            className: "fa fa-search-minus ".concat(
+                              m.hoverCursor
+                            ),
+                            onClick: this.filterOutLabel,
+                          })
+                        )
+                      ),
+                    a.a.createElement(
+                      "td",
+                      { className: g.logDetailsLabel },
+                      l
+                    ),
+                    a.a.createElement(
+                      "td",
+                      { className: m.wordBreakAll },
+                      s,
+                      u &&
+                        u.map(function (e) {
+                          return a.a.createElement(
+                            "span",
+                            { key: e },
+                            " ",
+                            a.a.createElement(
+                              "a",
+                              { href: e, target: "_blank" },
+                              a.a.createElement("i", {
+                                className: "fa fa-external-link",
+                              })
+                            )
+                          );
+                        }),
+                      d &&
+                        a.a.createElement(Pu, {
+                          stats: p,
+                          label: l,
+                          value: s,
+                          rowCount: h,
+                          isLabel: c,
+                        })
+                    )
+                  );
+                },
+              },
+            ]) && Au(n.prototype, r),
+            i && Au(n, i),
+            t
+          );
+        })(r.PureComponent),
+        $u = Object(i.i)(Bu);
+      function qu(e) {
+        return (qu =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Uu(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function zu(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Hu(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? zu(Object(n), !0).forEach(function (t) {
+                Gu(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : zu(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Gu(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Wu(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Qu(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Yu(e, t) {
+        return !t || ("object" !== qu(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Ku(e) {
+        return (Ku = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Ju(e, t) {
+        return (Ju =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      function Zu() {
+        var e = tf([
+          "\n      label: logDetailsDefaultCursor;\n      cursor: default;\n    ",
+        ]);
+        return (
+          (Zu = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Xu() {
+        var e = tf([
+          "\n      label: logs-row__level_details;\n      &::after {\n        top: -3px;\n      }\n    ",
+        ]);
+        return (
+          (Xu = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ef() {
+        var e = tf([
+          "\n      label: hoverBackground;\n      background-color: ",
+          ";\n    ",
+        ]);
+        return (
+          (ef = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function tf(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      $u.displayName = "LogDetailsRow";
+      var nf = Object(jr.a)(function (e) {
+          var t = Object(Ne.a)(
+            { light: e.colors.gray7, dark: e.colors.dark2 },
+            e.type
+          );
+          return {
+            hoverBackground: Object(o.css)(ef(), t),
+            logsRowLevelDetails: Object(o.css)(Xu()),
+            logDetailsDefaultCursor: Object(o.css)(Zu()),
+          };
+        }),
+        rf = (function (e) {
+          function t() {
+            var e, n;
+            Wu(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = Yu(
+                this,
+                (e = Ku(t)).call.apply(e, [this].concat(a))
+              )).getParser = Object(Cc.a)(Pe.getParser)),
+              (n.parseMessage = Object(Cc.a)(function (e) {
+                var t = n.getParser(e);
+                return t
+                  ? t.getFields(e).map(function (e) {
+                      return {
+                        key: t.getLabelFromField(e),
+                        value: t.getValueFromField(e),
+                      };
+                    })
+                  : [];
+              })),
+              (n.getDerivedFields = Object(Cc.a)(function (e) {
+                return e.dataFrame.fields
+                  .map(function (e, t) {
+                    return Hu({}, e, { index: t });
+                  })
+                  .filter(function (t, n) {
+                    return "id" !== t.name && e.entryFieldIndex !== n;
+                  })
+                  .filter(function (t) {
+                    var n = t.values.get(e.rowIndex);
+                    return null != n;
+                  })
+                  .map(function (t) {
+                    var r = n.props.getFieldLinks,
+                      a = r ? r(t, e.rowIndex) : [];
+                    return {
+                      key: t.name,
+                      value: t.values.get(e.rowIndex).toString(),
+                      links: a.map(function (e) {
+                        return e.href;
+                      }),
+                      fieldIndex: t.index,
+                    };
+                  });
+              })),
+              (n.getAllFields = Object(Cc.a)(function (e) {
+                var t = n.parseMessage(e.entry),
+                  r = n.getDerivedFields(e),
+                  a = [].concat(Uu(r), Uu(t)).reduce(function (e, t) {
+                    var n = t.value.replace(/(^")|("$)/g, ""),
+                      r = "".concat(t.key, "=").concat(n);
+                    return (
+                      e[r]
+                        ? (e[r].links = [].concat(
+                            Uu(e[r].links || []),
+                            Uu(t.links || [])
+                          ))
+                        : (e[r] = t),
+                      e
+                    );
+                  }, {});
+                return Object.values(a);
+              })),
+              (n.getStatsForParsedField = function (e) {
+                var t = n.getParser(n.props.row.entry).buildMatcher(e);
+                return Object(Pe.calculateFieldStats)(n.props.getRows(), t);
+              }),
+              n
+            );
+          }
+          var n, r, i;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Ju(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this,
+                    t = this.props,
+                    n = t.row,
+                    r = t.theme,
+                    i = t.onClickFilterOutLabel,
+                    l = t.onClickFilterLabel,
+                    s = t.getRows,
+                    c = t.showDuplicates,
+                    u = t.className,
+                    f = t.onMouseEnter,
+                    d = t.onMouseLeave,
+                    p = Wc(r, n.logLevel),
+                    h = nf(r),
+                    m = n.labels ? n.labels : {},
+                    g = Object.keys(m).length > 0,
+                    b = this.getAllFields(n),
+                    v = b && b.length > 0;
+                  return a.a.createElement(
+                    "tr",
+                    {
+                      className: Object(o.cx)(u, h.logDetailsDefaultCursor),
+                      onMouseEnter: f,
+                      onMouseLeave: d,
+                    },
+                    c && a.a.createElement("td", null),
+                    a.a.createElement("td", {
+                      className: Object(o.cx)(
+                        p.logsRowLevel,
+                        h.logsRowLevelDetails
+                      ),
+                    }),
+                    a.a.createElement(
+                      "td",
+                      { colSpan: 4 },
+                      a.a.createElement(
+                        "div",
+                        { className: p.logDetailsContainer },
+                        a.a.createElement(
+                          "table",
+                          { className: p.logDetailsTable },
+                          a.a.createElement(
+                            "tbody",
+                            null,
+                            g &&
+                              a.a.createElement(
+                                "tr",
+                                null,
+                                a.a.createElement(
+                                  "td",
+                                  {
+                                    colSpan: 5,
+                                    className: p.logDetailsHeading,
+                                    "aria-label": "Log Labels",
+                                  },
+                                  "Log Labels:"
+                                )
+                              ),
+                            Object.keys(m).map(function (e) {
+                              var t = m[e];
+                              return a.a.createElement($u, {
+                                key: "".concat(e, "=").concat(t),
+                                parsedKey: e,
+                                parsedValue: t,
+                                isLabel: !0,
+                                getStats: function () {
+                                  return Object(Pe.calculateLogsLabelStats)(
+                                    s(),
+                                    e
+                                  );
+                                },
+                                onClickFilterOutLabel: i,
+                                onClickFilterLabel: l,
+                              });
+                            }),
+                            v &&
+                              a.a.createElement(
+                                "tr",
+                                null,
+                                a.a.createElement(
+                                  "td",
+                                  {
+                                    colSpan: 5,
+                                    className: p.logDetailsHeading,
+                                    "aria-label": "Parsed Fields",
+                                  },
+                                  "Parsed Fields:"
+                                )
+                              ),
+                            b.map(function (t) {
+                              var r = t.key,
+                                o = t.value,
+                                i = t.links,
+                                l = t.fieldIndex;
+                              return a.a.createElement($u, {
+                                key: "".concat(r, "=").concat(o),
+                                parsedKey: r,
+                                parsedValue: o,
+                                links: i,
+                                getStats: function () {
+                                  return void 0 === l
+                                    ? e.getStatsForParsedField(r)
+                                    : Object(Pe.calculateStats)(
+                                        n.dataFrame.fields[l].values.toArray()
+                                      );
+                                },
+                              });
+                            }),
+                            !v &&
+                              !g &&
+                              a.a.createElement(
+                                "tr",
+                                null,
+                                a.a.createElement(
+                                  "td",
+                                  { colSpan: 5, "aria-label": "No details" },
+                                  "No details available"
+                                )
+                              )
+                          )
+                        )
+                      )
+                    )
+                  );
+                },
+              },
+            ]) && Qu(n.prototype, r),
+            i && Qu(n, i),
+            t
+          );
+        })(r.PureComponent),
+        af = Object(i.i)(rf);
+      af.displayName = "LogDetails";
+      var of = n("WG1l"),
+        lf = n.n(of),
+        sf = n("bTeP");
+      function cf() {
+        var e = vf(["\n              top: 100%;\n            "]);
+        return (
+          (cf = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function uf() {
+        var e = vf(["\n              top: -250px;\n            "]);
+        return (
+          (uf = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ff() {
+        var e = vf([
+          "\n                        padding: 5px 0;\n                      ",
+        ]);
+        return (
+          (ff = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function df(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function pf() {
+        var e = vf([
+          "\n            margin-left: 10px;\n            &:hover {\n              text-decoration: underline;\n              cursor: pointer;\n            }\n          ",
+        ]);
+        return (
+          (pf = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function hf() {
+        var e = vf(["\n          opacity: 0.6;\n        "]);
+        return (
+          (hf = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function mf() {
+        var e = vf(["\n      height: 220px;\n      padding: 10px;\n    "]);
+        return (
+          (mf = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function gf() {
+        var e = vf([
+          "\n      height: 30px;\n      padding: 0 10px;\n      display: flex;\n      align-items: center;\n      background: ",
+          ";\n    ",
+        ]);
+        return (
+          (gf = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function bf() {
+        var e = vf([
+          "\n      position: absolute;\n      width: calc(100% + 20px);\n      left: -10px;\n      height: 250px;\n      z-index: 2;\n      overflow: hidden;\n      background: ",
+          ";\n      background: linear-gradient(180deg, ",
+          " 0%, ",
+          " 104.25%);\n      box-shadow: 0px 2px 4px ",
+          ", 0px 0px 2px ",
+          ";\n      border: 1px solid ",
+          ";\n      border-radius: ",
+          ";\n    ",
+        ]);
+        return (
+          (bf = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function vf(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var yf = function (e) {
+          var t = Object(Ne.a)(
+              { light: e.colors.white, dark: e.colors.dark1 },
+              e.type
+            ),
+            n = Object(Ne.a)(
+              { light: e.colors.gray7, dark: e.colors.dark2 },
+              e.type
+            ),
+            r = Object(Ne.a)(
+              { light: e.colors.gray5, dark: e.colors.black },
+              e.type
+            ),
+            a = Object(Ne.a)(
+              { light: e.colors.gray5, dark: e.colors.dark9 },
+              e.type
+            );
+          return {
+            commonStyles: Object(o.css)(
+              bf(),
+              e.colors.pageBg,
+              t,
+              n,
+              r,
+              r,
+              a,
+              e.border.radius.md
+            ),
+            header: Object(o.css)(gf(), a),
+            logs: Object(o.css)(mf()),
+          };
+        },
+        wf = function (e) {
+          e.row;
+          var t = e.rows,
+            n = e.onLoadMoreContext,
+            i = e.canLoadMoreRows,
+            l = Object(r.useContext)(Bt.a),
+            s = yf(l).header;
+          return a.a.createElement(
+            "div",
+            { className: s },
+            a.a.createElement(
+              "span",
+              { className: Object(o.css)(hf()) },
+              "Found ",
+              t.length,
+              " rows."
+            ),
+            (t.length >= 10 || (t.length > 10 && t.length % 10 != 0)) &&
+              i &&
+              a.a.createElement(
+                "span",
+                {
+                  className: Object(o.css)(pf()),
+                  onClick: function () {
+                    return n();
+                  },
+                },
+                "Load 10 more"
+              )
+          );
+        },
+        Of = function (e) {
+          var t = e.row,
+            n = e.rows,
+            i = e.error,
+            l = e.className,
+            s = e.shouldScrollToBottom,
+            c = e.canLoadMoreRows,
+            u = e.onLoadMoreContext,
+            f = Object(r.useContext)(Bt.a),
+            d = yf(f),
+            p = d.commonStyles,
+            h = d.logs,
+            m = df(Object(r.useState)(0), 2),
+            g = m[0],
+            b = m[1],
+            v = Object(r.useRef)();
+          Object(r.useLayoutEffect)(function () {
+            s && v.current && b(v.current.offsetHeight);
+          });
+          var y = { row: t, rows: n, onLoadMoreContext: u, canLoadMoreRows: c };
+          return a.a.createElement(
+            "div",
+            { className: Object(o.cx)(l, p) },
+            s && !i && a.a.createElement(wf, y),
+            a.a.createElement(
+              "div",
+              { className: h },
+              a.a.createElement(
+                _.a,
+                { autoHide: !0, scrollTop: g },
+                a.a.createElement(
+                  "div",
+                  { ref: v },
+                  !i &&
+                    a.a.createElement(kr.a, {
+                      items: n,
+                      renderItem: function (e) {
+                        return a.a.createElement(
+                          "div",
+                          { className: Object(o.css)(ff()) },
+                          e
+                        );
+                      },
+                    }),
+                  i && a.a.createElement(Gs, { title: i })
+                )
+              )
+            ),
+            !s && !i && a.a.createElement(wf, y)
+          );
+        },
+        xf = function (e) {
+          var t = e.row,
+            n = e.context,
+            r = e.errors,
+            i = e.onOutsideClick,
+            l = e.onLoadMoreContext,
+            s = e.hasMoreContextRows;
+          return a.a.createElement(
+            sf.a,
+            { onClick: i },
+            a.a.createElement(
+              "div",
+              null,
+              n.after &&
+                a.a.createElement(Of, {
+                  rows: n.after,
+                  error: r && r.after,
+                  row: t,
+                  className: Object(o.css)(uf()),
+                  shouldScrollToBottom: !0,
+                  canLoadMoreRows: !!s && s.after,
+                  onLoadMoreContext: l,
+                }),
+              n.before &&
+                a.a.createElement(Of, {
+                  onLoadMoreContext: l,
+                  canLoadMoreRows: !!s && s.before,
+                  row: t,
+                  rows: n.before,
+                  error: r && r.before,
+                  className: Object(o.css)(cf()),
+                })
+            )
+          );
+        },
+        kf = n("Kcoi");
+      function jf(e) {
+        return (jf =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Sf(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Ef(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Cf(e, t) {
+        return !t || ("object" !== jf(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Pf(e) {
+        return (Pf = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Tf(e, t) {
+        return (Tf =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Df = (function (e) {
+        function t() {
+          var e, n;
+          Sf(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = Cf(
+              this,
+              (e = Pf(t)).call.apply(e, [this].concat(a))
+            )).state = { chunks: [], prevValue: "" }),
+            n
+          );
+        }
+        var n, r, o;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && Tf(e, t);
+          })(t, e),
+          (n = t),
+          (o = [
+            {
+              key: "getDerivedStateFromProps",
+              value: function (e, t) {
+                return e.value === t.prevValue
+                  ? null
+                  : {
+                      chunks: kf.a.parse(e.value).spans.map(function (e) {
+                        return e.css
+                          ? {
+                              style:
+                                ((t = e.css),
+                                t.split(/;\s*/).reduce(function (e, t) {
+                                  var n = t.match(/([^:\s]+)\s*:\s*(.+)/);
+                                  return (
+                                    n &&
+                                      n[1] &&
+                                      n[2] &&
+                                      (e[
+                                        n[1].replace(/-([a-z])/g, function (
+                                          e,
+                                          t
+                                        ) {
+                                          return t.toUpperCase();
+                                        })
+                                      ] = n[2]),
+                                    e
+                                  );
+                                }, {})),
+                              text: e.text,
+                            }
+                          : { text: e.text };
+                        var t;
+                      }),
+                      prevValue: e.value,
+                    };
+              },
+            },
+          ]),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                return this.state.chunks.map(function (e, t) {
+                  return e.style
+                    ? a.a.createElement(
+                        "span",
+                        { key: t, style: e.style },
+                        e.text
+                      )
+                    : e.text;
+                });
+              },
+            },
+          ]) && Ef(n.prototype, r),
+          o && Ef(n, o),
+          t
+        );
+      })(r.PureComponent);
+      function Af(e) {
+        return (Af =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function _f(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Nf(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Mf(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function If(e, t) {
+        return !t || ("object" !== Af(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Rf(e) {
+        return (Rf = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Ff(e, t) {
+        return (Ff =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      function Lf() {
+        var e = qf([
+          "\n      label: verticalScroll;\n      white-space: nowrap;\n    ",
+        ]);
+        return (
+          (Lf = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Vf() {
+        var e = qf([
+          "\n      label: whiteSpacePreWrap;\n      white-space: pre-wrap;\n    ",
+        ]);
+        return (
+          (Vf = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Bf() {
+        var e = qf([
+          "\n      label: rowWithContext;\n      z-index: 1;\n      outline: 9999px solid\n        ",
+          ";\n    ",
+        ]);
+        return (
+          (Bf = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function $f() {
+        var e = qf([
+          "\n      label: positionRelative;\n      position: relative;\n    ",
+        ]);
+        return (
+          ($f = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function qf(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var Uf = Object(jr.a)(function (e) {
+          var t = Object(hr.selectThemeVariant)(
+            { light: e.colors.white, dark: e.colors.black },
+            e.type
+          );
+          return {
+            positionRelative: Object(o.css)($f()),
+            rowWithContext: Object(o.css)(
+              Bf(),
+              Ue()(t).setAlpha(0.7).toRgbString()
+            ),
+            whiteSpacePreWrap: Object(o.css)(Vf()),
+            horizontalScroll: Object(o.css)(Lf()),
+          };
+        }),
+        zf = (function (e) {
+          function t() {
+            var e, n;
+            Nf(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = If(
+                this,
+                (e = Rf(t)).call.apply(e, [this].concat(a))
+              )).onContextToggle = function (e) {
+                e.stopPropagation(), n.props.onToggleContext();
+              }),
+              n
+            );
+          }
+          var n, r, i;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Ff(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.highlighterExpressions,
+                    n = e.row,
+                    r = e.theme,
+                    i = e.errors,
+                    l = e.hasMoreContextRows,
+                    s = e.updateLimit,
+                    c = e.context,
+                    u = e.showContext,
+                    f = e.wrapLogMessage,
+                    d = e.onToggleContext,
+                    p = Wc(r, n.logLevel),
+                    h = n.entry,
+                    m = n.hasAnsi,
+                    g = n.raw,
+                    b = t && !ga.a.isEqual(t, n.searchWords),
+                    v = b ? t : n.searchWords,
+                    y = v && v.length > 0 && v[0] && v[0].length > 0,
+                    w = b
+                      ? Object(o.cx)([
+                          p.logsRowMatchHighLight,
+                          p.logsRowMatchHighLightPreview,
+                        ])
+                      : Object(o.cx)([p.logsRowMatchHighLight]),
+                    O = Uf(r);
+                  return a.a.createElement(
+                    "td",
+                    { className: p.logsRowMessage },
+                    a.a.createElement(
+                      "div",
+                      {
+                        className: Object(o.cx)(
+                          O.positionRelative,
+                          _f({}, O.horizontalScroll, !f)
+                        ),
+                      },
+                      u &&
+                        c &&
+                        a.a.createElement(xf, {
+                          row: n,
+                          context: c,
+                          errors: i,
+                          hasMoreContextRows: l,
+                          onOutsideClick: d,
+                          onLoadMoreContext: function () {
+                            s && s();
+                          },
+                        }),
+                      a.a.createElement(
+                        "span",
+                        {
+                          className: Object(o.cx)(
+                            O.positionRelative,
+                            _f({}, O.rowWithContext, u)
+                          ),
+                        },
+                        y
+                          ? a.a.createElement(lf.a, {
+                              style: O.whiteSpacePreWrap,
+                              textToHighlight: h,
+                              searchWords: v,
+                              findChunks: Pe.findHighlightChunksInText,
+                              highlightClassName: w,
+                            })
+                          : m
+                          ? a.a.createElement(Df, { value: g })
+                          : h
+                      ),
+                      n.searchWords &&
+                        n.searchWords.length > 0 &&
+                        a.a.createElement(
+                          "span",
+                          {
+                            onClick: this.onContextToggle,
+                            className: Object(o.cx)(p.context),
+                          },
+                          u ? "Hide" : "Show",
+                          " context"
+                        )
+                    )
+                  );
+                },
+              },
+            ]) && Mf(n.prototype, r),
+            i && Mf(n, i),
+            t
+          );
+        })(r.PureComponent),
+        Hf = Object(i.i)(zf);
+      function Gf(e) {
+        return (Gf =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Wf(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Qf(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Yf(e, t) {
+        return !t || ("object" !== Gf(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Kf(e) {
+        return (Kf = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Jf(e, t) {
+        return (Jf =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      function Zf() {
+        var e = ed([
+          "\n      label: hoverBackground;\n      background-color: ",
+          ";\n    ",
+        ]);
+        return (
+          (Zf = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Xf() {
+        var e = ed([
+          "\n      label: topVerticalAlign;\n      vertical-align: top;\n    ",
+        ]);
+        return (
+          (Xf = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ed(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      Hf.displayName = "LogRowMessage";
+      var td = Object(jr.a)(function (e) {
+          var t = Object(Ne.a)(
+            { light: e.colors.gray7, dark: e.colors.dark2 },
+            e.type
+          );
+          return {
+            topVerticalAlign: Object(o.css)(Xf()),
+            hoverBackground: Object(o.css)(Zf(), t),
+          };
+        }),
+        nd = (function (e) {
+          function t() {
+            var e, n;
+            Wf(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = Yf(
+                this,
+                (e = Kf(t)).call.apply(e, [this].concat(a))
+              )).state = {
+                showContext: !1,
+                showDetails: !1,
+                hasHoverBackground: !1,
+              }),
+              (n.toggleContext = function () {
+                n.setState(function (e) {
+                  return { showContext: !e.showContext };
+                });
+              }),
+              (n.addHoverBackground = function () {
+                n.setState({ hasHoverBackground: !0 });
+              }),
+              (n.clearHoverBackground = function () {
+                n.setState({ hasHoverBackground: !1 });
+              }),
+              (n.toggleDetails = function () {
+                n.props.allowDetails ||
+                  n.setState(function (e) {
+                    return { showDetails: !e.showDetails };
+                  });
+              }),
+              n
+            );
+          }
+          var n, r, i;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Jf(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "renderLogRow",
+                value: function (e, t, n, r) {
+                  var i,
+                    l,
+                    s,
+                    c = this.props,
+                    u = c.getRows,
+                    f = c.onClickFilterLabel,
+                    d = c.onClickFilterOutLabel,
+                    p = c.highlighterExpressions,
+                    h = c.allowDetails,
+                    m = c.row,
+                    g = c.showDuplicates,
+                    b = c.timeZone,
+                    v = c.showLabels,
+                    y = c.showTime,
+                    w = c.wrapLogMessage,
+                    O = c.theme,
+                    x = c.getFieldLinks,
+                    k = this.state,
+                    j = k.showDetails,
+                    S = k.showContext,
+                    E = k.hasHoverBackground,
+                    C = Wc(O, m.logLevel),
+                    P = td(O),
+                    T = "utc" === b,
+                    D = j
+                      ? Object(o.cx)(["fa fa-chevron-down", P.topVerticalAlign])
+                      : Object(o.cx)([
+                          "fa fa-chevron-right",
+                          P.topVerticalAlign,
+                        ]),
+                    A = Object(o.cx)(
+                      C.logsRow,
+                      ((i = {}),
+                      (l = P.hoverBackground),
+                      (s = E),
+                      l in i
+                        ? Object.defineProperty(i, l, {
+                            value: s,
+                            enumerable: !0,
+                            configurable: !0,
+                            writable: !0,
+                          })
+                        : (i[l] = s),
+                      i)
+                    );
+                  return a.a.createElement(
+                    a.a.Fragment,
+                    null,
+                    a.a.createElement(
+                      "tr",
+                      {
+                        className: A,
+                        onMouseEnter: this.addHoverBackground,
+                        onMouseLeave: this.clearHoverBackground,
+                        onClick: this.toggleDetails,
+                      },
+                      g &&
+                        a.a.createElement(
+                          "td",
+                          { className: C.logsRowDuplicates },
+                          m.duplicates && m.duplicates > 0
+                            ? "".concat(m.duplicates + 1, "x")
+                            : null
+                        ),
+                      a.a.createElement("td", { className: C.logsRowLevel }),
+                      !h &&
+                        a.a.createElement(
+                          "td",
+                          {
+                            title: j ? "Hide log details" : "See log details",
+                            className: C.logsRowToggleDetails,
+                          },
+                          a.a.createElement("i", { className: D })
+                        ),
+                      y &&
+                        T &&
+                        a.a.createElement(
+                          "td",
+                          {
+                            className: C.logsRowLocalTime,
+                            title: "Local: "
+                              .concat(m.timeLocal, " (")
+                              .concat(m.timeFromNow, ")"),
+                          },
+                          m.timeUtc
+                        ),
+                      y &&
+                        !T &&
+                        a.a.createElement(
+                          "td",
+                          {
+                            className: C.logsRowLocalTime,
+                            title: ""
+                              .concat(m.timeUtc, " (")
+                              .concat(m.timeFromNow, ")"),
+                          },
+                          m.timeLocal
+                        ),
+                      v &&
+                        m.uniqueLabels &&
+                        a.a.createElement(
+                          "td",
+                          { className: C.logsRowLabels },
+                          a.a.createElement(Ec, { labels: m.uniqueLabels })
+                        ),
+                      a.a.createElement(Hf, {
+                        highlighterExpressions: p,
+                        row: m,
+                        getRows: u,
+                        errors: t,
+                        hasMoreContextRows: n,
+                        updateLimit: r,
+                        context: e,
+                        showContext: S,
+                        wrapLogMessage: w,
+                        onToggleContext: this.toggleContext,
+                      })
+                    ),
+                    this.state.showDetails &&
+                      a.a.createElement(af, {
+                        className: A,
+                        onMouseEnter: this.addHoverBackground,
+                        onMouseLeave: this.clearHoverBackground,
+                        showDuplicates: g,
+                        getFieldLinks: x,
+                        onClickFilterLabel: f,
+                        onClickFilterOutLabel: d,
+                        getRows: u,
+                        row: m,
+                      })
+                  );
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this;
+                  return this.state.showContext
+                    ? a.a.createElement(
+                        a.a.Fragment,
+                        null,
+                        a.a.createElement(
+                          nu,
+                          {
+                            row: this.props.row,
+                            getRowContext: this.props.getRowContext,
+                          },
+                          function (t) {
+                            var n = t.result,
+                              r = t.errors,
+                              o = t.hasMoreContextRows,
+                              i = t.updateLimit;
+                            return a.a.createElement(
+                              a.a.Fragment,
+                              null,
+                              e.renderLogRow(n, r, o, i)
+                            );
+                          }
+                        )
+                      )
+                    : this.renderLogRow();
+                },
+              },
+            ]) && Qf(n.prototype, r),
+            i && Qf(n, i),
+            t
+          );
+        })(r.PureComponent),
+        rd = Object(i.i)(nd);
+      function ad(e) {
+        return (ad =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function od(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function id(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function ld(e, t) {
+        return !t || ("object" !== ad(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function sd(e) {
+        return (sd = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function cd(e, t) {
+        return (cd =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      rd.displayName = "LogRow";
+      var ud = (function (e) {
+        function t() {
+          var e, n;
+          od(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = ld(
+              this,
+              (e = sd(t)).call.apply(e, [this].concat(a))
+            )).renderAllTimer = null),
+            (n.state = { renderAll: !1 }),
+            (n.makeGetRows = Object(Cc.a)(function (e) {
+              return function () {
+                return e;
+              };
+            })),
+            n
+          );
+        }
+        var n, r, o;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && cd(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "componentDidMount",
+              value: function () {
+                var e = this,
+                  t = this.props,
+                  n = t.logRows,
+                  r = t.previewLimit,
+                  a = (n ? n.length : 0) <= 2 * r;
+                a
+                  ? this.setState({ renderAll: a })
+                  : (this.renderAllTimer = window.setTimeout(function () {
+                      return e.setState({ renderAll: !0 });
+                    }, 2e3));
+              },
+            },
+            {
+              key: "componentWillUnmount",
+              value: function () {
+                this.renderAllTimer && clearTimeout(this.renderAllTimer);
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.dedupStrategy,
+                  n = e.showLabels,
+                  r = e.showTime,
+                  o = e.wrapLogMessage,
+                  i = e.logRows,
+                  l = e.deduplicatedRows,
+                  s = e.highlighterExpressions,
+                  c = e.timeZone,
+                  u = e.onClickFilterLabel,
+                  f = e.onClickFilterOutLabel,
+                  d = e.rowLimit,
+                  p = e.theme,
+                  h = e.allowDetails,
+                  m = e.previewLimit,
+                  g = e.getFieldLinks,
+                  b = this.state.renderAll,
+                  v = Wc(p),
+                  y = v.logsRowsTable,
+                  w = v.logsRowsHorizontalScroll,
+                  O = l || i,
+                  x = i && i.length > 0,
+                  k = O
+                    ? O.reduce(function (e, t) {
+                        return t.duplicates ? e + t.duplicates : e;
+                      }, 0)
+                    : 0,
+                  j = t !== Pe.LogsDedupStrategy.none && k > 0,
+                  S = o ? "" : w,
+                  E = O || [],
+                  C = E.slice(0, m),
+                  P = Math.min(E.length, d),
+                  T = E.slice(m, P),
+                  D = this.makeGetRows(E),
+                  A = this.props.getRowContext
+                    ? this.props.getRowContext
+                    : function () {
+                        return Promise.resolve([]);
+                      };
+                return a.a.createElement(
+                  "div",
+                  { className: S },
+                  a.a.createElement(
+                    "table",
+                    { className: y },
+                    a.a.createElement(
+                      "tbody",
+                      null,
+                      x &&
+                        C.map(function (e, t) {
+                          return a.a.createElement(rd, {
+                            key: e.uid,
+                            getRows: D,
+                            getRowContext: A,
+                            highlighterExpressions: s,
+                            row: e,
+                            showDuplicates: j,
+                            showLabels: n,
+                            showTime: r,
+                            wrapLogMessage: o,
+                            timeZone: c,
+                            allowDetails: h,
+                            onClickFilterLabel: u,
+                            onClickFilterOutLabel: f,
+                            getFieldLinks: g,
+                          });
+                        }),
+                      x &&
+                        b &&
+                        T.map(function (e, t) {
+                          return a.a.createElement(rd, {
+                            key: e.uid,
+                            getRows: D,
+                            getRowContext: A,
+                            row: e,
+                            showDuplicates: j,
+                            showLabels: n,
+                            showTime: r,
+                            wrapLogMessage: o,
+                            timeZone: c,
+                            allowDetails: h,
+                            onClickFilterLabel: u,
+                            onClickFilterOutLabel: f,
+                            getFieldLinks: g,
+                          });
+                        }),
+                      x &&
+                        !b &&
+                        a.a.createElement(
+                          "tr",
+                          null,
+                          a.a.createElement(
+                            "td",
+                            { colSpan: 5 },
+                            "Rendering ",
+                            P - m,
+                            " rows..."
+                          )
+                        )
+                    )
+                  )
+                );
+              },
+            },
+          ]) && id(n.prototype, r),
+          o && id(n, o),
+          t
+        );
+      })(r.PureComponent);
+      ud.defaultProps = { previewLimit: 100, rowLimit: 500 };
+      var fd = Object(i.i)(ud);
+      function dd(e) {
+        return (dd =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function pd(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function hd(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function md(e, t) {
+        return !t || ("object" !== dd(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function gd(e) {
+        return (gd = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function bd(e, t) {
+        return (bd =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      fd.displayName = "LogsRows";
+      var vd = (function (e) {
+          function t() {
+            return pd(this, t), md(this, gd(t).apply(this, arguments));
+          }
+          var n, r, o;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && bd(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e,
+                    t,
+                    n,
+                    r = this.props,
+                    o = r.children,
+                    i = r.label,
+                    l = r.transparent,
+                    s = r.width,
+                    c = fe()(
+                      "gf-form-label",
+                      ((e = { "gf-form-label--transparent": l }),
+                      (t = "width-".concat(s)),
+                      (n = s),
+                      t in e
+                        ? Object.defineProperty(e, t, {
+                            value: n,
+                            enumerable: !0,
+                            configurable: !0,
+                            writable: !0,
+                          })
+                        : (e[t] = n),
+                      e)
+                    ),
+                    u = fe()("toggle-button-group", {
+                      "toggle-button-group--transparent": l,
+                      "toggle-button-group--padded": s,
+                    });
+                  return a.a.createElement(
+                    "div",
+                    { className: "gf-form gf-form--align-center" },
+                    i && a.a.createElement("label", { className: c }, i),
+                    a.a.createElement("div", { className: u }, o)
+                  );
+                },
+              },
+            ]) && hd(n.prototype, r),
+            o && hd(n, o),
+            t
+          );
+        })(r.PureComponent),
+        yd = function (e) {
+          var t = e.children,
+            n = e.selected,
+            r = e.className,
+            o = void 0 === r ? "" : r,
+            i = e.value,
+            l = void 0 === i ? null : i,
+            s = e.tooltip,
+            c = e.onChange,
+            u = "btn ".concat(o).concat(n ? " active" : ""),
+            f = a.a.createElement(
+              "button",
+              {
+                className: u,
+                onClick: function (e) {
+                  e.stopPropagation(), !n && c && c(l);
+                },
+              },
+              a.a.createElement("span", null, t)
+            );
+          return s
+            ? a.a.createElement(P.b, { content: s, placement: "bottom" }, f)
+            : f;
+        };
+      function wd() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })([
+          "\n    display: flex;\n\n    button {\n      flex-grow: 1;\n      justify-content: center;\n    }\n\n    > * {\n      flex-grow: 1;\n    }\n\n    label {\n      flex-grow: 1;\n      text-align: center;\n    }\n  ",
+        ]);
+        return (
+          (wd = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      var Od = function (e) {
+          var t = e.className,
+            n = e.children,
+            r = xd();
+          return a.a.createElement("div", { className: Object(o.cx)(r, t) }, n);
+        },
+        xd = Object(i.g)(function () {
+          return Object(o.css)(wd());
+        });
+      function kd(e) {
+        return (kd =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function jd(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function Sd(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Ed(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? Sd(Object(n), !0).forEach(function (t) {
+                Cd(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : Sd(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Cd(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Pd(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function Td(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Dd(e, t) {
+        return !t || ("object" !== kd(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Ad(e) {
+        return (Ad = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function _d(e, t) {
+        return (_d =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Nd = 100,
+        Md = (function (e) {
+          function t(e) {
+            var n;
+            !(function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+              ((n = Dd(
+                this,
+                Ad(t).call(this, e)
+              )).onAddThresholdAfter = function (e) {
+                var t = n.state.steps,
+                  r = void 0,
+                  a = void 0,
+                  o = !0,
+                  i = !1,
+                  l = void 0;
+                try {
+                  for (
+                    var s, c = t[Symbol.iterator]();
+                    !(o = (s = c.next()).done);
+                    o = !0
+                  ) {
+                    var u = s.value;
+                    if (r && r.key === e.key) {
+                      a = u;
+                      break;
+                    }
+                    r = u;
+                  }
+                } catch (e) {
+                  (i = !0), (l = e);
+                } finally {
+                  try {
+                    o || null == c.return || c.return();
+                  } finally {
+                    if (i) throw l;
+                  }
+                }
+                var f = r && isFinite(r.value) ? r.value : 0,
+                  d = {
+                    value:
+                      f + ((a && isFinite(a.value) ? a.value : 100) - f) / 2,
+                    color: Ge.o.filter(function (e) {
+                      return !t.some(function (t) {
+                        return t.color === e;
+                      });
+                    })[1],
+                    key: Nd++,
+                  },
+                  p = [].concat(Pd(t), [d]);
+                Object(Pe.sortThresholds)(p),
+                  n.setState({ steps: p }, function () {
+                    return n.onChange();
+                  });
+              }),
+              (n.onRemoveThreshold = function (e) {
+                var t = n.state.steps;
+                t.length &&
+                  e.key !== t[0].key &&
+                  n.setState(
+                    {
+                      steps: t.filter(function (t) {
+                        return t.key !== e.key;
+                      }),
+                    },
+                    function () {
+                      return n.onChange();
+                    }
+                  );
+              }),
+              (n.onChangeThresholdValue = function (e, t) {
+                var r = e.target.value.replace(/,/g, "."),
+                  a = parseFloat(r),
+                  o = isNaN(a) ? "" : a,
+                  i = n.state.steps.map(function (e) {
+                    return e.key === t.key && (e = Ed({}, e, { value: o })), e;
+                  });
+                i.length && (i[0].value = -1 / 0), n.setState({ steps: i });
+              }),
+              (n.onChangeThresholdColor = function (e, t) {
+                var r = n.state.steps.map(function (n) {
+                  return n.key === e.key && (n = Ed({}, n, { color: t })), n;
+                });
+                n.setState({ steps: r }, function () {
+                  return n.onChange();
+                });
+              }),
+              (n.onBlur = function () {
+                var e = Pd(n.state.steps);
+                Object(Pe.sortThresholds)(e),
+                  n.setState({ steps: e }, function () {
+                    return n.onChange();
+                  });
+              }),
+              (n.onChange = function () {
+                var e, t, r;
+                n.props.onChange(
+                  ((e = n.props.thresholds),
+                  (t = n.state.steps),
+                  (e = Id(e)),
+                  {
+                    mode:
+                      null !== (r = e.mode) && void 0 !== r
+                        ? r
+                        : Pe.ThresholdsMode.Absolute,
+                    steps: t.map(function (e) {
+                      return e.key, jd(e, ["key"]);
+                    }),
+                  })
+                );
+              }),
+              (n.onModeChanged = function (e) {
+                e.value &&
+                  n.props.onChange(
+                    Ed({}, Id(n.props.thresholds), { mode: e.value })
+                  );
+              }),
+              (n.renderInput = function (e) {
+                var t =
+                  Id(n.props.thresholds).mode === Pe.ThresholdsMode.Percentage;
+                return a.a.createElement(
+                  "div",
+                  { className: "thresholds-row-input-inner" },
+                  a.a.createElement("span", {
+                    className: "thresholds-row-input-inner-arrow",
+                  }),
+                  a.a.createElement(
+                    "div",
+                    { className: "thresholds-row-input-inner-color" },
+                    e.color &&
+                      a.a.createElement(
+                        "div",
+                        {
+                          className:
+                            "thresholds-row-input-inner-color-colorpicker",
+                        },
+                        a.a.createElement(fn, {
+                          color: e.color,
+                          onChange: function (t) {
+                            return n.onChangeThresholdColor(e, t);
+                          },
+                          enableNamedColors: !0,
+                        })
+                      )
+                  ),
+                  isFinite(e.value)
+                    ? a.a.createElement(
+                        a.a.Fragment,
+                        null,
+                        a.a.createElement(
+                          "div",
+                          { className: "thresholds-row-input-inner-value" },
+                          a.a.createElement(lt, {
+                            type: "number",
+                            step: "0.0001",
+                            onChange: function (t) {
+                              return n.onChangeThresholdValue(t, e);
+                            },
+                            value: e.value,
+                            onBlur: n.onBlur,
+                          })
+                        ),
+                        t &&
+                          a.a.createElement(
+                            "div",
+                            {
+                              className: Object(o.css)(
+                                "margin-left:-20px; margin-top:5px;"
+                              ),
+                            },
+                            a.a.createElement("i", {
+                              className: "fa fa-percent",
+                            })
+                          ),
+                        a.a.createElement(
+                          "div",
+                          {
+                            className: "thresholds-row-input-inner-remove",
+                            onClick: function () {
+                              return n.onRemoveThreshold(e);
+                            },
+                          },
+                          a.a.createElement("i", { className: "fa fa-times" })
+                        )
+                      )
+                    : a.a.createElement(
+                        "div",
+                        { className: "thresholds-row-input-inner-value" },
+                        a.a.createElement(lt, {
+                          type: "text",
+                          value: "Base",
+                          readOnly: !0,
+                        })
+                      )
+                );
+              });
+            var r = (function (e) {
+              var t = (e = Id(e)).steps || [];
+              e.steps &&
+                0 === e.steps.length &&
+                (t = [{ value: -1 / 0, color: "green" }]);
+              return t.map(function (e) {
+                return {
+                  color: e.color,
+                  value: null === e.value ? -1 / 0 : e.value,
+                  key: Nd++,
+                };
+              });
+            })(e.thresholds);
+            return (r[0].value = -1 / 0), (n.state = { steps: r }), n;
+          }
+          var n, r, i;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && _d(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this,
+                    t = this.state.steps;
+                  return a.a.createElement(
+                    pn,
+                    { title: "Thresholds" },
+                    a.a.createElement(Bt.a.Consumer, null, function (n) {
+                      return a.a.createElement(
+                        a.a.Fragment,
+                        null,
+                        a.a.createElement(
+                          "div",
+                          { className: "thresholds" },
+                          t
+                            .slice(0)
+                            .reverse()
+                            .map(function (t) {
+                              return a.a.createElement(
+                                "div",
+                                {
+                                  className: "thresholds-row",
+                                  key: "".concat(t.key),
+                                },
+                                a.a.createElement(
+                                  "div",
+                                  {
+                                    className: "thresholds-row-add-button",
+                                    onClick: function () {
+                                      return e.onAddThresholdAfter(t);
+                                    },
+                                  },
+                                  a.a.createElement("i", {
+                                    className: "fa fa-plus",
+                                  })
+                                ),
+                                a.a.createElement("div", {
+                                  className: "thresholds-row-color-indicator",
+                                  style: {
+                                    backgroundColor: Object(
+                                      Pe.getColorFromHexRgbOrName
+                                    )(t.color, n.type),
+                                  },
+                                }),
+                                a.a.createElement(
+                                  "div",
+                                  { className: "thresholds-row-input" },
+                                  e.renderInput(t)
+                                )
+                              );
+                            })
+                        )
+                      );
+                    })
+                  );
+                },
+              },
+            ]) && Td(n.prototype, r),
+            i && Td(n, i),
+            t
+          );
+        })(r.PureComponent);
+      function Id(e) {
+        return null != e ? e : { steps: [], mode: Pe.ThresholdsMode.Absolute };
+      }
+      function Rd(e) {
+        return (Rd =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Fd(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Ld(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? Fd(Object(n), !0).forEach(function (t) {
+                Vd(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : Fd(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Vd(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Bd(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function $d(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function qd(e, t) {
+        return !t || ("object" !== Rd(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Ud(e) {
+        return (Ud = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function zd(e, t) {
+        return (zd =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Hd = [
+          {
+            value: !0,
+            label: "All Values",
+            description: "Each row in the response data",
+          },
+          {
+            value: !1,
+            label: "Calculation",
+            description: "Calculate a value based on the response",
+          },
+        ],
+        Gd = (function (e) {
+          function t() {
+            var e, n;
+            Bd(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = qd(
+                this,
+                (e = Ud(t)).call.apply(e, [this].concat(a))
+              )).onShowValuesChange = function (e) {
+                var t = !0 === e.value;
+                n.props.onChange(Ld({}, n.props.value, { values: t }));
+              }),
+              (n.onCalcsChange = function (e) {
+                n.props.onChange(Ld({}, n.props.value, { calcs: e }));
+              }),
+              (n.onDefaultsChange = function (e) {
+                n.props.onChange(Ld({}, n.props.value, { defaults: e }));
+              }),
+              (n.onLimitChange = function (e) {
+                n.props.onChange(
+                  Ld({}, n.props.value, {
+                    limit: Object(Pe.toIntegerOrUndefined)(e.target.value),
+                  })
+                );
+              }),
+              n
+            );
+          }
+          var n, r, o;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && zd(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props.value,
+                    t = e.calcs,
+                    n = e.values,
+                    r = e.limit,
+                    o = this.props.labelWidth || 5;
+                  return a.a.createElement(
+                    a.a.Fragment,
+                    null,
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form" },
+                      a.a.createElement(he, { width: o }, "Show"),
+                      a.a.createElement(z.c, {
+                        options: Hd,
+                        value: n ? Hd[0] : Hd[1],
+                        onChange: this.onShowValuesChange,
+                      })
+                    ),
+                    n
+                      ? a.a.createElement(be, {
+                          label: "Limit",
+                          labelWidth: o,
+                          placeholder: "".concat(
+                            Pe.DEFAULT_FIELD_DISPLAY_VALUES_LIMIT
+                          ),
+                          onChange: this.onLimitChange,
+                          value: Object(Pe.toNumberString)(r),
+                          type: "number",
+                        })
+                      : a.a.createElement(
+                          "div",
+                          { className: "gf-form" },
+                          a.a.createElement(he, { width: o }, "Calc"),
+                          a.a.createElement(ur, {
+                            width: 12,
+                            placeholder: "Choose Stat",
+                            defaultStat: Pe.ReducerID.mean,
+                            allowMultiple: !1,
+                            stats: t,
+                            onChange: this.onCalcsChange,
+                          })
+                        )
+                  );
+                },
+              },
+            ]) && $d(n.prototype, r),
+            o && $d(n, o),
+            t
+          );
+        })(r.PureComponent);
+      function Wd(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Qd(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? Wd(Object(n), !0).forEach(function (t) {
+                Yd(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : Wd(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Yd(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Kd(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      var Jd = function (e) {
+          var t = e.value,
+            n = e.onChange,
+            o = e.showMinMax,
+            i = e.showTitle,
+            l = t.unit,
+            s = t.title,
+            c = Kd(
+              Object(r.useState)(
+                void 0 !== t.decimals && null !== t.decimals
+                  ? t.decimals.toString()
+                  : ""
+              ),
+              2
+            ),
+            u = c[0],
+            f = c[1],
+            d = Kd(Object(r.useState)(Object(Pe.toNumberString)(t.min)), 2),
+            p = d[0],
+            h = d[1],
+            m = Kd(Object(r.useState)(Object(Pe.toNumberString)(t.max)), 2),
+            g = m[0],
+            b = m[1],
+            v = Object(r.useCallback)(
+              function (e) {
+                f(e.target.value);
+              },
+              [t.decimals, n]
+            ),
+            y = Object(r.useCallback)(
+              function (e) {
+                h(e.target.value);
+              },
+              [t.min, n]
+            ),
+            w = Object(r.useCallback)(
+              function (e) {
+                b(e.target.value);
+              },
+              [t.max, n]
+            ),
+            O = Object(r.useCallback)(
+              function () {
+                n(
+                  Qd({}, t, {
+                    decimals: Object(Pe.toIntegerOrUndefined)(u),
+                    min: Object(Pe.toFloatOrUndefined)(p),
+                    max: Object(Pe.toFloatOrUndefined)(g),
+                  })
+                );
+              },
+              [p, g, u, t]
+            ),
+            x = a.a.createElement(
+              "div",
+              null,
+              "Template Variables:",
+              a.a.createElement("br", null),
+              "${" + Pe.VAR_SERIES_NAME + "}",
+              a.a.createElement("br", null),
+              "${" + Pe.VAR_FIELD_NAME + "}",
+              a.a.createElement("br", null),
+              "$" + Pe.VAR_CELL_PREFIX + "{N}",
+              " / ",
+              "$" + Pe.VAR_CALC
+            );
+          return a.a.createElement(
+            a.a.Fragment,
+            null,
+            i &&
+              a.a.createElement(be, {
+                label: "Title",
+                labelWidth: 6,
+                onChange: function (e) {
+                  n(Qd({}, t, { title: e.target.value }));
+                },
+                value: s,
+                tooltip: x,
+                placeholder: "Auto",
+                "aria-label": "Field properties editor title input",
+              }),
+            a.a.createElement(
+              "div",
+              { className: "gf-form" },
+              a.a.createElement(he, { width: 6 }, "Unit"),
+              a.a.createElement(Xn, {
+                value: l,
+                onChange: function (e) {
+                  n(Qd({}, t, { unit: e }));
+                },
+              })
+            ),
+            o &&
+              a.a.createElement(
+                a.a.Fragment,
+                null,
+                a.a.createElement(be, {
+                  label: "Min",
+                  labelWidth: 6,
+                  onChange: y,
+                  onBlur: O,
+                  value: p,
+                  placeholder: "Auto",
+                  type: "number",
+                  "aria-label": "Field properties editor min input",
+                }),
+                a.a.createElement(be, {
+                  label: "Max",
+                  labelWidth: 6,
+                  onChange: w,
+                  onBlur: O,
+                  value: g,
+                  type: "number",
+                  placeholder: "Auto",
+                  "aria-label": "Field properties editor max input",
+                })
+              ),
+            a.a.createElement(be, {
+              label: "Decimals",
+              labelWidth: 6,
+              placeholder: "auto",
+              onChange: v,
+              onBlur: O,
+              value: u,
+              type: "number",
+            })
+          );
+        },
+        Zd = n("BkRI"),
+        Xd = n.n(Zd);
+      function ep(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function tp(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? ep(Object(n), !0).forEach(function (t) {
+                np(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : ep(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function np(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function rp(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      var ap = ["fieldOptions", "orientation"];
+      function op(e, t, n) {
+        if ("singlestat" === t && n.angular) {
+          var r = n.angular,
+            a = Pe.fieldReducers.getIfExists(r.valueName),
+            o = {
+              fieldOptions: {
+                defaults: {},
+                overrides: [],
+                calcs: [a ? a.id : Pe.ReducerID.mean],
+              },
+              orientation: Pe.VizOrientation.Horizontal,
+            },
+            i = o.fieldOptions.defaults;
+          if (
+            (r.format && (i.unit = r.format),
+            r.nullPointMode && (i.nullValueMode = r.nullPointMode),
+            r.nullText && (i.noValue = r.nullText),
+            (r.decimals || 0 === r.decimals) && (i.decimals = r.decimals),
+            r.thresholds && r.colors)
+          ) {
+            var l = r.thresholds.split(",").map(function (e) {
+                return Number(e.trim());
+              }),
+              s = [],
+              c = !0,
+              u = !1,
+              f = void 0;
+            try {
+              for (
+                var d, p = r.colors[Symbol.iterator]();
+                !(c = (d = p.next()).done);
+                c = !0
+              ) {
+                var h = d.value,
+                  m = s.length - 1;
+                m >= 0
+                  ? s.push({ value: l[m], color: h })
+                  : s.push({ value: -1 / 0, color: h });
+              }
+            } catch (e) {
+              (u = !0), (f = e);
+            } finally {
+              try {
+                c || null == p.return || p.return();
+              } finally {
+                if (u) throw f;
+              }
+            }
+            i.thresholds = { mode: Pe.ThresholdsMode.Absolute, steps: s };
+          }
+          var g = sp(r);
+          return (
+            g && g.length && (i.mappings = g),
+            r.gauge &&
+              r.gauge.show &&
+              ((i.min = r.gauge.minValue), (i.max = r.gauge.maxValue)),
+            o
+          );
+        }
+        var b = !0,
+          v = !1,
+          y = void 0;
+        try {
+          for (
+            var w, O = ap[Symbol.iterator]();
+            !(b = (w = O.next()).done);
+            b = !0
+          ) {
+            var x = w.value;
+            n.hasOwnProperty(x) && (e[x] = Xd()(n[x]));
+          }
+        } catch (e) {
+          (v = !0), (y = e);
+        } finally {
+          try {
+            b || null == O.return || O.return();
+          } finally {
+            if (v) throw y;
+          }
+        }
+        return e;
+      }
+      function ip(e) {
+        if (!e.options) return {};
+        var t = parseFloat(e.pluginVersion || "6.1"),
+          n = e.options;
+        if (
+          (t < 6.2 &&
+            (n = (function (e) {
+              var t = e.valueOptions;
+              if (!t) return e;
+              var n = {},
+                r = {};
+              if (
+                ((n.mappings = e.valueMappings),
+                (n.thresholds = e.thresholds),
+                (n.defaults = r),
+                (r.unit = t.unit),
+                (r.decimals = t.decimals),
+                t.stat)
+              ) {
+                var a = Pe.fieldReducers.get(t.stat);
+                a && (n.calcs = [a.id]);
+              }
+              (r.min = e.minValue), (r.max = e.maxValue);
+              var o = tp({}, e, { fieldOptions: n });
+              return ye()(
+                o,
+                "valueMappings",
+                "thresholds",
+                "valueOptions",
+                "minValue",
+                "maxValue"
+              );
+            })(n)),
+          t < 6.3 &&
+            (n = (function (e) {
+              var t = e.fieldOptions;
+              if (!t) return e;
+              var n = e.fieldOptions,
+                r = n.mappings,
+                a = rp(n, ["mappings"]),
+                o = void 0;
+              e.thresholds &&
+                (o = {
+                  mode: Pe.ThresholdsMode.Absolute,
+                  steps: lp(e.thresholds),
+                });
+              return tp({}, e, {
+                fieldOptions: tp({}, a, {
+                  defaults: tp({}, t.defaults, { mappings: r, thresholds: o }),
+                }),
+              });
+            })(n)),
+          t < 6.6)
+        ) {
+          var r,
+            a = n.fieldOptions;
+          if (a && a.override) {
+            var o = n.fieldOptions;
+            o.override;
+            n = tp({}, n, {
+              fieldOptions: tp({}, rp(o, ["override"]), { overrides: [] }),
+            });
+          }
+          var i =
+            null == a
+              ? void 0
+              : null === (r = a.defaults) || void 0 === r
+              ? void 0
+              : r.thresholds;
+          i
+            ? delete a.defaults.thresholds
+            : ((i = null == a ? void 0 : a.thresholds), delete a.thresholds),
+            i &&
+              (a.defaults.thresholds = {
+                mode: Pe.ThresholdsMode.Absolute,
+                steps: i,
+              });
+          var l = a.defaults;
+          l.color &&
+            "string" == typeof l.color &&
+            (l.color = { mode: Pe.FieldColorMode.Fixed, fixedColor: l.color }),
+            Object(Pe.validateFieldConfig)(l);
+        }
+        return n;
+      }
+      function lp(e) {
+        if (e && e.length) {
+          var t = e.map(function (e) {
+            return {
+              value: null === e.value ? -1 / 0 : e.value,
+              color: e.color,
+            };
+          });
+          return Object(Pe.sortThresholds)(t), (t[0].value = -1 / 0), t;
+        }
+      }
+      function sp(e) {
+        var t = [],
+          n = e.mappingType;
+        if (
+          (e.mappingType ||
+            (e.valueMaps && e.valueMaps.length
+              ? (n = 1)
+              : e.rangeMaps && e.rangeMaps.length && (n = 2)),
+          1 === n)
+        )
+          for (var r = 0; r < e.valueMaps.length; r++) {
+            var a = e.valueMaps[r];
+            t.push(tp({}, a, { id: r, type: Pe.MappingType.ValueToText }));
+          }
+        else if (2 === n)
+          for (var o = 0; o < e.rangeMaps.length; o++) {
+            var i = e.rangeMaps[o];
+            t.push(tp({}, i, { id: o, type: Pe.MappingType.RangeToText }));
+          }
+        return t;
+      }
+      function cp() {
+        var e = dp(["\n    margin-top: ", ";\n  "]);
+        return (
+          (cp = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function up() {
+        var e = dp(["\n    margin-bottom: ", ";\n    font-style: italic;\n  "]);
+        return (
+          (up = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function fp() {
+        var e = dp([
+          "\n    label: call-to-action-card;\n    padding: ",
+          ";\n    background: ",
+          ";\n    border-radius: ",
+          ";\n    display: flex;\n    flex-direction: column;\n    align-items: center;\n    justify-content: center;\n  ",
+        ]);
+        return (
+          (fp = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function dp(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var pp = Object(i.g)(function (e) {
+          return {
+            wrapper: Object(o.css)(
+              fp(),
+              e.spacing.lg,
+              Object(Ne.a)(
+                { light: e.colors.gray6, dark: e.colors.grayBlue },
+                e.type
+              ),
+              e.border.radius.md
+            ),
+            message: Object(o.css)(up(), e.spacing.lg),
+            footer: Object(o.css)(cp(), e.spacing.lg),
+          };
+        }),
+        hp = function (e) {
+          var t = e.message,
+            n = e.callToActionElement,
+            r = e.footer,
+            i = e.theme,
+            l = e.className,
+            s = pp(i);
+          return a.a.createElement(
+            "div",
+            { className: Object(o.cx)([s.wrapper, l]) },
+            t && a.a.createElement("div", { className: s.message }, t),
+            n,
+            r && a.a.createElement("div", { className: s.footer }, r)
+          );
+        },
+        mp = n("wZee"),
+        gp = n.n(mp),
+        bp = n("xBDI"),
+        vp = n.n(bp);
+      function yp() {
+        return (yp =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function wp(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function Op() {
+        var e = Pp(["\n      margin-top: ", ";\n      color: ", ";\n    "]);
+        return (
+          (Op = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function xp() {
+        var e = Pp([
+          "\n      font-family: ",
+          ";\n      font-size: ",
+          ";\n    ",
+        ]);
+        return (
+          (xp = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function kp() {
+        var e = Pp([
+          "\n      background: ",
+          ";\n      &:hover {\n        background: ",
+          ";\n      }\n    ",
+        ]);
+        return (
+          (kp = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function jp() {
+        var e = Pp(["\n      color: ", ";\n    "]);
+        return (
+          (jp = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Sp() {
+        var e = Pp([
+          "\n      background: none;\n      padding: 2px 8px;\n      color: ",
+          ";\n      cursor: pointer;\n      &:hover {\n        background: ",
+          ";\n      }\n    ",
+        ]);
+        return (
+          (Sp = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Ep() {
+        var e = Pp([
+          "\n      background: ",
+          ";\n      z-index: 1;\n      width: 250px;\n      box-shadow: 0 5px 10px 0 ",
+          ";\n    ",
+        ]);
+        return (
+          (Ep = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Cp() {
+        var e = Pp([
+          "\n      border-bottom: 1px solid ",
+          ";\n      &:last-child {\n        border: none;\n      }\n    ",
+        ]);
+        return (
+          (Cp = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Pp(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var Tp = Object(i.g)(function (e) {
+          var t = Object(hr.selectThemeVariant)(
+              { light: e.colors.white, dark: e.colors.dark2 },
+              e.type
+            ),
+            n = Object(hr.selectThemeVariant)(
+              { light: e.colors.gray5, dark: e.colors.black },
+              e.type
+            ),
+            r = Object(hr.selectThemeVariant)(
+              { light: e.colors.black, dark: e.colors.white },
+              e.type
+            ),
+            a = Object(hr.selectThemeVariant)(
+              { light: e.colors.dark3, dark: e.colors.gray2 },
+              e.type
+            ),
+            i = Object(hr.selectThemeVariant)(
+              { light: e.colors.gray5, dark: e.colors.dark7 },
+              e.type
+            ),
+            l = Object(hr.selectThemeVariant)(
+              { light: e.colors.gray6, dark: e.colors.dark9 },
+              e.type
+            ),
+            s = Object(hr.selectThemeVariant)(
+              {
+                light: Ue()(t.toString()).darken(10).toString(),
+                dark: Ue()(t.toString()).lighten(10).toString(),
+              },
+              e.type
+            );
+          return {
+            list: Object(o.css)(Cp(), s),
+            wrapper: Object(o.css)(Ep(), t, n),
+            item: Object(o.css)(Sp(), r, i),
+            label: Object(o.css)(jp(), e.colors.textWeak),
+            activeItem: Object(o.css)(kp(), l, l),
+            itemValue: Object(o.css)(
+              xp(),
+              e.typography.fontFamily.monospace,
+              e.typography.size.sm
+            ),
+            itemDocs: Object(o.css)(Op(), e.spacing.xs, a),
+          };
+        }),
+        Dp = function (e) {
+          var t = e.suggestions,
+            n = wp(e, ["suggestions"]),
+            o = Object(r.useRef)(null),
+            i = Object(r.useContext)(hr.ThemeContext);
+          bl()(o, function () {
+            n.onClose && n.onClose();
+          });
+          var l = Object(r.useMemo)(
+              function () {
+                return ga.a.groupBy(t, function (e) {
+                  return e.origin;
+                });
+              },
+              [t]
+            ),
+            s = Tp(i);
+          return a.a.createElement(
+            "div",
+            { ref: o, className: s.wrapper },
+            Object.keys(l).map(function (e, t) {
+              var r =
+                0 === t
+                  ? 0
+                  : Object.keys(l).reduce(function (e, n, r) {
+                      return r >= t ? e : e + l[n].length;
+                    }, 0);
+              return a.a.createElement(
+                Ap,
+                yp({}, n, {
+                  suggestions: l[e],
+                  label: "".concat(ga.a.capitalize(e)),
+                  activeIndex: n.activeIndex,
+                  activeIndexOffset: r,
+                  key: e,
+                })
+              );
+            })
+          );
+        };
+      Dp.displayName = "DataLinkSuggestions";
+      var Ap = a.a.memo(function (e) {
+        var t = e.activeIndex,
+          n = e.activeIndexOffset,
+          i = e.label,
+          l = (e.onClose, e.onSuggestionSelect),
+          s = e.suggestions,
+          c = Object(r.useContext)(hr.ThemeContext),
+          u = Tp(c);
+        return a.a.createElement(
+          a.a.Fragment,
+          null,
+          a.a.createElement(kr.a, {
+            className: u.list,
+            items: s,
+            renderItem: function (e, r) {
+              return a.a.createElement(
+                "div",
+                {
+                  className: Object(o.cx)(u.item, r + n === t && u.activeItem),
+                  onClick: function () {
+                    l(e);
+                  },
+                  title: e.documentation,
+                },
+                a.a.createElement(
+                  "span",
+                  { className: u.itemValue },
+                  a.a.createElement("span", { className: u.label }, i),
+                  " ",
+                  e.label
+                )
+              );
+            },
+          })
+        );
+      });
+      function _p(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      Ap.displayName = "DataLinkSuggestionsList";
+      var Np = (function () {
+          function e() {
+            !(function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, e);
+          }
+          var t, n, r;
+          return (
+            (t = e),
+            (n = [
+              {
+                key: "getBoundingClientRect",
+                value: function () {
+                  var e = window.getSelection(),
+                    t = e && e.anchorNode;
+                  return t && t.parentElement
+                    ? t.parentElement.getBoundingClientRect()
+                    : {
+                        top: 0,
+                        left: 0,
+                        bottom: 0,
+                        right: 0,
+                        width: 0,
+                        height: 0,
+                      };
+                },
+              },
+              {
+                key: "clientWidth",
+                get: function () {
+                  return this.getBoundingClientRect().width;
+                },
+              },
+              {
+                key: "clientHeight",
+                get: function () {
+                  return this.getBoundingClientRect().height;
+                },
+              },
+            ]) && _p(t.prototype, n),
+            r && _p(t, r),
+            e
+          );
+        })(),
+        Mp = n("I7VN"),
+        Ip = n("zp0N");
+      function Rp() {
+        var e = Vp([
+          "\n            position: relative;\n            height: auto;\n          ",
+        ]);
+        return (
+          (Rp = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Fp(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function Lp() {
+        var e = Vp([
+          "\n    .token.builtInVariable {\n      color: ",
+          ";\n    }\n    .token.variable {\n      color: ",
+          ";\n    }\n  ",
+        ]);
+        return (
+          (Lp = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Vp(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var Bp = [
+          Object(ya.h)({
+            onlyIn: function (e) {
+              return "code_block" === e.type;
+            },
+            getSyntax: function () {
+              return "links";
+            },
+          }),
+        ],
+        $p = Object(i.g)(function (e) {
+          return {
+            editor: Object(o.css)(
+              Lp(),
+              e.colors.queryGreen,
+              e.colors.queryKeyword
+            ),
+          };
+        }),
+        qp = Object(r.memo)(function (e) {
+          var t = e.value,
+            n = e.onChange,
+            i = e.suggestions,
+            l = e.placeholder,
+            s =
+              void 0 === l
+                ? "http://your-grafana.com/d/000000010/annotations"
+                : l,
+            c = Object(r.useRef)(),
+            u = Object(r.useContext)(hr.ThemeContext),
+            f = $p(u),
+            d = Fp(Object(r.useState)(!1), 2),
+            p = d[0],
+            h = d[1],
+            m = Fp(Object(r.useState)(0), 2),
+            g = m[0],
+            b = m[1],
+            v = Fp(Object(r.useState)(Object(hr.makeValue)(t)), 2),
+            y = v[0],
+            w = v[1],
+            O = vp()(y),
+            x = Object(r.useRef)({
+              showingSuggestions: p,
+              suggestions: i,
+              suggestionsIndex: g,
+              linkUrl: y,
+              onChange: n,
+            });
+          x.current = {
+            showingSuggestions: p,
+            suggestions: i,
+            suggestionsIndex: g,
+            linkUrl: y,
+            onChange: n,
+          };
+          var k = Object(r.useMemo)(
+              function () {
+                return new Np();
+              },
+              [h, y]
+            ),
+            j = a.a.useCallback(function (e, t) {
+              if (!x.current.showingSuggestions)
+                return "=" === e.key ||
+                  "$" === e.key ||
+                  (32 === e.keyCode && e.ctrlKey)
+                  ? h(!0)
+                  : t();
+              switch (e.key) {
+                case "Backspace":
+                case "Escape":
+                  return h(!1), b(0);
+                case "Enter":
+                  return (
+                    e.preventDefault(),
+                    E(x.current.suggestions[x.current.suggestionsIndex])
+                  );
+                case "ArrowDown":
+                case "ArrowUp":
+                  e.preventDefault();
+                  var n = "ArrowDown" === e.key ? 1 : -1;
+                  return b(function (e) {
+                    return (
+                      (t = e + n),
+                      (r = x.current.suggestions.length),
+                      t - r * Math.floor(t / r)
+                    );
+                    var t, r;
+                  });
+                default:
+                  return t();
+              }
+            }, []);
+          Object(r.useEffect)(
+            function () {
+              O &&
+                O.selection.isFocused &&
+                !y.selection.isFocused &&
+                x.current.onChange(va.a.serialize(y));
+            },
+            [y, O]
+          );
+          var S = a.a.useCallback(function (e) {
+              var t = e.value;
+              w(t);
+            }, []),
+            E = function (e) {
+              var t =
+                  arguments.length > 1 && void 0 !== arguments[1]
+                    ? arguments[1]
+                    : c.current,
+                n = "$" !== va.a.serialize(t.value).slice(-1);
+              e.origin !== Pe.VariableOrigin.Template ||
+              e.value === hr.DataLinkBuiltInVars.includeVars
+                ? t.insertText(
+                    "".concat(n ? "$" : "", "{").concat(e.value, "}")
+                  )
+                : t.insertText(
+                    "var-".concat(e.value, "=${").concat(e.value, "}")
+                  ),
+                w(t.value),
+                h(!1),
+                b(0),
+                x.current.onChange(va.a.serialize(t.value));
+            };
+          return a.a.createElement(
+            "div",
+            { className: Object(o.cx)("gf-form-input", Object(o.css)(Rp())) },
+            a.a.createElement(
+              "div",
+              { className: "slate-query-field" },
+              p &&
+                a.a.createElement(
+                  A.a,
+                  null,
+                  a.a.createElement(
+                    Mp.b,
+                    {
+                      referenceElement: k,
+                      placement: "top-end",
+                      modifiers: {
+                        preventOverflow: {
+                          enabled: !0,
+                          boundariesElement: "window",
+                        },
+                        arrow: { enabled: !1 },
+                        offset: { offset: 250 },
+                      },
+                    },
+                    function (e) {
+                      var t = e.ref,
+                        n = e.style,
+                        r = e.placement;
+                      return a.a.createElement(
+                        "div",
+                        { ref: t, style: n, "data-placement": r },
+                        a.a.createElement(Dp, {
+                          suggestions: x.current.suggestions,
+                          onSuggestionSelect: E,
+                          onClose: function () {
+                            return h(!1);
+                          },
+                          activeIndex: g,
+                        })
+                      );
+                    }
+                  )
+                ),
+              a.a.createElement(ba.a, {
+                schema: Ip.a,
+                ref: c,
+                placeholder: s,
+                value: x.current.linkUrl,
+                onChange: S,
+                onKeyDown: function (e, t, n) {
+                  return j(e, n);
+                },
+                plugins: Bp,
+                className: f.editor,
+              })
+            )
+          );
+        });
+      function Up() {
+        var e = Yp(["\n            width: 100%;\n          "]);
+        return (
+          (Up = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function zp(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Hp(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? zp(Object(n), !0).forEach(function (t) {
+                Gp(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : zp(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Gp(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Wp() {
+        var e = Yp([
+          "\n    padding-bottom: ",
+          ";\n    margin-left: 66px;\n    color: ",
+          ";\n  ",
+        ]);
+        return (
+          (Wp = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Qp() {
+        var e = Yp(["\n    margin-bottom: ", ";\n  "]);
+        return (
+          (Qp = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Yp(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      qp.displayName = "DataLinkInput";
+      var Kp = Object(i.g)(function (e) {
+          return {
+            listItem: Object(o.css)(Qp(), e.spacing.sm),
+            infoText: Object(o.css)(Wp(), e.spacing.md, e.colors.textWeak),
+          };
+        }),
+        Jp = a.a.memo(function (e) {
+          var t = e.index,
+            n = e.value,
+            l = e.onChange,
+            s = e.onRemove,
+            c = e.suggestions,
+            u = e.isLast,
+            f = Object(r.useContext)(i.a),
+            d = Kp(f);
+          return a.a.createElement(
+            "div",
+            { className: d.listItem },
+            a.a.createElement(
+              "div",
+              { className: "gf-form gf-form--inline" },
+              a.a.createElement(be, {
+                className: "gf-form--grow",
+                label: "Title",
+                value: n.title,
+                onChange: function (e) {
+                  l(t, Hp({}, n, { title: e.target.value }));
+                },
+                inputWidth: 0,
+                labelWidth: 5,
+                placeholder: "Show details",
+              }),
+              a.a.createElement(Vt, {
+                label: "Open in new tab",
+                checked: n.targetBlank || !1,
+                onChange: function () {
+                  l(t, Hp({}, n, { targetBlank: !n.targetBlank }));
+                },
+              }),
+              a.a.createElement(
+                "button",
+                {
+                  className: "gf-form-label gf-form-label--btn",
+                  onClick: function () {
+                    s(n);
+                  },
+                  title: "Remove link",
+                },
+                a.a.createElement("i", { className: "fa fa-times" })
+              )
+            ),
+            a.a.createElement(be, {
+              label: "URL",
+              labelWidth: 5,
+              inputEl: a.a.createElement(qp, {
+                value: n.url,
+                onChange: function (e, r) {
+                  l(t, Hp({}, n, { url: e }), r);
+                },
+                suggestions: c,
+              }),
+              className: Object(o.css)(Up()),
+            }),
+            u &&
+              a.a.createElement(
+                "div",
+                { className: d.infoText },
+                "With data links you can reference data variables like series name, labels and values. Type CMD+Space, CTRL+Space, or $ to open variable suggestions."
+              )
+          );
+        });
+      function Zp() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })(["\n              margin-bottom: ", ";\n            "]);
+        return (
+          (Zp = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Xp(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      Jp.displayName = "DataLinkEditor";
+      var eh = a.a.memo(function (e) {
+        var t = e.value,
+          n = void 0 === t ? [] : t,
+          r = e.onChange,
+          i = e.suggestions,
+          s = e.maxLinks,
+          c = Object(Bt.c)();
+        gp.a.languages.links = { builtInVariable: { pattern: /(\${\S+?})/ } };
+        var u = function (e, t, a) {
+            r(
+              n.map(function (n, r) {
+                return e === r ? t : n;
+              }),
+              a
+            );
+          },
+          f = function (e) {
+            r(
+              n.filter(function (t) {
+                return t !== e;
+              })
+            );
+          };
+        return a.a.createElement(
+          a.a.Fragment,
+          null,
+          n &&
+            n.length > 0 &&
+            a.a.createElement(
+              "div",
+              { className: Object(o.css)(Zp(), c.spacing.sm) },
+              n.map(function (e, t) {
+                return a.a.createElement(Jp, {
+                  key: t.toString(),
+                  index: t,
+                  isLast: t === n.length - 1,
+                  value: e,
+                  onChange: u,
+                  onRemove: f,
+                  suggestions: i,
+                });
+              })
+            ),
+          (!n || (n && n.length < (s || 1 / 0))) &&
+            a.a.createElement(
+              l.a,
+              {
+                variant: "inverse",
+                icon: "fa fa-plus",
+                onClick: function () {
+                  r(
+                    n
+                      ? [].concat(Xp(n), [{ url: "", title: "" }])
+                      : [{ url: "", title: "" }]
+                  );
+                },
+              },
+              "Add link"
+            )
+        );
+      });
+      function th(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      eh.displayName = "DataLinksEditor";
+      var nh = function (e) {
+          var t = e.children,
+            n = e.getContextMenuItems,
+            o = th(Object(r.useState)(!1), 2),
+            i = o[0],
+            l = o[1],
+            s = th(Object(r.useState)({ x: 0, y: 0 }), 2),
+            c = s[0],
+            u = s[1];
+          return a.a.createElement(
+            a.a.Fragment,
+            null,
+            t({
+              openMenu: function (e) {
+                l(!0), u({ x: e.pageX, y: e.pageY });
+              },
+            }),
+            i &&
+              a.a.createElement(Cl, {
+                onClose: function () {
+                  return l(!1);
+                },
+                x: c.x,
+                y: c.y,
+                items: n(),
+              })
+          );
+        },
+        rh = n("nfvv");
+      function ah() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })(["\n    cursor: context-menu;\n  "]);
+        return (
+          (ah = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      var oh = function (e) {
+        var t = e.children,
+          n = e.links;
+        if (!n) return t({});
+        var r = Object(o.css)(ah());
+        return a.a.createElement(
+          nh,
+          {
+            getContextMenuItems: function () {
+              return [{ items: Object(rh.b)(n), label: "Data links" }];
+            },
+          },
+          function (e) {
+            var n = e.openMenu;
+            return t({ openMenu: n, targetClassName: r });
+          }
+        );
+      };
+      function ih(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function lh(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var sh = {
+        id: Pe.DataTransformerID.reduce,
+        component: function (e) {
+          var t = e.options,
+            n = e.onChange;
+          e.input;
+          return a.a.createElement(ur, {
+            width: 25,
+            placeholder: "Choose Stat",
+            allowMultiple: !0,
+            stats: t.reducers || [],
+            onChange: function (e) {
+              n(
+                (function (e) {
+                  for (var t = 1; t < arguments.length; t++) {
+                    var n = null != arguments[t] ? arguments[t] : {};
+                    t % 2
+                      ? ih(Object(n), !0).forEach(function (t) {
+                          lh(e, t, n[t]);
+                        })
+                      : Object.getOwnPropertyDescriptors
+                      ? Object.defineProperties(
+                          e,
+                          Object.getOwnPropertyDescriptors(n)
+                        )
+                      : ih(Object(n)).forEach(function (t) {
+                          Object.defineProperty(
+                            e,
+                            t,
+                            Object.getOwnPropertyDescriptor(n, t)
+                          );
+                        });
+                  }
+                  return e;
+                })({}, t, { reducers: e })
+              );
+            },
+          });
+        },
+        transformer: Pe.transformersRegistry.get(Pe.DataTransformerID.reduce),
+        name: "Reduce",
+        description: "UI for reduce transformation",
+      };
+      function ch(e) {
+        return (ch =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function uh() {
+        var e = ph(["\n              margin-right: 4px;\n            "]);
+        return (
+          (uh = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function fh() {
+        var e = ph([
+          "\n        padding: ",
+          " ",
+          ";\n        color: white;\n        background: ",
+          ";\n        border-radius: 16px;\n        display: inline-block;\n        cursor: pointer;\n      ",
+        ]);
+        return (
+          (fh = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function dh() {
+        var e = ph([
+          "\n                  margin-right: ",
+          ";\n                ",
+        ]);
+        return (
+          (dh = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ph(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      function hh(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function mh(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function gh(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function bh(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function vh(e, t) {
+        return !t || ("object" !== ch(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function yh(e) {
+        return (yh = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function wh(e, t) {
+        return (wh =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Oh = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = vh(this, yh(t).call(this, e))).onFieldToggle = function (
+                e
+              ) {
+                var t = n.state.selected;
+                t.indexOf(e) > -1
+                  ? n.onChange(
+                      t.filter(function (t) {
+                        return t !== e;
+                      })
+                    )
+                  : n.onChange([].concat(gh(t), [e]));
+              }),
+              (n.onChange = function (e) {
+                n.setState({ selected: e }),
+                  n.props.onChange(
+                    (function (e) {
+                      for (var t = 1; t < arguments.length; t++) {
+                        var n = null != arguments[t] ? arguments[t] : {};
+                        t % 2
+                          ? hh(Object(n), !0).forEach(function (t) {
+                              mh(e, t, n[t]);
+                            })
+                          : Object.getOwnPropertyDescriptors
+                          ? Object.defineProperties(
+                              e,
+                              Object.getOwnPropertyDescriptors(n)
+                            )
+                          : hh(Object(n)).forEach(function (t) {
+                              Object.defineProperty(
+                                e,
+                                t,
+                                Object.getOwnPropertyDescriptor(n, t)
+                              );
+                            });
+                      }
+                      return e;
+                    })({}, n.props.options, { include: e.join("|") })
+                  );
+              }),
+              (n.state = {
+                include: e.options.include || "",
+                options: [],
+                selected: [],
+              }),
+              n
+            );
+          }
+          var n, r, i;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && wh(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value: function () {
+                  this.initOptions();
+                },
+              },
+              {
+                key: "initOptions",
+                value: function () {
+                  var e = this.props,
+                    t = e.input,
+                    n = e.options,
+                    r = n.include ? n.include.split("|") : [],
+                    a = [],
+                    o = {},
+                    i = !0,
+                    l = !1,
+                    s = void 0;
+                  try {
+                    for (
+                      var c, u = t[Symbol.iterator]();
+                      !(i = (c = u.next()).done);
+                      i = !0
+                    ) {
+                      var f = c.value,
+                        d = !0,
+                        p = !1,
+                        h = void 0;
+                      try {
+                        for (
+                          var m, g = f.fields[Symbol.iterator]();
+                          !(d = (m = g.next()).done);
+                          d = !0
+                        ) {
+                          var b = m.value,
+                            v = o[b.name];
+                          v ||
+                            ((v = o[b.name] = { name: b.name, count: 0 }),
+                            a.push(v)),
+                            v.count++;
+                        }
+                      } catch (e) {
+                        (p = !0), (h = e);
+                      } finally {
+                        try {
+                          d || null == g.return || g.return();
+                        } finally {
+                          if (p) throw h;
+                        }
+                      }
+                    }
+                  } catch (e) {
+                    (l = !0), (s = e);
+                  } finally {
+                    try {
+                      i || null == u.return || u.return();
+                    } finally {
+                      if (l) throw s;
+                    }
+                  }
+                  if (r.length) {
+                    var y = [],
+                      w = [],
+                      O = !0,
+                      x = !1,
+                      k = void 0;
+                    try {
+                      for (
+                        var j, S = a[Symbol.iterator]();
+                        !(O = (j = S.next()).done);
+                        O = !0
+                      ) {
+                        var E = j.value;
+                        r.includes(E.name) && w.push(E), y.push(E);
+                      }
+                    } catch (e) {
+                      (x = !0), (k = e);
+                    } finally {
+                      try {
+                        O || null == S.return || S.return();
+                      } finally {
+                        if (x) throw k;
+                      }
+                    }
+                    this.setState({
+                      options: y,
+                      selected: w.map(function (e) {
+                        return e.name;
+                      }),
+                    });
+                  } else this.setState({ options: a, selected: [] });
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this,
+                    t = this.state,
+                    n = t.options,
+                    r = t.selected;
+                  return a.a.createElement(
+                    a.a.Fragment,
+                    null,
+                    a.a.createElement(ts.a, {
+                      items: n,
+                      renderItem: function (t, i) {
+                        var l = ""
+                          .concat(t.name)
+                          .concat(t.count > 1 ? " (" + t.count + ")" : "");
+                        return a.a.createElement(
+                          "span",
+                          {
+                            className: Object(o.css)(
+                              dh(),
+                              i === n.length - 1 ? "0" : "10px"
+                            ),
+                          },
+                          a.a.createElement(xh, {
+                            onClick: function () {
+                              e.onFieldToggle(t.name);
+                            },
+                            label: l,
+                            selected: r.indexOf(t.name) > -1,
+                          })
+                        );
+                      },
+                    })
+                  );
+                },
+              },
+            ]) && bh(n.prototype, r),
+            i && bh(n, i),
+            t
+          );
+        })(a.a.PureComponent),
+        xh = function (e) {
+          var t = e.label,
+            n = e.selected,
+            i = e.onClick,
+            l = Object(r.useContext)(Bt.a);
+          return a.a.createElement(
+            "div",
+            {
+              className: Object(o.css)(
+                fh(),
+                l.spacing.xxs,
+                l.spacing.sm,
+                n ? l.colors.blueLight : l.colors.blueShade
+              ),
+              onClick: i,
+            },
+            n &&
+              a.a.createElement("i", {
+                className: Object(o.cx)("fa fa-check", Object(o.css)(uh())),
+              }),
+            t
+          );
+        },
+        kh = {
+          id: Pe.DataTransformerID.filterFieldsByName,
+          component: Oh,
+          transformer: Pe.transformersRegistry.get(
+            Pe.DataTransformerID.filterFieldsByName
+          ),
+          name: "Filter by name",
+          description: "UI for filter by name transformation",
+        };
+      function jh(e) {
+        return (jh =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Sh() {
+        var e = Ph(["\n              margin-right: 4px;\n            "]);
+        return (
+          (Sh = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Eh() {
+        var e = Ph([
+          "\n        padding: ",
+          " ",
+          ";\n        color: white;\n        background: ",
+          ";\n        border-radius: 16px;\n        display: inline-block;\n        cursor: pointer;\n      ",
+        ]);
+        return (
+          (Eh = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Ch() {
+        var e = Ph([
+          "\n                  margin-right: ",
+          ";\n                ",
+        ]);
+        return (
+          (Ch = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Ph(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      function Th(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Dh(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Ah(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function _h(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Nh(e, t) {
+        return !t || ("object" !== jh(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Mh(e) {
+        return (Mh = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Ih(e, t) {
+        return (Ih =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Rh = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = Nh(this, Mh(t).call(this, e))).onFieldToggle = function (
+                e
+              ) {
+                var t = n.state.selected;
+                t.indexOf(e) > -1
+                  ? n.onChange(
+                      t.filter(function (t) {
+                        return t !== e;
+                      })
+                    )
+                  : n.onChange([].concat(Ah(t), [e]));
+              }),
+              (n.onChange = function (e) {
+                n.setState({ selected: e }),
+                  n.props.onChange(
+                    (function (e) {
+                      for (var t = 1; t < arguments.length; t++) {
+                        var n = null != arguments[t] ? arguments[t] : {};
+                        t % 2
+                          ? Th(Object(n), !0).forEach(function (t) {
+                              Dh(e, t, n[t]);
+                            })
+                          : Object.getOwnPropertyDescriptors
+                          ? Object.defineProperties(
+                              e,
+                              Object.getOwnPropertyDescriptors(n)
+                            )
+                          : Th(Object(n)).forEach(function (t) {
+                              Object.defineProperty(
+                                e,
+                                t,
+                                Object.getOwnPropertyDescriptor(n, t)
+                              );
+                            });
+                      }
+                      return e;
+                    })({}, n.props.options, { include: e.join("|") })
+                  );
+              }),
+              (n.state = {
+                include: e.options.include || "",
+                options: [],
+                selected: [],
+              }),
+              n
+            );
+          }
+          var n, r, i;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Ih(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value: function () {
+                  this.initOptions();
+                },
+              },
+              {
+                key: "initOptions",
+                value: function () {
+                  var e = this.props,
+                    t = e.input,
+                    n = e.options,
+                    r = n.include ? n.include.split("|") : [],
+                    a = [],
+                    o = {},
+                    i = !0,
+                    l = !1,
+                    s = void 0;
+                  try {
+                    for (
+                      var c, u = t[Symbol.iterator]();
+                      !(i = (c = u.next()).done);
+                      i = !0
+                    ) {
+                      var f = c.value;
+                      if (f.refId) {
+                        var d = o[f.refId];
+                        d ||
+                          ((d = o[f.refId] = { refId: f.refId, count: 0 }),
+                          a.push(d)),
+                          d.count++;
+                      }
+                    }
+                  } catch (e) {
+                    (l = !0), (s = e);
+                  } finally {
+                    try {
+                      i || null == u.return || u.return();
+                    } finally {
+                      if (l) throw s;
+                    }
+                  }
+                  if (r.length) {
+                    var p = [],
+                      h = [],
+                      m = !0,
+                      g = !1,
+                      b = void 0;
+                    try {
+                      for (
+                        var v, y = a[Symbol.iterator]();
+                        !(m = (v = y.next()).done);
+                        m = !0
+                      ) {
+                        var w = v.value;
+                        r.includes(w.refId) && h.push(w), p.push(w);
+                      }
+                    } catch (e) {
+                      (g = !0), (b = e);
+                    } finally {
+                      try {
+                        m || null == y.return || y.return();
+                      } finally {
+                        if (g) throw b;
+                      }
+                    }
+                    this.setState({
+                      options: p,
+                      selected: h.map(function (e) {
+                        return e.refId;
+                      }),
+                    });
+                  } else this.setState({ options: a, selected: [] });
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this,
+                    t = this.state,
+                    n = t.options,
+                    r = t.selected;
+                  return a.a.createElement(
+                    a.a.Fragment,
+                    null,
+                    a.a.createElement(ts.a, {
+                      items: n,
+                      renderItem: function (t, i) {
+                        var l = ""
+                          .concat(t.refId)
+                          .concat(t.count > 1 ? " (" + t.count + ")" : "");
+                        return a.a.createElement(
+                          "span",
+                          {
+                            className: Object(o.css)(
+                              Ch(),
+                              i === n.length - 1 ? "0" : "10px"
+                            ),
+                          },
+                          a.a.createElement(Fh, {
+                            onClick: function () {
+                              e.onFieldToggle(t.refId);
+                            },
+                            label: l,
+                            selected: r.indexOf(t.refId) > -1,
+                          })
+                        );
+                      },
+                    })
+                  );
+                },
+              },
+            ]) && _h(n.prototype, r),
+            i && _h(n, i),
+            t
+          );
+        })(a.a.PureComponent),
+        Fh = function (e) {
+          var t = e.label,
+            n = e.selected,
+            i = e.onClick,
+            l = Object(r.useContext)(Bt.a);
+          return a.a.createElement(
+            "div",
+            {
+              className: Object(o.css)(
+                Eh(),
+                l.spacing.xxs,
+                l.spacing.sm,
+                n ? l.colors.blueLight : l.colors.blueShade
+              ),
+              onClick: i,
+            },
+            n &&
+              a.a.createElement("i", {
+                className: Object(o.cx)("fa fa-check", Object(o.css)(Sh())),
+              }),
+            t
+          );
+        },
+        Lh = {
+          id: Pe.DataTransformerID.filterByRefId,
+          component: Rh,
+          transformer: Pe.transformersRegistry.get(
+            Pe.DataTransformerID.filterByRefId
+          ),
+          name: "Filter by refId",
+          description: "Filter results by refId",
+        },
+        Vh = new Pe.Registry(function () {
+          return [sh, kh, Lh];
+        });
+      function Bh(e) {
+        return (Bh =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function $h(e) {
+        var t = Bh(e);
+        return !!e && "object" === t;
+      }
+      function qh(e) {
+        if (void 0 === e) return "";
+        if (null === e) return "Object";
+        if ("object" === Bh(e) && !e.constructor) return "Object";
+        var t = /function ([^(]*)/.exec(e.constructor.toString());
+        return t && t.length > 1 ? t[1] : "";
+      }
+      function Uh(e) {
+        return null === e ? "null" : Bh(e);
+      }
+      function zh(e, t) {
+        var n = Uh(e);
+        return "null" === n || "undefined" === n
+          ? n
+          : ("string" === n && (t = '"' + t.replace('"', '"') + '"'),
+            "function" === n
+              ? e
+                  .toString()
+                  .replace(/[\r\n]/g, "")
+                  .replace(/\{.*\}/, "") + "{…}"
+              : t);
+      }
+      function Hh(e) {
+        return "json-formatter-".concat(e);
+      }
+      function Gh(e, t, n) {
+        var r = document.createElement(e);
+        return (
+          t && r.classList.add(Hh(t)),
+          void 0 !== n &&
+            (n instanceof Node
+              ? r.appendChild(n)
+              : r.appendChild(document.createTextNode(String(n)))),
+          r
+        );
+      }
+      function Wh(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Qh(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var Yh = /(^\d{1,4}[\.|\\/|-]\d{1,2}[\.|\\/|-]\d{1,4})(\s*(?:0?[1-9]:[0-5]|1(?=[012])\d:[0-5])\d\s*[ap]m)?$/,
+        Kh = /\d{2}:\d{2}:\d{2} GMT-\d{4}/,
+        Jh = /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/,
+        Zh =
+          window.requestAnimationFrame ||
+          function (e) {
+            return e(), 0;
+          },
+        Xh = { animateOpen: !0, animateClose: !0 },
+        em = (function () {
+          function e(t) {
+            var n =
+                arguments.length > 1 && void 0 !== arguments[1]
+                  ? arguments[1]
+                  : 1,
+              r =
+                arguments.length > 2 && void 0 !== arguments[2]
+                  ? arguments[2]
+                  : Xh,
+              a = arguments.length > 3 ? arguments[3] : void 0;
+            Wh(this, e),
+              (this.json = t),
+              (this.open = n),
+              (this.config = r),
+              (this.key = a),
+              (this._isOpen = null),
+              (this.element = null),
+              (this.skipChildren = !1);
+          }
+          var t, n, r;
+          return (
+            (t = e),
+            (n = [
+              {
+                key: "toggleOpen",
+                value: function () {
+                  (this.isOpen = !this.isOpen),
+                    this.element &&
+                      (this.isOpen
+                        ? this.appendChildren(this.config.animateOpen)
+                        : this.removeChildren(this.config.animateClose),
+                      this.element.classList.toggle(Hh("open")));
+                },
+              },
+              {
+                key: "openAtDepth",
+                value: function () {
+                  var e =
+                    arguments.length > 0 && void 0 !== arguments[0]
+                      ? arguments[0]
+                      : 1;
+                  e < 0 ||
+                    ((this.open = e),
+                    (this.isOpen = 0 !== e),
+                    this.element &&
+                      (this.removeChildren(!1),
+                      0 === e
+                        ? this.element.classList.remove(Hh("open"))
+                        : (this.appendChildren(this.config.animateOpen),
+                          this.element.classList.add(Hh("open")))));
+                },
+              },
+              {
+                key: "isNumberArray",
+                value: function () {
+                  return (
+                    this.json.length > 0 &&
+                    this.json.length < 4 &&
+                    (ga.a.isNumber(this.json[0]) || ga.a.isNumber(this.json[1]))
+                  );
+                },
+              },
+              {
+                key: "renderArray",
+                value: function () {
+                  var e = Gh("span");
+                  return (
+                    e.appendChild(Gh("span", "bracket", "[")),
+                    this.isNumberArray()
+                      ? (this.json.forEach(function (t, n) {
+                          n > 0 &&
+                            e.appendChild(Gh("span", "array-comma", ",")),
+                            e.appendChild(Gh("span", "number", t));
+                        }),
+                        (this.skipChildren = !0))
+                      : e.appendChild(Gh("span", "number", this.json.length)),
+                    e.appendChild(Gh("span", "bracket", "]")),
+                    e
+                  );
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e =
+                    arguments.length > 0 &&
+                    void 0 !== arguments[0] &&
+                    arguments[0];
+                  this.element = Gh("div", "row");
+                  var t = Gh("a", "toggler-link"),
+                    n = Gh("span", "toggler");
+                  if (
+                    (this.isObject && t.appendChild(n),
+                    this.hasKey &&
+                      t.appendChild(
+                        Gh("span", "key", "".concat(this.key, ":"))
+                      ),
+                    this.isObject)
+                  ) {
+                    var r = Gh("span", "value"),
+                      a = Gh("span"),
+                      o = Gh("span", "constructor-name", this.constructorName);
+                    if ((a.appendChild(o), this.isArray)) {
+                      var i = this.renderArray();
+                      a.appendChild(i);
+                    }
+                    r.appendChild(a), t.appendChild(r);
+                  } else {
+                    var l = this.isUrl ? Gh("a") : Gh("span");
+                    l.classList.add(Hh(this.type)),
+                      this.isDate && l.classList.add(Hh("date")),
+                      this.isUrl &&
+                        (l.classList.add(Hh("url")),
+                        l.setAttribute("href", this.json));
+                    var s = zh(this.json, this.json);
+                    l.appendChild(document.createTextNode(s)), t.appendChild(l);
+                  }
+                  var c = Gh("div", "children");
+                  return (
+                    this.isObject && c.classList.add(Hh("object")),
+                    this.isArray && c.classList.add(Hh("array")),
+                    this.isEmpty && c.classList.add(Hh("empty")),
+                    this.config &&
+                      this.config.theme &&
+                      this.element.classList.add(Hh(this.config.theme)),
+                    this.isOpen && this.element.classList.add(Hh("open")),
+                    e || this.element.appendChild(t),
+                    this.skipChildren
+                      ? t.removeChild(n)
+                      : this.element.appendChild(c),
+                    this.isObject && this.isOpen && this.appendChildren(),
+                    this.isObject &&
+                      t.addEventListener("click", this.toggleOpen.bind(this)),
+                    this.element
+                  );
+                },
+              },
+              {
+                key: "appendChildren",
+                value: function () {
+                  var t = this,
+                    n =
+                      arguments.length > 0 &&
+                      void 0 !== arguments[0] &&
+                      arguments[0],
+                    r =
+                      this.element &&
+                      this.element.querySelector("div.".concat(Hh("children")));
+                  if (r && !this.isEmpty)
+                    if (n) {
+                      var a = 0,
+                        o = function n() {
+                          var o = t.keys[a],
+                            i = new e(t.json[o], t.open - 1, t.config, o);
+                          r.appendChild(i.render()),
+                            (a += 1) < t.keys.length && (a > 10 ? n() : Zh(n));
+                        };
+                      Zh(o);
+                    } else
+                      this.keys.forEach(function (n) {
+                        var a = new e(t.json[n], t.open - 1, t.config, n);
+                        r.appendChild(a.render());
+                      });
+                },
+              },
+              {
+                key: "removeChildren",
+                value: function () {
+                  var e =
+                      arguments.length > 0 &&
+                      void 0 !== arguments[0] &&
+                      arguments[0],
+                    t =
+                      this.element &&
+                      this.element.querySelector("div.".concat(Hh("children")));
+                  if (e) {
+                    var n = 0,
+                      r = function e() {
+                        t &&
+                          t.children.length &&
+                          (t.removeChild(t.children[0]),
+                          (n += 1) > 10 ? e() : Zh(e));
+                      };
+                    Zh(r);
+                  } else t && (t.innerHTML = "");
+                },
+              },
+              {
+                key: "isOpen",
+                get: function () {
+                  return null !== this._isOpen ? this._isOpen : this.open > 0;
+                },
+                set: function (e) {
+                  this._isOpen = e;
+                },
+              },
+              {
+                key: "isDate",
+                get: function () {
+                  return (
+                    "string" === this.type &&
+                    (Yh.test(this.json) ||
+                      Jh.test(this.json) ||
+                      Kh.test(this.json))
+                  );
+                },
+              },
+              {
+                key: "isUrl",
+                get: function () {
+                  return (
+                    "string" === this.type && 0 === this.json.indexOf("http")
+                  );
+                },
+              },
+              {
+                key: "isArray",
+                get: function () {
+                  return Array.isArray(this.json);
+                },
+              },
+              {
+                key: "isObject",
+                get: function () {
+                  return $h(this.json);
+                },
+              },
+              {
+                key: "isEmptyObject",
+                get: function () {
+                  return !this.keys.length && !this.isArray;
+                },
+              },
+              {
+                key: "isEmpty",
+                get: function () {
+                  return (
+                    this.isEmptyObject ||
+                    (this.keys && !this.keys.length && this.isArray)
+                  );
+                },
+              },
+              {
+                key: "hasKey",
+                get: function () {
+                  return void 0 !== this.key;
+                },
+              },
+              {
+                key: "constructorName",
+                get: function () {
+                  return qh(this.json);
+                },
+              },
+              {
+                key: "type",
+                get: function () {
+                  return Uh(this.json);
+                },
+              },
+              {
+                key: "keys",
+                get: function () {
+                  return this.isObject
+                    ? Object.keys(this.json).map(function (e) {
+                        return e || '""';
+                      })
+                    : [];
+                },
+              },
+            ]) && Qh(t.prototype, n),
+            r && Qh(t, r),
+            e
+          );
+        })();
+      function tm(e) {
+        return (tm =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function nm(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function rm(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function am(e, t) {
+        return !t || ("object" !== tm(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function om(e) {
+        return (om = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function im(e, t) {
+        return (im =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var lm = (function (e) {
+        function t() {
+          var e, n;
+          nm(this, t);
+          for (var a = arguments.length, o = new Array(a), i = 0; i < a; i++)
+            o[i] = arguments[i];
+          return (
+            ((n = am(
+              this,
+              (e = om(t)).call.apply(e, [this].concat(o))
+            )).wrapperRef = Object(r.createRef)()),
+            (n.renderJson = function () {
+              var e = n.props,
+                t = e.json,
+                r = e.config,
+                a = e.open,
+                o = e.onDidRender,
+                i = n.wrapperRef.current,
+                l = new em(t, a, r);
+              i.hasChildNodes()
+                ? i.replaceChild(l.render(), i.lastChild)
+                : i.appendChild(l.render()),
+                o && o(l.json);
+            }),
+            n
+          );
+        }
+        var n, o, i;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && im(e, t);
+          })(t, e),
+          (n = t),
+          (o = [
+            {
+              key: "componentDidMount",
+              value: function () {
+                this.renderJson();
+              },
+            },
+            {
+              key: "componentDidUpdate",
+              value: function () {
+                this.renderJson();
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this.props.className;
+                return a.a.createElement("div", {
+                  className: e,
+                  ref: this.wrapperRef,
+                });
+              },
+            },
+          ]) && rm(n.prototype, o),
+          i && rm(n, i),
+          t
+        );
+      })(r.PureComponent);
+      function sm() {
+        var e = mm(["\n        margin-bottom: 10px;\n      "]);
+        return (
+          (sm = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function cm(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function um() {
+        var e = mm([
+          "\n    border: 2px dashed ",
+          ";\n    border-top: none;\n    border-radius: 0 0 4px 4px;\n    padding: 8px;\n  ",
+        ]);
+        return (
+          (um = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function fm() {
+        var e = mm([
+          "\n    background: transparent;\n    border: none;\n    box-shadow: none;\n    cursor: pointer;\n    color: ",
+          ";\n    margin-left: ",
+          ";\n    &:hover {\n      color: ",
+          ";\n    }\n  ",
+        ]);
+        return (
+          (fm = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function dm() {
+        var e = mm(["\n    display: flex;\n  "]);
+        return (
+          (dm = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function pm() {
+        var e = mm(["\n    font-weight: ", ";\n    color: ", ";\n  "]);
+        return (
+          (pm = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function hm() {
+        var e = mm([
+          "\n    display: flex;\n    padding: 4px 8px 4px 8px;\n    position: relative;\n    height: 35px;\n    background: ",
+          ";\n    border-radius: 4px 4px 0 0;\n    flex-wrap: nowrap;\n    justify-content: space-between;\n    align-items: center;\n  ",
+        ]);
+        return (
+          (hm = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function mm(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      lm.defaultProps = { open: 3, config: { animateOpen: !0 } };
+      var gm = function (e) {
+        var t = e.onRemove,
+          n = e.editor,
+          i = e.name,
+          l = e.input,
+          s = Object(r.useContext)(Bt.a),
+          c = cm(Object(r.useState)(!1), 2),
+          u = c[0],
+          f = c[1],
+          d = (function (e) {
+            return {
+              title: Object(o.css)(hm(), e.colors.textFaint),
+              name: Object(o.css)(
+                pm(),
+                e.typography.weight.semibold,
+                e.colors.blue
+              ),
+              iconRow: Object(o.css)(dm()),
+              icon: Object(o.css)(
+                fm(),
+                e.colors.textWeak,
+                e.spacing.sm,
+                e.colors.text
+              ),
+              editor: Object(o.css)(um(), e.colors.textFaint),
+            };
+          })(s);
+        return a.a.createElement(
+          "div",
+          { className: Object(o.css)(sm()) },
+          a.a.createElement(
+            "div",
+            { className: d.title },
+            a.a.createElement("div", { className: d.name }, i),
+            a.a.createElement(
+              "div",
+              { className: d.iconRow },
+              a.a.createElement(
+                "div",
+                {
+                  onClick: function () {
+                    return f(!u);
+                  },
+                  className: d.icon,
+                },
+                a.a.createElement("i", { className: "fa fa-fw fa-bug" })
+              ),
+              a.a.createElement(
+                "div",
+                { onClick: t, className: d.icon },
+                a.a.createElement("i", { className: "fa fa-fw fa-trash" })
+              )
+            )
+          ),
+          a.a.createElement(
+            "div",
+            { className: d.editor },
+            n,
+            u &&
+              a.a.createElement("div", null, a.a.createElement(lm, { json: l }))
+          )
+        );
+      };
+      function bm(e) {
+        return (bm =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function vm(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function ym(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? vm(Object(n), !0).forEach(function (t) {
+                wm(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : vm(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function wm(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Om() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })(["\n                  margin-bottom: 10px;\n                "]);
+        return (
+          (Om = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function xm(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function km(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function jm(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Sm(e, t) {
+        return !t || ("object" !== bm(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Em(e) {
+        return (Em = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Cm(e, t) {
+        return (Cm =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Pm = (function (e) {
+        function t() {
+          var e, n;
+          km(this, t);
+          for (var r = arguments.length, i = new Array(r), l = 0; l < r; l++)
+            i[l] = arguments[l];
+          return (
+            ((n = Sm(
+              this,
+              (e = Em(t)).call.apply(e, [this].concat(i))
+            )).state = { updateCounter: 0 }),
+            (n.onTransformationAdd = function () {
+              var e = n.props,
+                t = e.transformations;
+              (0, e.onChange)(
+                [].concat(xm(t), [
+                  { id: Pe.DataTransformerID.noop, options: {} },
+                ])
+              ),
+                n.setState({ updateCounter: n.state.updateCounter + 1 });
+            }),
+            (n.onTransformationChange = function (e, t) {
+              var r = n.props,
+                a = r.transformations,
+                o = r.onChange;
+              (a[e] = t),
+                o(a),
+                n.setState({ updateCounter: n.state.updateCounter + 1 });
+            }),
+            (n.onTransformationRemove = function (e) {
+              var t = n.props,
+                r = t.transformations,
+                a = t.onChange;
+              r.splice(e, 1),
+                a(r),
+                n.setState({ updateCounter: n.state.updateCounter + 1 });
+            }),
+            (n.renderTransformationEditors = function () {
+              var e = n.props,
+                t = e.transformations,
+                r = e.dataFrames,
+                i = t.length > 0,
+                l = r;
+              if (i) {
+                var s = Vh.list().map(function (e) {
+                  return { value: e.transformer.id, label: e.transformer.name };
+                });
+                return a.a.createElement(
+                  a.a.Fragment,
+                  null,
+                  t.map(function (e, r) {
+                    var i, c;
+                    if (e.id === Pe.DataTransformerID.noop)
+                      return a.a.createElement(z.b, {
+                        className: Object(o.css)(Om()),
+                        key: "".concat(e.id, "-").concat(r),
+                        options: s,
+                        placeholder: "Select transformation",
+                        onChange: function (e) {
+                          n.onTransformationChange(r, {
+                            id: e.value,
+                            options: {},
+                          });
+                        },
+                      });
+                    var u = Vh.getIfExists(e.id);
+                    return (
+                      (c = Object(Pe.transformDataFrame)(t.slice(0, r), l)),
+                      u &&
+                        (i = a.a.createElement(u.component, {
+                          options: ym(
+                            {},
+                            u.transformer.defaultOptions,
+                            {},
+                            e.options
+                          ),
+                          input: c,
+                          onChange: function (t) {
+                            n.onTransformationChange(r, {
+                              id: e.id,
+                              options: t,
+                            });
+                          },
+                        })),
+                      a.a.createElement(gm, {
+                        key: "".concat(e.id, "-").concat(r),
+                        input: c || [],
+                        onRemove: function () {
+                          return n.onTransformationRemove(r);
+                        },
+                        editor: i,
+                        name: u ? u.name : "",
+                        description: u ? u.description : "",
+                      })
+                    );
+                  })
+                );
+              }
+            }),
+            n
+          );
+        }
+        var n, r, i;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && Cm(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                return a.a.createElement(
+                  a.a.Fragment,
+                  null,
+                  this.renderTransformationEditors(),
+                  a.a.createElement(
+                    l.a,
+                    {
+                      variant: "inverse",
+                      icon: "fa fa-plus",
+                      onClick: this.onTransformationAdd,
+                    },
+                    "Add transformation"
+                  )
+                );
+              },
+            },
+          ]) && jm(n.prototype, r),
+          i && jm(n, i),
+          t
+        );
+      })(a.a.PureComponent);
+      function Tm() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })(["\n    width: 500px;\n    margin: 64px auto;\n  "]);
+        return (
+          (Tm = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      var Dm = Object(i.g)(function () {
+          return Object(o.css)(Tm());
+        }),
+        Am = function (e) {
+          var t = e.error,
+            n = e.errorInfo,
+            r = e.title;
+          return a.a.createElement(
+            "div",
+            { className: Dm() },
+            a.a.createElement("h2", null, r),
+            a.a.createElement(
+              "details",
+              { style: { whiteSpace: "pre-wrap" } },
+              t && t.toString(),
+              a.a.createElement("br", null),
+              n && n.componentStack
+            )
+          );
+        };
+      function _m(e) {
+        return (_m =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Nm(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Mm(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Im(e, t, n) {
+        return t && Mm(e.prototype, t), n && Mm(e, n), e;
+      }
+      function Rm(e, t) {
+        return !t || ("object" !== _m(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Fm(e) {
+        return (Fm = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Lm(e, t) {
+        if ("function" != typeof t && null !== t)
+          throw new TypeError(
+            "Super expression must either be null or a function"
+          );
+        (e.prototype = Object.create(t && t.prototype, {
+          constructor: { value: e, writable: !0, configurable: !0 },
+        })),
+          t && Vm(e, t);
+      }
+      function Vm(e, t) {
+        return (Vm =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      Am.displayName = "ErrorWithStack";
+      var Bm = (function (e) {
+          function t() {
+            var e, n;
+            Nm(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = Rm(
+                this,
+                (e = Fm(t)).call.apply(e, [this].concat(a))
+              )).state = { error: null, errorInfo: null }),
+              n
+            );
+          }
+          return (
+            Lm(t, e),
+            Im(t, [
+              {
+                key: "componentDidCatch",
+                value: function (e, t) {
+                  this.setState({ error: e, errorInfo: t });
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props.children,
+                    t = this.state;
+                  return e({ error: t.error, errorInfo: t.errorInfo });
+                },
+              },
+            ]),
+            t
+          );
+        })(r.PureComponent),
+        $m = (function (e) {
+          function t() {
+            return Nm(this, t), Rm(this, Fm(t).apply(this, arguments));
+          }
+          return (
+            Lm(t, e),
+            Im(t, [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.title,
+                    n = e.children,
+                    r = e.style;
+                  return a.a.createElement(Bm, null, function (e) {
+                    var o = e.error,
+                      i = e.errorInfo;
+                    return i
+                      ? "alertbox" === r
+                        ? a.a.createElement(
+                            Gs,
+                            { title: t || "" },
+                            a.a.createElement(
+                              "details",
+                              { style: { whiteSpace: "pre-wrap" } },
+                              o && o.toString(),
+                              a.a.createElement("br", null),
+                              i.componentStack
+                            )
+                          )
+                        : a.a.createElement(Am, {
+                            title: t || "",
+                            error: o,
+                            errorInfo: i,
+                          })
+                      : n;
+                  });
+                },
+              },
+            ]),
+            t
+          );
+        })(r.PureComponent);
+      function qm() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })([
+          "\n      background: linear-gradient(to bottom, ",
+          ", ",
+          ");\n      color: ",
+          ";\n      white-space: nowrap;\n      border-radius: 3px;\n      text-shadow: none;\n      font-size: 13px;\n      padding: 4px 8px;\n      cursor: help;\n      display: inline-block;\n    ",
+        ]);
+        return (
+          (qm = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      $m.defaultProps = {
+        title: "An unexpected error happened",
+        style: "alertbox",
+      };
+      var Um = function (e) {
+        var t = e.state,
+          n = e.text,
+          i = e.className,
+          l =
+            n ||
+            "This feature is a work in progress and updates may include breaking changes",
+          s = Object(r.useContext)(hr.ThemeContext),
+          c = Object(o.cx)(
+            i,
+            Object(o.css)(
+              qm(),
+              s.colors.blueBase,
+              s.colors.blueShade,
+              s.colors.gray7
+            )
+          );
+        return a.a.createElement(
+          "div",
+          { className: c, title: l },
+          a.a.createElement("i", { className: "fa fa-warning" }),
+          " ",
+          t
+        );
+      };
+      function zm(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Hm(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? zm(Object(n), !0).forEach(function (t) {
+                Gm(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : zm(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Gm(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var Wm = function (e) {
+        var t = e.dataSourceConfig,
+          n = e.onChange,
+          r = t.secureJsonData ? t.secureJsonData.basicAuthPassword : "";
+        return a.a.createElement(
+          a.a.Fragment,
+          null,
+          a.a.createElement(
+            "div",
+            { className: "gf-form" },
+            a.a.createElement(be, {
+              label: "User",
+              labelWidth: 10,
+              inputWidth: 18,
+              placeholder: "user",
+              value: t.basicAuthUser,
+              onChange: function (e) {
+                return n(Hm({}, t, { basicAuthUser: e.currentTarget.value }));
+              },
+            })
+          ),
+          a.a.createElement(
+            "div",
+            { className: "gf-form" },
+            a.a.createElement(Se, {
+              isConfigured:
+                !!t.basicAuthPassword ||
+                !(!t.secureJsonFields || !t.secureJsonFields.basicAuthPassword),
+              value: r || "",
+              inputWidth: 18,
+              labelWidth: 10,
+              onReset: function () {
+                n(
+                  Hm({}, t, {
+                    basicAuthPassword: "",
+                    secureJsonData: Hm({}, t.secureJsonData, {
+                      basicAuthPassword: "",
+                    }),
+                    secureJsonFields: Hm({}, t.secureJsonFields, {
+                      basicAuthPassword: !1,
+                    }),
+                  })
+                );
+              },
+              onChange: function (e) {
+                n(
+                  Hm({}, t, {
+                    secureJsonData: Hm({}, t.secureJsonData, {
+                      basicAuthPassword: e.currentTarget.value,
+                    }),
+                  })
+                );
+              },
+            })
+          )
+        );
+      };
+      function Qm(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Ym(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? Qm(Object(n), !0).forEach(function (t) {
+                Km(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : Qm(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Km(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var Jm = function (e) {
+          var t = e.dataSourceConfig,
+            n = e.onChange;
+          return a.a.createElement(
+            a.a.Fragment,
+            null,
+            a.a.createElement(
+              "div",
+              { className: "gf-form-inline" },
+              a.a.createElement(Vt, {
+                label: "TLS Client Auth",
+                labelClass: "width-13",
+                checked: t.jsonData.tlsAuth || !1,
+                onChange: function (e) {
+                  return n(
+                    Ym({}, t.jsonData, { tlsAuth: e.currentTarget.checked })
+                  );
+                },
+              }),
+              a.a.createElement(Vt, {
+                label: "With CA Cert",
+                labelClass: "width-13",
+                checked: t.jsonData.tlsAuthWithCACert || !1,
+                onChange: function (e) {
+                  return n(
+                    Ym({}, t.jsonData, {
+                      tlsAuthWithCACert: e.currentTarget.checked,
+                    })
+                  );
+                },
+                tooltip: "Needed for verifying self-signed TLS Certs",
+              })
+            ),
+            a.a.createElement(
+              "div",
+              { className: "gf-form-inline" },
+              a.a.createElement(Vt, {
+                label: "Skip TLS Verify",
+                labelClass: "width-13",
+                checked: t.jsonData.tlsSkipVerify || !1,
+                onChange: function (e) {
+                  return n(
+                    Ym({}, t.jsonData, {
+                      tlsSkipVerify: e.currentTarget.checked,
+                    })
+                  );
+                },
+              })
+            ),
+            a.a.createElement(
+              "div",
+              { className: "gf-form-inline" },
+              a.a.createElement(Vt, {
+                label: "Forward OAuth Identity",
+                labelClass: "width-13",
+                checked: t.jsonData.oauthPassThru || !1,
+                onChange: function (e) {
+                  return n(
+                    Ym({}, t.jsonData, {
+                      oauthPassThru: e.currentTarget.checked,
+                    })
+                  );
+                },
+                tooltip:
+                  "Forward the user's upstream OAuth identity to the data source (Their access token gets passed along).",
+              })
+            )
+          );
+        },
+        Zm = function (e) {
+          var t = e.hasCert,
+            n = e.label,
+            r = e.onChange,
+            o = e.onClick,
+            i = e.placeholder;
+          return a.a.createElement(
+            "div",
+            { className: "gf-form-inline" },
+            a.a.createElement(
+              "div",
+              { className: "gf-form gf-form--v-stretch" },
+              a.a.createElement(
+                "label",
+                { className: "gf-form-label width-7" },
+                n
+              )
+            ),
+            !t &&
+              a.a.createElement(
+                "div",
+                { className: "gf-form gf-form--grow" },
+                a.a.createElement("textarea", {
+                  rows: 7,
+                  className: "gf-form-input gf-form-textarea",
+                  onChange: r,
+                  placeholder: i,
+                  required: !0,
+                })
+              ),
+            t &&
+              a.a.createElement(
+                "div",
+                { className: "gf-form" },
+                a.a.createElement("input", {
+                  type: "text",
+                  className: "gf-form-input max-width-12",
+                  disabled: !0,
+                  value: "configured",
+                }),
+                a.a.createElement(
+                  "a",
+                  { className: "btn btn-secondary gf-form-btn", onClick: o },
+                  "reset"
+                )
+              )
+          );
+        };
+      function Xm() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })(["\n            align-items: baseline;\n          "]);
+        return (
+          (Xm = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function eg(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function tg(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? eg(Object(n), !0).forEach(function (t) {
+                ng(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : eg(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function ng(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var rg = function (e) {
+        var t = e.dataSourceConfig,
+          n = e.onChange,
+          r = t.secureJsonFields && t.secureJsonFields.tlsCACert,
+          i = t.secureJsonFields && t.secureJsonFields.tlsClientCert,
+          l = t.secureJsonFields && t.secureJsonFields.tlsClientKey,
+          s = function (e) {
+            return function (r) {
+              r.preventDefault();
+              var a = tg({}, t.secureJsonFields);
+              (a[e] = !1), n(tg({}, t, { secureJsonFields: a }));
+            };
+          },
+          c = function (e) {
+            return function (r) {
+              var a = tg({}, t.secureJsonData);
+              (a[e] = r.currentTarget.value),
+                n(tg({}, t, { secureJsonData: a }));
+            };
+          };
+        return a.a.createElement(
+          "div",
+          { className: "gf-form-group" },
+          a.a.createElement(
+            "div",
+            { className: Object(o.cx)("gf-form", Object(o.css)(Xm())) },
+            a.a.createElement("h6", null, "TLS Auth Details"),
+            a.a.createElement(
+              P.b,
+              {
+                placement: "right-end",
+                content:
+                  "TLS Certs are encrypted and stored in the Grafana database.",
+                theme: "info",
+              },
+              a.a.createElement(
+                "div",
+                {
+                  className:
+                    "gf-form-help-icon gf-form-help-icon--right-normal",
+                },
+                a.a.createElement("i", { className: "fa fa-info-circle" })
+              )
+            )
+          ),
+          a.a.createElement(
+            "div",
+            null,
+            t.jsonData.tlsAuthWithCACert &&
+              a.a.createElement(Zm, {
+                hasCert: !!r,
+                onChange: c("tlsCACert"),
+                placeholder: "Begins with -----BEGIN CERTIFICATE-----",
+                label: "CA Cert",
+                onClick: s("tlsCACert"),
+              }),
+            t.jsonData.tlsAuth &&
+              a.a.createElement(
+                a.a.Fragment,
+                null,
+                a.a.createElement(Zm, {
+                  hasCert: !!i,
+                  label: "Client Cert",
+                  onChange: c("tlsClientCert"),
+                  placeholder: "Begins with -----BEGIN CERTIFICATE-----",
+                  onClick: s("tlsClientCert"),
+                }),
+                a.a.createElement(Zm, {
+                  hasCert: !!l,
+                  label: "Client Key",
+                  placeholder: "Begins with -----BEGIN RSA PRIVATE KEY-----",
+                  onChange: c("tlsClientKey"),
+                  onClick: s("tlsClientKey"),
+                })
+              )
+          )
+        );
+      };
+      function ag(e) {
+        return (ag =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function og(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function ig(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function lg(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function sg(e, t) {
+        return !t || ("object" !== ag(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function cg(e) {
+        return (cg = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function ug(e, t) {
+        return (ug =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      function fg(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function dg(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? fg(Object(n), !0).forEach(function (t) {
+                pg(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : fg(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function pg(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function hg() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })([
+          "\n      display: flex;\n      align-items: center;\n      margin-bottom: 4px;\n      > * {\n        margin-left: 4px;\n        margin-bottom: 0;\n        height: 100%;\n        &:first-child,\n        &:last-child {\n          margin-left: 0;\n        }\n      }\n    ",
+        ]);
+        return (
+          (hg = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      var mg = Object(i.g)(function () {
+          return { layout: Object(o.css)(hg()) };
+        }),
+        gg = function (e) {
+          var t = e.header,
+            n = e.onBlur,
+            r = e.onChange,
+            o = e.onRemove,
+            i = e.onReset,
+            s = mg();
+          return a.a.createElement(
+            "div",
+            { className: s.layout },
+            a.a.createElement(be, {
+              label: "Header",
+              name: "name",
+              placeholder: "X-Custom-Header",
+              labelWidth: 5,
+              value: t.name || "",
+              onChange: function (e) {
+                return r(dg({}, t, { name: e.target.value }));
+              },
+              onBlur: n,
+            }),
+            a.a.createElement(Se, {
+              label: "Value",
+              name: "value",
+              isConfigured: t.configured,
+              value: t.value,
+              labelWidth: 5,
+              inputWidth: t.configured ? 11 : 12,
+              placeholder: "Header Value",
+              onReset: function () {
+                return i(t.id);
+              },
+              onChange: function (e) {
+                return r(dg({}, t, { value: e.target.value }));
+              },
+              onBlur: n,
+            }),
+            a.a.createElement(
+              l.a,
+              {
+                variant: "transparent",
+                size: "xs",
+                onClick: function (e) {
+                  return o(t.id);
+                },
+              },
+              a.a.createElement("i", { className: "fa fa-trash" })
+            )
+          );
+        };
+      gg.displayName = "CustomHeaderRow";
+      var bg = (function (e) {
+        function t(e) {
+          var n;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, t),
+            ((n = sg(this, cg(t).call(this, e))).state = { headers: [] }),
+            (n.updateSettings = function () {
+              var e = n.state.headers,
+                t = n.props.dataSourceConfig.jsonData,
+                r = n.props.dataSourceConfig.secureJsonData || {},
+                a = !0,
+                o = !1,
+                i = void 0;
+              try {
+                for (
+                  var l, s = e.entries()[Symbol.iterator]();
+                  !(a = (l = s.next()).done);
+                  a = !0
+                ) {
+                  var c = ig(l.value, 2),
+                    u = c[0],
+                    f = c[1];
+                  (t["httpHeaderName".concat(u + 1)] = f.name),
+                    f.configured ||
+                      (r["httpHeaderValue".concat(u + 1)] = f.value),
+                    Object.keys(t)
+                      .filter(function (t) {
+                        return (
+                          t.startsWith("httpHeaderName") &&
+                          parseInt(t.substring("httpHeaderName".length), 10) >
+                            e.length
+                        );
+                      })
+                      .forEach(function (e) {
+                        delete t[e];
+                      });
+                }
+              } catch (e) {
+                (o = !0), (i = e);
+              } finally {
+                try {
+                  a || null == s.return || s.return();
+                } finally {
+                  if (o) throw i;
+                }
+              }
+              n.props.onChange(
+                dg({}, n.props.dataSourceConfig, {
+                  jsonData: t,
+                  secureJsonData: r,
+                })
+              );
+            }),
+            (n.onHeaderAdd = function () {
+              n.setState(function (e) {
+                return {
+                  headers: [].concat(og(e.headers), [
+                    { id: _t()(), name: "", value: "", configured: !1 },
+                  ]),
+                };
+              }, n.updateSettings);
+            }),
+            (n.onHeaderChange = function (e, t) {
+              n.setState(function (n) {
+                return {
+                  headers: n.headers.map(function (n, r) {
+                    return e !== r ? n : dg({}, t);
+                  }),
+                };
+              });
+            }),
+            (n.onHeaderReset = function (e) {
+              n.setState(function (t) {
+                return {
+                  headers: t.headers.map(function (t, n) {
+                    return t.id !== e
+                      ? t
+                      : dg({}, t, { value: "", configured: !1 });
+                  }),
+                };
+              });
+            }),
+            (n.onHeaderRemove = function (e) {
+              n.setState(function (t) {
+                return {
+                  headers: t.headers.filter(function (t) {
+                    return t.id !== e;
+                  }),
+                };
+              }, n.updateSettings);
+            });
+          var r = n.props.dataSourceConfig,
+            a = r.jsonData,
+            o = r.secureJsonData,
+            i = r.secureJsonFields;
+          return (
+            (n.state = {
+              headers: Object.keys(a)
+                .sort()
+                .filter(function (e) {
+                  return e.startsWith("httpHeaderName");
+                })
+                .map(function (e, t) {
+                  return {
+                    id: _t()(),
+                    name: a[e],
+                    value: void 0 !== o ? o[e] : "",
+                    configured: (i && i["httpHeaderValue".concat(t + 1)]) || !1,
+                  };
+                }),
+            }),
+            n
+          );
+        }
+        var n, r, o;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && ug(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e = this,
+                  t = this.state.headers;
+                return a.a.createElement(
+                  "div",
+                  { className: "gf-form-group" },
+                  a.a.createElement(
+                    "div",
+                    { className: "gf-form" },
+                    a.a.createElement("h6", null, "Custom HTTP Headers")
+                  ),
+                  a.a.createElement(
+                    "div",
+                    null,
+                    t.map(function (t, n) {
+                      return a.a.createElement(gg, {
+                        key: t.id,
+                        header: t,
+                        onChange: function (t) {
+                          e.onHeaderChange(n, t);
+                        },
+                        onBlur: e.updateSettings,
+                        onRemove: e.onHeaderRemove,
+                        onReset: e.onHeaderReset,
+                      });
+                    })
+                  ),
+                  a.a.createElement(
+                    "div",
+                    { className: "gf-form" },
+                    a.a.createElement(
+                      l.a,
+                      {
+                        variant: "inverse",
+                        size: "xs",
+                        onClick: function (t) {
+                          e.onHeaderAdd();
+                        },
+                      },
+                      "Add Header"
+                    )
+                  )
+                );
+              },
+            },
+          ]) && lg(n.prototype, r),
+          o && lg(n, o),
+          t
+        );
+      })(r.PureComponent);
+      function vg() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })(["\n    box-shadow: inset 0 0px 5px ", ";\n  "]);
+        return (
+          (vg = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function yg(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function wg(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? yg(Object(n), !0).forEach(function (t) {
+                Og(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : yg(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Og(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function xg(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      var kg = [
+          { label: "Server (default)", value: "proxy" },
+          { label: "Browser", value: "direct" },
+        ],
+        jg = { label: "Server (default)", value: "proxy" },
+        Sg = function () {
+          return a.a.createElement(
+            "div",
+            { className: "grafana-info-box m-t-2" },
+            a.a.createElement(
+              "p",
+              null,
+              "Access mode controls how requests to the data source will be handled.",
+              a.a.createElement(
+                "strong",
+                null,
+                a.a.createElement("i", null, "Server")
+              ),
+              " ",
+              "should be the preferred way if nothing else stated."
+            ),
+            a.a.createElement(
+              "div",
+              { className: "alert-title" },
+              "Server access mode (Default):"
+            ),
+            a.a.createElement(
+              "p",
+              null,
+              "All requests will be made from the browser to Grafana backend/server which in turn will forward the requests to the data source and by that circumvent possible Cross-Origin Resource Sharing (CORS) requirements. The URL needs to be accessible from the grafana backend/server if you select this access mode."
+            ),
+            a.a.createElement(
+              "div",
+              { className: "alert-title" },
+              "Browser access mode:"
+            ),
+            a.a.createElement(
+              "p",
+              null,
+              "All requests will be made from the browser directly to the data source and may be subject to Cross-Origin Resource Sharing (CORS) requirements. The URL needs to be accessible from the browser if you select this access mode."
+            )
+          );
+        },
+        Eg = function (e) {
+          var t,
+            n,
+            l = e.defaultUrl,
+            s = e.dataSourceConfig,
+            c = e.onChange,
+            u = e.showAccessOptions,
+            f = xg(Object(r.useState)(!1), 2),
+            d = f[0],
+            p = f[1],
+            h = Object(i.h)(),
+            m = Object(r.useCallback)(
+              function (e) {
+                c(wg({}, s, {}, e));
+              },
+              [s]
+            );
+          switch (s.access) {
+            case "direct":
+              n = a.a.createElement(
+                a.a.Fragment,
+                null,
+                "Your access method is ",
+                a.a.createElement("em", null, "Browser"),
+                ", this means the URL needs to be accessible from the browser."
+              );
+              break;
+            case "proxy":
+              n = a.a.createElement(
+                a.a.Fragment,
+                null,
+                "Your access method is ",
+                a.a.createElement("em", null, "Server"),
+                ", this means the URL needs to be accessible from the grafana backend/server."
+              );
+              break;
+            default:
+              n =
+                "Specify a complete HTTP URL (for example http://your_server:8080)";
+          }
+          var g = a.a.createElement(z.b, {
+              width: 20,
+              options: kg,
+              value:
+                kg.filter(function (e) {
+                  return e.value === s.access;
+                })[0] || jg,
+              onChange: function (e) {
+                return m({ access: e.value });
+              },
+            }),
+            b = /^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/.test(
+              s.url
+            ),
+            v = Object(o.css)(vg(), h.colors.red),
+            y = Object(o.cx)((Og((t = {}), "width-20", !0), Og(t, v, !b), t)),
+            w = a.a.createElement(lt, {
+              className: y,
+              placeholder: l,
+              value: s.url,
+              onChange: function (e) {
+                return m({ url: e.currentTarget.value });
+              },
+            });
+          return a.a.createElement(
+            "div",
+            { className: "gf-form-group" },
+            a.a.createElement(
+              a.a.Fragment,
+              null,
+              a.a.createElement("h3", { className: "page-heading" }, "HTTP"),
+              a.a.createElement(
+                "div",
+                { className: "gf-form-group" },
+                a.a.createElement(
+                  "div",
+                  { className: "gf-form" },
+                  a.a.createElement(be, {
+                    label: "URL",
+                    labelWidth: 11,
+                    tooltip: n,
+                    inputEl: w,
+                  })
+                ),
+                u &&
+                  a.a.createElement(
+                    a.a.Fragment,
+                    null,
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form-inline" },
+                      a.a.createElement(
+                        "div",
+                        { className: "gf-form" },
+                        a.a.createElement(be, {
+                          label: "Access",
+                          labelWidth: 11,
+                          inputWidth: 20,
+                          inputEl: g,
+                        })
+                      ),
+                      a.a.createElement(
+                        "div",
+                        { className: "gf-form" },
+                        a.a.createElement(
+                          "label",
+                          {
+                            className: "gf-form-label query-keyword pointer",
+                            onClick: function () {
+                              return p(function (e) {
+                                return !e;
+                              });
+                            },
+                          },
+                          "Help ",
+                          a.a.createElement("i", {
+                            className: "fa fa-caret-".concat(
+                              d ? "down" : "right"
+                            ),
+                          })
+                        )
+                      )
+                    ),
+                    d && a.a.createElement(Sg, null)
+                  ),
+                "proxy" === s.access &&
+                  a.a.createElement(
+                    "div",
+                    { className: "gf-form" },
+                    a.a.createElement(
+                      he,
+                      {
+                        width: 11,
+                        tooltip:
+                          "Grafana Proxy deletes forwarded cookies by default. Specify cookies by name that should be forwarded to the data source.",
+                      },
+                      "Whitelisted Cookies"
+                    ),
+                    a.a.createElement(zr, {
+                      tags: s.jsonData.keepCookies,
+                      onChange: function (e) {
+                        return m({
+                          jsonData: wg({}, s.jsonData, { keepCookies: e }),
+                        });
+                      },
+                      width: 20,
+                    })
+                  )
+              )
+            ),
+            a.a.createElement(
+              a.a.Fragment,
+              null,
+              a.a.createElement("h3", { className: "page-heading" }, "Auth"),
+              a.a.createElement(
+                "div",
+                { className: "gf-form-group" },
+                a.a.createElement(
+                  "div",
+                  { className: "gf-form-inline" },
+                  a.a.createElement(Vt, {
+                    label: "Basic auth",
+                    labelClass: "width-13",
+                    checked: s.basicAuth,
+                    onChange: function (e) {
+                      m({ basicAuth: e.currentTarget.checked });
+                    },
+                  }),
+                  a.a.createElement(Vt, {
+                    label: "With Credentials",
+                    labelClass: "width-13",
+                    checked: s.withCredentials,
+                    onChange: function (e) {
+                      m({ withCredentials: e.currentTarget.checked });
+                    },
+                    tooltip:
+                      "Whether credentials such as cookies or auth headers should be sent with cross-site requests.",
+                  })
+                ),
+                "proxy" === s.access &&
+                  a.a.createElement(Jm, {
+                    dataSourceConfig: s,
+                    onChange: function (e) {
+                      return m({ jsonData: e });
+                    },
+                  })
+              ),
+              s.basicAuth &&
+                a.a.createElement(
+                  a.a.Fragment,
+                  null,
+                  a.a.createElement("h6", null, "Basic Auth Details"),
+                  a.a.createElement(
+                    "div",
+                    { className: "gf-form-group" },
+                    a.a.createElement(Wm, e)
+                  )
+                ),
+              (s.jsonData.tlsAuth || s.jsonData.tlsAuthWithCACert) &&
+                a.a.createElement(rg, { dataSourceConfig: s, onChange: c }),
+              a.a.createElement(bg, { dataSourceConfig: s, onChange: c })
+            )
+          );
+        },
+        Cg = n("AWKi"),
+        Pg = n("VtFO"),
+        Tg = n("Al41");
+      function Dg(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function Ag(e) {
+        var t = e.options,
+          n = e.value,
+          r = e.onChange,
+          i = e.Component,
+          l = e.className,
+          s = e.allowCustomValue,
+          c = e.placeholder,
+          u = Dg(qg(!1), 4),
+          f = u[0],
+          d = u[1],
+          p = u[2],
+          h = u[3];
+        if (!p) {
+          var m = ga.a.isObject(n) ? n.label : n;
+          return a.a.createElement(f, {
+            Component:
+              i ||
+              a.a.createElement(
+                "a",
+                {
+                  className: Object(o.cx)(
+                    "gf-form-label",
+                    "query-part",
+                    !n && c && "query-placeholder",
+                    l
+                  ),
+                },
+                m || c
+              ),
+          });
+        }
+        return a.a.createElement(Ng, {
+          value: n && !ga.a.isObject(n) ? { value: n } : n,
+          options: t,
+          width: d,
+          onClickOutside: function () {
+            return h(!1);
+          },
+          allowCustomValue: s,
+          onChange: function (e) {
+            h(!1), r(e);
+          },
+        });
+      }
+      function _g() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })(["\n            width: ", "px;\n          "]);
+        return (
+          (_g = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Ng(e) {
+        var t = e.value,
+          n = e.options,
+          i = void 0 === n ? [] : n,
+          l = e.onChange,
+          s = e.onClickOutside,
+          c = e.width,
+          u = e.noOptionsMessage,
+          f = void 0 === u ? "" : u,
+          d = e.allowCustomValue,
+          p = void 0 !== d && d,
+          h = Object(r.useRef)(null);
+        return (
+          bl()(h, function () {
+            if (h && h.current) {
+              var e = h.current.querySelector('input[id^="react-select-"]');
+              e && e.value ? l({ value: e.value, label: e.value }) : s();
+            }
+          }),
+          a.a.createElement(
+            "div",
+            { ref: h },
+            a.a.createElement(z.b, {
+              className: Object(o.cx)(Object(o.css)(_g(), c > 120 ? c : 120)),
+              noOptionsMessage: function () {
+                return f;
+              },
+              placeholder: "",
+              autoFocus: !0,
+              isOpen: !0,
+              onChange: l,
+              options: i,
+              value: t,
+              allowCustomValue: p,
+            })
+          )
+        );
+      }
+      function Mg(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function Ig(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              Mg(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              Mg(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function Rg(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function Fg(e) {
+        var t = e.value,
+          n = e.onChange,
+          i = e.loadOptions,
+          l = e.Component,
+          s = e.className,
+          c = e.allowCustomValue,
+          u = e.placeholder,
+          f = Rg(Object(r.useState)(""), 2),
+          d = f[0],
+          p = f[1],
+          h = Rg(Object(r.useState)([]), 2),
+          m = h[0],
+          g = h[1],
+          b = Rg(qg(!1), 4),
+          v = b[0],
+          y = b[1],
+          w = b[2],
+          O = b[3];
+        if (!w) {
+          var x = ga.a.isObject(t) ? t.label : t;
+          return a.a.createElement(v, {
+            onClick: Ig(
+              regeneratorRuntime.mark(function e() {
+                var t;
+                return regeneratorRuntime.wrap(function (e) {
+                  for (;;)
+                    switch ((e.prev = e.next)) {
+                      case 0:
+                        return p("Loading options..."), (e.next = 3), i();
+                      case 3:
+                        (t = e.sent),
+                          g(t),
+                          p(t.length ? "" : "No options found");
+                      case 6:
+                      case "end":
+                        return e.stop();
+                    }
+                }, e);
+              })
+            ),
+            Component:
+              l ||
+              a.a.createElement(
+                "a",
+                {
+                  className: Object(o.cx)(
+                    "gf-form-label",
+                    "query-part",
+                    !t && u && "query-placeholder",
+                    s
+                  ),
+                },
+                x || u
+              ),
+          });
+        }
+        return a.a.createElement(Ng, {
+          value: t && !ga.a.isObject(t) ? { value: t } : t,
+          options: m,
+          width: y,
+          noOptionsMessage: d,
+          allowCustomValue: c,
+          onClickOutside: function () {
+            p(""), g([]), O(!1);
+          },
+          onChange: function (e) {
+            p(""), g([]), O(!1), n(e);
+          },
+        });
+      }
+      function Lg() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })(["\n    width: ", "px;\n  "]);
+        return (
+          (Lg = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Vg(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function Bg(e) {
+        var t = e.value,
+          n = e.onChange,
+          i = e.Component,
+          l = e.className,
+          s = e.placeholder,
+          c = e.autofocus,
+          u = void 0 !== c && c,
+          f = Object(r.useRef)(null),
+          d = Vg(Object(r.useState)(t), 2),
+          p = d[0],
+          h = d[1],
+          m = Vg(
+            Object(r.useState)(Object(ho.b)((t || "").toString(), 14).width),
+            2
+          ),
+          g = m[0],
+          b = m[1],
+          v = Vg(qg(u), 4),
+          y = v[0],
+          w = v[2],
+          O = v[3];
+        if (
+          (bl()(f, function () {
+            O(!1), n(p);
+          }),
+          !w)
+        )
+          return a.a.createElement(y, {
+            Component:
+              i ||
+              a.a.createElement(
+                "a",
+                {
+                  className: Object(o.cx)(
+                    "gf-form-label",
+                    "query-part",
+                    !p && s && "query-placeholder",
+                    l
+                  ),
+                },
+                t || s
+              ),
+          });
+        var x = Object(o.css)(Lg(), Math.max(g + 20, 32));
+        return a.a.createElement("input", {
+          ref: f,
+          autoFocus: !0,
+          className: Object(o.cx)("gf-form gf-form-input", x),
+          value: p,
+          onChange: function (e) {
+            var t = Object(ho.b)(e.target.value, 14).width;
+            b(t), h(e.target.value);
+          },
+          onBlur: function () {
+            O(!1), n(p);
+          },
+          onKeyDown: function (e) {
+            [13, 27].includes(e.keyCode) && (O(!1), n(p));
+          },
+        });
+      }
+      n("THR+");
+      function $g(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      var qg = function (e) {
+          var t = Object(r.useRef)(null),
+            n = $g(Object(r.useState)(e), 2),
+            o = n[0],
+            i = n[1],
+            l = $g(Object(r.useState)(), 2),
+            s = l[0],
+            c = l[1];
+          return [
+            function (e) {
+              var n = e.Component,
+                r = e.onClick;
+              return a.a.createElement(
+                "div",
+                {
+                  className: "gf-form",
+                  ref: t,
+                  onClick: function () {
+                    i(!0),
+                      t && t.current && c(1.25 * t.current.clientWidth),
+                      r && r();
+                  },
+                },
+                n
+              );
+            },
+            s,
+            o,
+            i,
+          ];
+        },
+        Ug = { Tooltip: Zi },
+        zg = n("fcSX");
+      function Hg() {
+        var e = Yg([
+          "\n      padding: ",
+          ";\n      flex-grow: 1;\n      overflow: ",
+          ";\n      z-index: 0;\n    ",
+        ]);
+        return (
+          (Hg = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Gg() {
+        var e = Yg([
+          "\n      cursor: pointer;\n      width: ",
+          ";\n      height: 100%;\n      display: flex;\n      flex-shrink: 0;\n      justify-content: center;\n    ",
+        ]);
+        return (
+          (Gg = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Wg() {
+        var e = Yg([
+          "\n      font-size: ",
+          ";\n      display: flex;\n      align-items: baseline;\n      justify-content: space-between;\n      border-bottom: 1px solid ",
+          ";\n      padding: ",
+          " 0 ",
+          " ",
+          ";\n      background-color: ",
+          ";\n      top: 0;\n      z-index: 1;\n      flex-grow: 0;\n    ",
+        ]);
+        return (
+          (Wg = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Qg() {
+        var e = Yg([
+          "\n      .drawer-content {\n        background-color: ",
+          ";\n        display: flex;\n        flex-direction: column;\n        overflow: hidden;\n      }\n    ",
+        ]);
+        return (
+          (Qg = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Yg(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var Kg = Object(i.g)(function (e, t) {
+          var n = Object(i.e)(
+            { light: e.colors.gray4, dark: e.colors.dark9 },
+            e.type
+          );
+          return {
+            drawer: Object(o.css)(Qg(), e.colors.bodyBg),
+            titleWrapper: Object(o.css)(
+              Wg(),
+              e.typography.size.lg,
+              n,
+              e.spacing.sm,
+              e.spacing.sm,
+              e.spacing.md,
+              e.colors.bodyBg
+            ),
+            close: Object(o.css)(Gg(), "50px"),
+            content: Object(o.css)(Hg(), e.spacing.md, t ? "auto" : "hidden"),
+          };
+        }),
+        Jg = function (e) {
+          var t = e.children,
+            n = e.inline,
+            r = void 0 !== n && n,
+            o = e.onClose,
+            l = e.closeOnMaskClick,
+            s = void 0 !== l && l,
+            c = e.scrollableContent,
+            u = void 0 !== c && c,
+            f = e.title,
+            d = e.width,
+            p = void 0 === d ? "40%" : d,
+            h = Object(i.h)(),
+            m = Kg(h, u);
+          return a.a.createElement(
+            zg.a,
+            {
+              level: null,
+              handler: !1,
+              open: !0,
+              onClose: o,
+              maskClosable: s,
+              placement: "right",
+              width: p,
+              getContainer: !r && "body",
+              style: { position: "".concat(r && "absolute") },
+              className: m.drawer,
+            },
+            "string" == typeof f &&
+              a.a.createElement(
+                "div",
+                { className: m.titleWrapper },
+                a.a.createElement("div", null, f),
+                a.a.createElement(
+                  "div",
+                  { className: m.close, onClick: o },
+                  a.a.createElement("i", { className: "fa fa-close" })
+                )
+              ),
+            "function" == typeof f && f(),
+            a.a.createElement(
+              "div",
+              { className: m.content },
+              u ? a.a.createElement(_.b, null, t) : t
+            )
+          );
+        },
+        Zg = n("siax"),
+        Xg = n("qKvR");
+      function eb() {
+        var e = ab([
+          "\n    body {\n      .rc-slider-tooltip {\n        cursor: grab;\n        user-select: none;\n      }\n\n      .rc-slider-tooltip-inner {\n        color: ",
+          ";\n        background-color: transparent !important;\n        border-radius: 0;\n        box-shadow: none;\n      }\n\n      .rc-slider-tooltip-placement-top .rc-slider-tooltip-arrow {\n        display: none;\n      }\n\n      .rc-slider-tooltip-placement-top {\n        padding: 0;\n      }\n    }\n  ",
+        ]);
+        return (
+          (eb = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function tb() {
+        var e = ab([
+          "\n      .rc-slider-vertical .rc-slider-handle {\n        margin-top: -10px;\n      }\n      .rc-slider-handle {\n        border: solid 2px ",
+          ";\n        background-color: ",
+          ";\n      }\n      .rc-slider-handle:hover {\n        border-color: ",
+          ";\n      }\n      .rc-slider-handle:focus {\n        border-color: ",
+          ";\n        box-shadow: none;\n      }\n      .rc-slider-handle:active {\n        border-color: ",
+          ";\n        box-shadow: none;\n      }\n      .rc-slider-handle-click-focused:focus {\n        border-color: ",
+          ";\n      }\n      .rc-slider-dot-active {\n        border-color: ",
+          ";\n      }\n      .rc-slider-track {\n        background-color: ",
+          ";\n      }\n      .rc-slider-rail {\n        background-color: ",
+          ";\n        border: 1px solid ",
+          ";\n      }\n    ",
+        ]);
+        return (
+          (tb = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function nb() {
+        var e = ab([
+          "\n        height: 100%;\n        margin: ",
+          " ",
+          " ",
+          " ",
+          ";\n      ",
+        ]);
+        return (
+          (nb = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function rb() {
+        var e = ab([
+          "\n        width: 100%;\n        margin: ",
+          " ",
+          " ",
+          " ",
+          ";\n      ",
+        ]);
+        return (
+          (rb = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function ab(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var ob = Object(i.g)(function (e, t) {
+          var n = e.isLight ? e.colors.gray5 : e.colors.dark6;
+          return {
+            container: t
+              ? Object(o.css)(
+                  rb(),
+                  e.spacing.lg,
+                  e.spacing.sm,
+                  e.spacing.sm,
+                  e.spacing.sm
+                )
+              : Object(o.css)(
+                  nb(),
+                  e.spacing.sm,
+                  e.spacing.lg,
+                  e.spacing.sm,
+                  e.spacing.sm
+                ),
+            slider: Object(o.css)(
+              tb(),
+              e.colors.blue77,
+              e.colors.blue77,
+              e.colors.blue77,
+              e.colors.blue77,
+              e.colors.blue77,
+              e.colors.blue77,
+              e.colors.blue77,
+              e.colors.blue77,
+              n,
+              n
+            ),
+            tooltip: Object(Xg.d)(eb(), e.colors.text),
+          };
+        }),
+        ib = function (e) {
+          var t = e.min,
+            n = e.max,
+            r = e.onChange,
+            i = e.onAfterChange,
+            l = e.orientation,
+            s = void 0 === l ? "horizontal" : l,
+            c = e.reverse,
+            u = e.formatTooltipResult,
+            f = e.value,
+            d = e.tooltipAlwaysVisible,
+            p = void 0 === d || d,
+            h = "horizontal" === s,
+            m = Object(Bt.c)(),
+            g = ob(m, h),
+            b = Object(Zg.b)(Zg.a);
+          return a.a.createElement(
+            "div",
+            { className: Object(o.cx)(g.container, g.slider) },
+            a.a.createElement(Xg.c, { styles: g.tooltip }),
+            a.a.createElement(b, {
+              tipProps: { visible: p, placement: h ? "top" : "right" },
+              min: t,
+              max: n,
+              defaultValue: f || [t, n],
+              tipFormatter: function (e) {
+                return u ? u(e) : e;
+              },
+              onChange: r,
+              onAfterChange: i,
+              vertical: !h,
+              reverse: c,
+            })
+          );
+        };
+      ib.displayName = "Slider";
+      var lb = function (e, t, n) {
+          return n.expandTemplateVars && t.replaceVariables
+            ? t.replaceVariables(e, t.field.config.scopedVars)
+            : "".concat(e);
+        },
+        sb = function (e) {
+          var t = e.value,
+            n = e.onChange;
+          return a.a.createElement(s.b.Input, {
+            value: t || "",
+            onChange: function (e) {
+              return n(e.currentTarget.value);
+            },
+          });
+        },
+        cb = function (e) {
+          var t = e.value,
+            n = e.onChange;
+          return a.a.createElement(s.b.Input, {
+            value: t || "",
+            onChange: function (e) {
+              return n(e.currentTarget.value);
+            },
+          });
+        },
+        ub = function (e, t, n) {
+          var r = parseFloat("".concat(e));
+          return n.max && n.max, r;
+        },
+        fb = function (e) {
+          var t = e.value,
+            n = e.onChange,
+            r = e.item.settings;
+          return a.a.createElement(s.b.Input, {
+            value: isNaN(t) ? "" : t,
+            min: r.min,
+            max: r.max,
+            type: "number",
+            step: r.step,
+            placeholder: r.placeholder,
+            onChange: function (e) {
+              n(
+                r.integer
+                  ? Object(Pe.toIntegerOrUndefined)(e.currentTarget.value)
+                  : Object(Pe.toFloatOrUndefined)(e.currentTarget.value)
+              );
+            },
+          });
+        },
+        db = function (e) {
+          var t = e.value,
+            n = e.onChange,
+            r = e.item.settings;
+          return a.a.createElement(s.b.Input, {
+            value: isNaN(t) ? "" : t,
+            min: r.min,
+            max: r.max,
+            type: "number",
+            step: r.step,
+            placeholder: r.placeholder,
+            onChange: function (e) {
+              n(
+                r.integer
+                  ? Object(Pe.toIntegerOrUndefined)(e.currentTarget.value)
+                  : Object(Pe.toFloatOrUndefined)(e.currentTarget.value)
+              );
+            },
+          });
+        },
+        pb = function (e, t, n) {
+          return e;
+        },
+        hb = function (e) {
+          var t = e.item,
+            n = e.value,
+            r = e.onChange;
+          return a.a.createElement(s.b.Select, {
+            value: n || "",
+            onChange: function (e) {
+              return r(e.value);
+            },
+            options: t.settings.options,
+          });
+        },
+        mb = function (e) {
+          var t = e.item,
+            n = e.value,
+            r = e.onChange;
+          return a.a.createElement(s.b.Select, {
+            value: n || "",
+            onChange: function (e) {
+              return r(e.value);
+            },
+            options: t.settings.options,
+          });
+        },
+        gb = n("oEIk");
+      function bb(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function vb(e) {
+        var t = e.label,
+          n = e.icon,
+          o = e.options,
+          i = e.onChange,
+          l = e.variant,
+          s = bb(Object(r.useState)(!1), 2),
+          c = s[0],
+          u = s[1];
+        return a.a.createElement(
+          a.a.Fragment,
+          null,
+          !c &&
+            a.a.createElement(
+              Od,
+              null,
+              a.a.createElement(
+                gb.a,
+                {
+                  size: "sm",
+                  icon: "fa fa-".concat(n || "plus"),
+                  onClick: function () {
+                    return u(!0);
+                  },
+                  variant: l,
+                },
+                t
+              )
+            ),
+          c &&
+            a.a.createElement(X.b, {
+              placeholder: t,
+              options: o,
+              isOpen: !0,
+              onCloseMenu: function () {
+                return u(!1);
+              },
+              autoFocus: !0,
+              onChange: function (e) {
+                u(!1), i(e);
+              },
+            })
+        );
+      }
+      function yb(e) {
+        return (yb =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function wb(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Ob(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function xb(e, t) {
+        return !t || ("object" !== yb(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function kb(e) {
+        return (kb = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function jb(e, t) {
+        return (jb =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Sb = (function (e) {
+          function t() {
+            return wb(this, t), xb(this, kb(t).apply(this, arguments));
+          }
+          var n, r, o;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && jb(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.data,
+                    n = e.options,
+                    r = e.onChange,
+                    o = new Set(),
+                    i = !0,
+                    l = !1,
+                    c = void 0;
+                  try {
+                    for (
+                      var u, f = t[Symbol.iterator]();
+                      !(i = (u = f.next()).done);
+                      i = !0
+                    ) {
+                      var d = u.value,
+                        p = !0,
+                        h = !1,
+                        m = void 0;
+                      try {
+                        for (
+                          var g, b = d.fields[Symbol.iterator]();
+                          !(p = (g = b.next()).done);
+                          p = !0
+                        ) {
+                          var v = g.value;
+                          o.add(v.name);
+                        }
+                      } catch (e) {
+                        (h = !0), (m = e);
+                      } finally {
+                        try {
+                          p || null == b.return || b.return();
+                        } finally {
+                          if (h) throw m;
+                        }
+                      }
+                    }
+                  } catch (e) {
+                    (l = !0), (c = e);
+                  } finally {
+                    try {
+                      i || null == f.return || f.return();
+                    } finally {
+                      if (l) throw c;
+                    }
+                  }
+                  n && o.add(n);
+                  var y = Array.from(o).map(function (e) {
+                      return { value: e, label: e };
+                    }),
+                    w = y.find(function (e) {
+                      return e.value === n;
+                    });
+                  return a.a.createElement(s.b.Select, {
+                    allowCustomValue: !0,
+                    value: w,
+                    options: y,
+                    onChange: function (e) {
+                      return r(e.value);
+                    },
+                  });
+                },
+              },
+            ]) && Ob(n.prototype, r),
+            o && Ob(n, o),
+            t
+          );
+        })(a.a.PureComponent),
+        Eb = {
+          id: Pe.FieldMatcherID.byName,
+          component: Sb,
+          matcher: Pe.fieldMatchers.get(Pe.FieldMatcherID.byName),
+          name: "Filter by name",
+          description: "Set properties for fields matching the name",
+        },
+        Cb = new Pe.Registry(function () {
+          return [Eb];
+        }),
+        Pb = function (e) {
+          var t = e.value,
+            n = e.onChange;
+          return a.a.createElement(Xn, {
+            value: t,
+            onChange: n,
+            useNewForms: !0,
+          });
+        },
+        Tb = function (e) {
+          var t = e.value,
+            n = e.onChange;
+          return a.a.createElement(Xn, {
+            value: t,
+            onChange: n,
+            useNewForms: !0,
+          });
+        },
+        Db = n("NnAq"),
+        Ab = n("DR0N");
+      function _b(e) {
+        return (_b =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Nb() {
+        var e = $b([
+          "\n        color: ",
+          ";\n        cursor: pointer;\n\n        &:hover {\n          color: ",
+          ";\n        }\n      ",
+        ]);
+        return (
+          (Nb = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Mb() {
+        var e = $b([
+          "\n        display: flex;\n        align-items: center;\n      ",
+        ]);
+        return (
+          (Mb = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Ib() {
+        var e = $b([
+          "\n        font-size: ",
+          ";\n        color: ",
+          ";\n      ",
+        ]);
+        return (
+          (Ib = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Rb() {
+        var e = $b(["\n        margin-bottom: ", ";\n      "]);
+        return (
+          (Rb = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Fb() {
+        var e = $b(["\n        padding: 0 ", ";\n      "]);
+        return (
+          (Fb = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Lb() {
+        var e = $b([
+          "\n        margin-bottom: ",
+          ";\n\n        &:last-child {\n          margin-bottom: 0;\n        }\n      ",
+        ]);
+        return (
+          (Lb = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Vb() {
+        var e = $b([
+          "\n        display: flex;\n        flex-direction: column;\n        margin-bottom: ",
+          "px;\n      ",
+        ]);
+        return (
+          (Vb = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Bb() {
+        var e = $b([
+          "\n        display: flex;\n        flex-direction: column;\n        margin-bottom: -",
+          "px;\n      ",
+        ]);
+        return (
+          (Bb = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function $b(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      function qb(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function Ub(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function zb(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? Ub(Object(n), !0).forEach(function (t) {
+                Hb(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : Ub(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function Hb(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function Gb(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function Wb(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Qb(e, t) {
+        return !t || ("object" !== _b(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Yb(e) {
+        return (Yb = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Kb(e, t) {
+        return (Kb =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Jb = [
+          {
+            value: Pe.ThresholdsMode.Absolute,
+            label: "Absolute",
+            description: "Pick thresholds based on the absolute values",
+          },
+          {
+            value: Pe.ThresholdsMode.Percentage,
+            label: "Percentage",
+            description: "Pick threshold based on the percent between min/max",
+          },
+        ],
+        Zb = (function (e) {
+          function t(e) {
+            var n;
+            !(function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+              ((n = Qb(
+                this,
+                Yb(t).call(this, e)
+              )).onAddThreshold = function () {
+                var e = n.state.steps,
+                  t = 0;
+                e.length > 1 && (t = e[e.length - 1].value + 10);
+                var r = {
+                    value: t,
+                    color: Ge.o.filter(function (t) {
+                      return !e.some(function (e) {
+                        return e.color === t;
+                      });
+                    })[1],
+                    key: Xb++,
+                  },
+                  a = [].concat(Gb(e), [r]);
+                Object(Pe.sortThresholds)(a),
+                  n.setState({ steps: a }, n.onChange);
+              }),
+              (n.onRemoveThreshold = function (e) {
+                var t = n.state.steps;
+                t.length &&
+                  e.key !== t[0].key &&
+                  n.setState(
+                    {
+                      steps: t.filter(function (t) {
+                        return t.key !== e.key;
+                      }),
+                    },
+                    n.onChange
+                  );
+              }),
+              (n.onChangeThresholdValue = function (e, t) {
+                var r = e.target.value.replace(/,/g, "."),
+                  a = parseFloat(r),
+                  o = isNaN(a) ? "" : a,
+                  i = n.state.steps.map(function (e) {
+                    return e.key === t.key && (e = zb({}, e, { value: o })), e;
+                  });
+                i.length && (i[0].value = -1 / 0),
+                  Object(Pe.sortThresholds)(i),
+                  n.setState({ steps: i });
+              }),
+              (n.onChangeThresholdColor = function (e, t) {
+                var r = n.state.steps.map(function (n) {
+                  return n.key === e.key && (n = zb({}, n, { color: t })), n;
+                });
+                n.setState({ steps: r }, n.onChange);
+              }),
+              (n.onBlur = function () {
+                var e = Gb(n.state.steps);
+                Object(Pe.sortThresholds)(e),
+                  n.setState({ steps: e }, n.onChange);
+              }),
+              (n.onChange = function () {
+                var e, t, r;
+                n.props.onChange(
+                  ((e = n.props.thresholds),
+                  (t = n.state.steps),
+                  {
+                    mode:
+                      null !== (r = e.mode) && void 0 !== r
+                        ? r
+                        : Pe.ThresholdsMode.Absolute,
+                    steps: t.map(function (e) {
+                      return e.key, qb(e, ["key"]);
+                    }),
+                  })
+                );
+              }),
+              (n.onModeChanged = function (e) {
+                n.props.onChange(zb({}, n.props.thresholds, { mode: e }));
+              });
+            var r = (function (e) {
+              (e && 0 !== e.length) ||
+                (e = [{ value: -1 / 0, color: "green" }]);
+              return e.map(function (e) {
+                return {
+                  color: e.color,
+                  value: null === e.value ? -1 / 0 : e.value,
+                  key: Xb++,
+                };
+              });
+            })(e.thresholds.steps);
+            return (r[0].value = -1 / 0), (n.state = { steps: r }), n;
+          }
+          var n, r, o;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Kb(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "renderInput",
+                value: function (e, t) {
+                  var n = this,
+                    r =
+                      this.props.thresholds.mode ===
+                      Pe.ThresholdsMode.Percentage;
+                  return isFinite(e.value)
+                    ? a.a.createElement(ee.a, {
+                        type: "number",
+                        step: "0.0001",
+                        key: r.toString(),
+                        onChange: function (t) {
+                          return n.onChangeThresholdValue(t, e);
+                        },
+                        value: e.value,
+                        onBlur: this.onBlur,
+                        prefix: a.a.createElement(
+                          "div",
+                          { className: t.inputPrefix },
+                          e.color &&
+                            a.a.createElement(
+                              "div",
+                              { className: t.colorPicker },
+                              a.a.createElement(fn, {
+                                color: e.color,
+                                onChange: function (t) {
+                                  return n.onChangeThresholdColor(e, t);
+                                },
+                                enableNamedColors: !0,
+                              })
+                            ),
+                          r &&
+                            a.a.createElement(
+                              "div",
+                              { className: t.percentIcon },
+                              "%"
+                            )
+                        ),
+                        suffix: a.a.createElement(Y.a, {
+                          className: t.trashIcon,
+                          name: "trash",
+                          onClick: function () {
+                            return n.onRemoveThreshold(e);
+                          },
+                        }),
+                      })
+                    : a.a.createElement(ee.a, {
+                        type: "text",
+                        value: "Base",
+                        disabled: !0,
+                        prefix:
+                          e.color &&
+                          a.a.createElement(
+                            "div",
+                            { className: t.colorPicker },
+                            a.a.createElement(fn, {
+                              color: e.color,
+                              onChange: function (t) {
+                                return n.onChangeThresholdColor(e, t);
+                              },
+                              enableNamedColors: !0,
+                            })
+                          ),
+                      });
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this,
+                    t = this.props.thresholds,
+                    n = this.state.steps;
+                  return a.a.createElement(Bt.a.Consumer, null, function (r) {
+                    var o = ev(r);
+                    return a.a.createElement(
+                      "div",
+                      { className: o.wrapper },
+                      a.a.createElement(
+                        Od,
+                        { className: o.addButton },
+                        a.a.createElement(
+                          gb.a,
+                          {
+                            size: "sm",
+                            icon: "fa fa-plus",
+                            onClick: function () {
+                              return e.onAddThreshold();
+                            },
+                          },
+                          "Add threshold"
+                        )
+                      ),
+                      a.a.createElement(
+                        "div",
+                        { className: o.thresholds },
+                        n
+                          .slice(0)
+                          .reverse()
+                          .map(function (t) {
+                            return a.a.createElement(
+                              "div",
+                              { className: o.item, key: "".concat(t.key) },
+                              e.renderInput(t, o)
+                            );
+                          })
+                      ),
+                      a.a.createElement(
+                        Ab.a,
+                        { label: "Threshold mode" },
+                        a.a.createElement(
+                          Od,
+                          null,
+                          a.a.createElement(Db.a, {
+                            size: "sm",
+                            options: Jb,
+                            onChange: e.onModeChanged,
+                            value: t.mode,
+                          })
+                        )
+                      )
+                    );
+                  });
+                },
+              },
+            ]) && Wb(n.prototype, r),
+            o && Wb(n, o),
+            t
+          );
+        })(r.PureComponent),
+        Xb = 100;
+      var ev = Object(i.g)(function (e) {
+        return {
+          wrapper: Object(o.css)(Bb(), 2 * e.spacing.formSpacingBase),
+          thresholds: Object(o.css)(Vb(), 2 * e.spacing.formSpacingBase),
+          item: Object(o.css)(Lb(), e.spacing.sm),
+          colorPicker: Object(o.css)(Fb(), e.spacing.sm),
+          addButton: Object(o.css)(Rb(), e.spacing.sm),
+          percentIcon: Object(o.css)(
+            Ib(),
+            e.typography.size.sm,
+            e.colors.textWeak
+          ),
+          inputPrefix: Object(o.css)(Mb()),
+          trashIcon: Object(o.css)(Nb(), e.colors.textWeak, e.colors.text),
+        };
+      });
+      function tv(e) {
+        return (tv =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function nv(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function rv(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function av(e, t, n) {
+        return t && rv(e.prototype, t), n && rv(e, n), e;
+      }
+      function ov(e, t) {
+        return !t || ("object" !== tv(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function iv(e) {
+        return (iv = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function lv(e, t) {
+        if ("function" != typeof t && null !== t)
+          throw new TypeError(
+            "Super expression must either be null or a function"
+          );
+        (e.prototype = Object.create(t && t.prototype, {
+          constructor: { value: e, writable: !0, configurable: !0 },
+        })),
+          t && sv(e, t);
+      }
+      function sv(e, t) {
+        return (sv =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var cv,
+        uv = function (e, t, n) {
+          return e;
+        },
+        fv = (function (e) {
+          function t(e) {
+            return nv(this, t), ov(this, iv(t).call(this, e));
+          }
+          return (
+            lv(t, e),
+            av(t, [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props.onChange,
+                    t = this.props.value;
+                  return (
+                    t ||
+                      (t = { mode: Pe.ThresholdsMode.Percentage, steps: [] }),
+                    a.a.createElement(Zb, { thresholds: t, onChange: e })
+                  );
+                },
+              },
+            ]),
+            t
+          );
+        })(a.a.PureComponent),
+        dv = (function (e) {
+          function t(e) {
+            return nv(this, t), ov(this, iv(t).call(this, e));
+          }
+          return (
+            lv(t, e),
+            av(t, [
+              {
+                key: "render",
+                value: function () {
+                  return a.a.createElement(
+                    "div",
+                    null,
+                    "THRESHOLDS OVERRIDE EDITOR ",
+                    this.props.item.name
+                  );
+                },
+              },
+            ]),
+            t
+          );
+        })(a.a.PureComponent);
+      function pv() {
+        var e = mv([
+          "\n      margin-bottom: ",
+          ";\n      margin-right: ",
+          ";\n\n      &:last-child {\n        margin-bottom: 0;\n        margin-right: 0;\n      }\n    ",
+        ]);
+        return (
+          (pv = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function hv() {
+        var e = mv([
+          "\n      display: flex;\n      flex-direction: ",
+          ";\n      justify-content: ",
+          ";\n      height: 100%;\n    ",
+        ]);
+        return (
+          (hv = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function mv(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      !(function (e) {
+        (e[(e.Horizontal = 0)] = "Horizontal"),
+          (e[(e.Vertical = 1)] = "Vertical");
+      })(cv || (cv = {}));
+      var gv = function (e) {
+          var t = e.children,
+            n = e.orientation,
+            r = void 0 === n ? cv.Horizontal : n,
+            o = e.spacing,
+            l = void 0 === o ? "sm" : o,
+            s = e.justify,
+            c = void 0 === s ? "flex-start" : s,
+            u = Object(i.h)(),
+            f = yv(u, r, l, c);
+          return a.a.createElement(
+            "div",
+            { className: f.layout },
+            a.a.Children.map(t, function (e, t) {
+              return a.a.createElement(
+                "div",
+                { className: f.buttonWrapper },
+                e
+              );
+            })
+          );
+        },
+        bv = function (e) {
+          var t = e.children,
+            n = e.spacing,
+            r = e.justify;
+          return a.a.createElement(
+            gv,
+            { spacing: n, justify: r, orientation: cv.Horizontal },
+            t
+          );
+        },
+        vv = function (e) {
+          var t = e.children,
+            n = e.spacing,
+            r = e.justify;
+          return a.a.createElement(
+            gv,
+            { spacing: n, justify: r, orientation: cv.Vertical },
+            t
+          );
+        },
+        yv = Object(i.g)(function (e, t, n, r) {
+          return {
+            layout: Object(o.css)(
+              hv(),
+              t === cv.Vertical ? "column" : "row",
+              r
+            ),
+            buttonWrapper: Object(o.css)(
+              pv(),
+              t === cv.Horizontal ? 0 : e.spacing[n],
+              t === cv.Horizontal ? e.spacing[n] : 0
+            ),
+          };
+        });
+      function wv() {
+        var e = Sv(["\n      color: ", ";\n    "]);
+        return (
+          (wv = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Ov() {
+        var e = Sv(["\n      font-size: ", ";\n    "]);
+        return (
+          (Ov = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function xv() {
+        var e = Sv(["\n      font-style: italic;\n    "]);
+        return (
+          (xv = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function kv() {
+        var e = Sv(["\n      cursor: pointer;\n    "]);
+        return (
+          (kv = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function jv() {
+        var e = Sv([
+          "\n      border-bottom: 1px dashed ",
+          ";\n      padding: ",
+          ";\n      transition: background 0.5s cubic-bezier(0.19, 1, 0.22, 1);\n      &:last-child {\n        border-bottom: 0;\n      }\n      &:hover {\n        background: ",
+          ";\n      }\n    ",
+        ]);
+        return (
+          (jv = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Sv(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var Ev = function (e) {
+          e.index;
+          var t = e.link,
+            n = (e.data, e.onChange, e.suggestions, e.isEditing, e.onEdit),
+            r = e.onRemove,
+            l = Object(i.h)(),
+            s = Cv(l),
+            c = "" !== t.title.trim(),
+            u = "" !== t.url.trim();
+          return a.a.createElement(
+            "div",
+            { className: s.wrapper },
+            a.a.createElement(
+              bv,
+              { justify: "space-between" },
+              a.a.createElement(
+                "div",
+                null,
+                a.a.createElement(
+                  "div",
+                  { className: Object(o.cx)(!c && s.notConfigured) },
+                  c ? t.title : "No data link provided"
+                ),
+                a.a.createElement(
+                  "div",
+                  { className: Object(o.cx)(!u && s.notConfigured, s.url) },
+                  u ? t.url : "No url provided"
+                )
+              ),
+              a.a.createElement(
+                bv,
+                null,
+                a.a.createElement(
+                  "div",
+                  { onClick: n, className: s.action },
+                  a.a.createElement(Y.a, { name: "pencil" })
+                ),
+                a.a.createElement(
+                  "div",
+                  { onClick: r, className: Object(o.cx)(s.action, s.remove) },
+                  a.a.createElement(Y.a, { name: "trash" })
+                )
+              )
+            )
+          );
+        },
+        Cv = Object(i.g)(function (e) {
+          var t = Object(i.e)(
+              { light: e.colors.gray85, dark: e.colors.dark9 },
+              e.type
+            ),
+            n = Object(i.e)(
+              { light: e.colors.white, dark: e.colors.dark1 },
+              e.type
+            );
+          return {
+            wrapper: Object(o.css)(jv(), t, e.spacing.sm, n),
+            action: Object(o.css)(kv()),
+            notConfigured: Object(o.css)(xv()),
+            url: Object(o.css)(Ov(), e.typography.size.sm),
+            remove: Object(o.css)(wv(), e.colors.red88),
+          };
+        });
+      function Pv(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      var Tv = function (e) {
+        var t = e.link,
+          n = e.index,
+          o = e.suggestions,
+          i = e.onChange,
+          l = e.onClose,
+          c = Pv(Object(r.useState)(t), 2),
+          u = c[0],
+          f = c[1];
+        return a.a.createElement(
+          a.a.Fragment,
+          null,
+          a.a.createElement(Jp, {
+            value: u,
+            index: n,
+            isLast: !1,
+            suggestions: o,
+            onChange: function (e, t) {
+              f(t);
+            },
+            onRemove: function () {},
+          }),
+          a.a.createElement(
+            bv,
+            null,
+            a.a.createElement(
+              s.b.Button,
+              {
+                onClick: function () {
+                  i(n, u), l();
+                },
+              },
+              "Save"
+            ),
+            a.a.createElement(
+              s.b.Button,
+              {
+                variant: "secondary",
+                onClick: function () {
+                  return l();
+                },
+              },
+              "Cancel"
+            )
+          )
+        );
+      };
+      function Dv() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })([
+          "\n      border: 1px dashed ",
+          ";\n      margin-bottom: ",
+          ";\n      transition: box-shadow 0.5s cubic-bezier(0.19, 1, 0.22, 1);\n      box-shadow: none;\n\n      &:hover {\n        box-shadow: 0 0 10px ",
+          ";\n      }\n    ",
+        ]);
+        return (
+          (Dv = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Av(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      var _v = function (e) {
+          var t = e.links,
+            n = e.onChange,
+            o = e.suggestions,
+            l = e.data,
+            c = Object(i.h)(),
+            u = Av(Object(r.useState)(), 2),
+            f = u[0],
+            d = u[1],
+            p = null != f,
+            h = Nv(c),
+            m = function (e, r) {
+              var a = Xd()(t);
+              (a[e] = r), n(a);
+            };
+          return a.a.createElement(
+            a.a.Fragment,
+            null,
+            t &&
+              a.a.createElement(
+                "div",
+                { className: h.wrapper },
+                t.map(function (e, r) {
+                  return a.a.createElement(Ev, {
+                    key: "".concat(e.title, "/").concat(r),
+                    index: r,
+                    link: e,
+                    onChange: m,
+                    onEdit: function () {
+                      return d(r);
+                    },
+                    onRemove: function () {
+                      return (e = r), (a = Xd()(t)).splice(e, 1), void n(a);
+                      var e, a;
+                    },
+                    data: l,
+                    suggestions: o,
+                  });
+                })
+              ),
+            p &&
+              a.a.createElement(
+                sa,
+                {
+                  title: "Edit data link",
+                  isOpen: p,
+                  onDismiss: function () {
+                    d(null);
+                  },
+                },
+                a.a.createElement(Tv, {
+                  index: f,
+                  link: t[f],
+                  data: l,
+                  onChange: m,
+                  onClose: function () {
+                    return d(null);
+                  },
+                  suggestions: o,
+                })
+              ),
+            a.a.createElement(
+              Od,
+              null,
+              a.a.createElement(
+                s.b.Button,
+                {
+                  size: "sm",
+                  icon: "fa fa-plus",
+                  onClick: function () {
+                    var e = Xd()(t);
+                    e
+                      ? e.push({ title: "", url: "" })
+                      : (e = [{ title: "", url: "" }]),
+                      d(e.length - 1),
+                      n(e);
+                  },
+                },
+                "Add data link"
+              )
+            )
+          );
+        },
+        Nv = Object(i.g)(function (e) {
+          var t = Object(i.e)(
+              { light: e.colors.gray85, dark: e.colors.dark9 },
+              e.type
+            ),
+            n = Object(i.e)(
+              { light: e.colors.gray85, dark: e.colors.black },
+              e.type
+            );
+          return { wrapper: Object(o.css)(Dv(), t, e.spacing.md, n) };
+        }),
+        Mv = function (e, t, n) {
+          return e;
+        },
+        Iv = function (e) {
+          var t = e.value,
+            n = e.onChange,
+            r = e.context;
+          return a.a.createElement(_v, {
+            links: t,
+            onChange: n,
+            data: r.data,
+            suggestions: r.getSuggestions ? r.getSuggestions() : [],
+          });
+        },
+        Rv = function (e) {
+          var t = e.value,
+            n = e.onChange,
+            r = e.context;
+          return a.a.createElement(_v, {
+            links: t,
+            onChange: n,
+            data: r.data,
+            suggestions: r.getSuggestions ? r.getSuggestions() : [],
+          });
+        };
+      function Fv(e) {
+        return (Fv =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Lv(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Vv(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Bv(e, t, n) {
+        return t && Vv(e.prototype, t), n && Vv(e, n), e;
+      }
+      function $v(e, t) {
+        return !t || ("object" !== Fv(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function qv(e) {
+        return (qv = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Uv(e, t) {
+        if ("function" != typeof t && null !== t)
+          throw new TypeError(
+            "Super expression must either be null or a function"
+          );
+        (e.prototype = Object.create(t && t.prototype, {
+          constructor: { value: e, writable: !0, configurable: !0 },
+        })),
+          t && zv(e, t);
+      }
+      function zv(e, t) {
+        return (zv =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Hv = function (e, t, n) {
+          return e;
+        },
+        Gv = (function (e) {
+          function t(e) {
+            return Lv(this, t), $v(this, qv(t).call(this, e));
+          }
+          return (
+            Uv(t, e),
+            Bv(t, [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props.onChange,
+                    t = this.props.value;
+                  return (
+                    t || (t = []),
+                    a.a.createElement(Mn, { valueMappings: t, onChange: e })
+                  );
+                },
+              },
+            ]),
+            t
+          );
+        })(a.a.PureComponent),
+        Wv = (function (e) {
+          function t(e) {
+            return Lv(this, t), $v(this, qv(t).call(this, e));
+          }
+          return (
+            Uv(t, e),
+            Bv(t, [
+              {
+                key: "render",
+                value: function () {
+                  return a.a.createElement(
+                    "div",
+                    null,
+                    "VALUE MAPPINGS OVERRIDE EDITOR ",
+                    this.props.item.name
+                  );
+                },
+              },
+            ]),
+            t
+          );
+        })(a.a.PureComponent),
+        Qv = function () {
+          return [
+            {
+              id: "unit",
+              name: "Unit",
+              description: "value units",
+              editor: Pb,
+              override: Tb,
+              process: lb,
+              settings: { placeholder: "none" },
+              shouldApply: function (e) {
+                return e.type === Pe.FieldType.number;
+              },
+            },
+            {
+              id: "min",
+              name: "Min",
+              description: "Minimum expected value",
+              editor: fb,
+              override: db,
+              process: ub,
+              settings: { placeholder: "auto" },
+              shouldApply: function (e) {
+                return e.type === Pe.FieldType.number;
+              },
+            },
+            {
+              id: "max",
+              name: "Max",
+              description: "Maximum expected value",
+              editor: fb,
+              override: db,
+              process: ub,
+              settings: { placeholder: "auto" },
+              shouldApply: function (e) {
+                return e.type === Pe.FieldType.number;
+              },
+            },
+            {
+              id: "decimals",
+              name: "Decimals",
+              description:
+                "How many decimal places should be shown on a number",
+              editor: fb,
+              override: db,
+              process: ub,
+              settings: { placeholder: "auto", min: 0, max: 15, integer: !0 },
+              shouldApply: function (e) {
+                return e.type === Pe.FieldType.number;
+              },
+            },
+            {
+              id: "thresholds",
+              name: "Thresholds",
+              description: "Manage Thresholds",
+              editor: fv,
+              override: dv,
+              process: uv,
+              settings: {},
+              shouldApply: function (e) {
+                return e.type === Pe.FieldType.number;
+              },
+            },
+            {
+              id: "mappings",
+              name: "Value mappings",
+              description: "Manage value mappings",
+              editor: Gv,
+              override: Wv,
+              process: Hv,
+              settings: {},
+              shouldApply: function (e) {
+                return e.type === Pe.FieldType.number;
+              },
+            },
+            {
+              id: "title",
+              name: "Title",
+              description: "The field title",
+              editor: sb,
+              override: cb,
+              process: lb,
+              settings: { placeholder: "auto", expandTemplateVars: !0 },
+              shouldApply: function (e) {
+                return e.type !== Pe.FieldType.time;
+              },
+            },
+            {
+              id: "noValue",
+              name: "No Value",
+              description: "What to show when there is no value",
+              editor: sb,
+              override: cb,
+              process: lb,
+              settings: { placeholder: "-" },
+              shouldApply: function () {
+                return !0;
+              },
+            },
+            {
+              id: "links",
+              name: "DataLinks",
+              description: "Manage date links",
+              editor: Iv,
+              override: Rv,
+              process: Mv,
+              settings: { placeholder: "-" },
+              shouldApply: function () {
+                return !0;
+              },
+            },
+          ];
+        };
+      n.d(t, "x", function () {
+        return E;
+      }),
+        n.d(t, "J", function () {
+          return C;
+        }),
+        n.d(t, "Bc", function () {
+          return P.b;
+        }),
+        n.d(t, "Ob", function () {
+          return P.PopoverContent;
+        }),
+        n.d(t, "Pb", function () {
+          return T.a;
+        }),
+        n.d(t, "Nb", function () {
+          return D.a;
+        }),
+        n.d(t, "Qb", function () {
+          return A.a;
+        }),
+        n.d(t, "E", function () {
+          return _.a;
+        }),
+        n.d(t, "l", function () {
+          return l.a;
+        }),
+        n.d(t, "tb", function () {
+          return l.b;
+        }),
+        n.d(t, "u", function () {
+          return U;
+        }),
+        n.d(t, "Yb", function () {
+          return z.b;
+        }),
+        n.d(t, "d", function () {
+          return z.a;
+        }),
+        n.d(t, "gb", function () {
+          return H.a;
+        }),
+        n.d(t, "Fb", function () {
+          return G.a;
+        }),
+        n.d(t, "Oc", function () {
+          return W.a;
+        }),
+        n.d(t, "n", function () {
+          return Q.a;
+        }),
+        n.d(t, "m", function () {
+          return Z;
+        }),
+        n.d(t, "q", function () {
+          return ce;
+        }),
+        n.d(t, "r", function () {}),
+        n.d(t, "T", function () {
+          return he;
+        }),
+        n.d(t, "S", function () {
+          return be;
+        }),
+        n.d(t, "Tb", function () {
+          return Se;
+        }),
+        n.d(t, "vb", function () {
+          return Ce;
+        }),
+        n.d(t, "w", function () {
+          return fn;
+        }),
+        n.d(t, "cc", function () {
+          return dn;
+        }),
+        n.d(t, "dc", function () {
+          return Qt;
+        }),
+        n.d(t, "ec", function () {
+          return Yt;
+        }),
+        n.d(t, "Kb", function () {
+          return pn;
+        }),
+        n.d(t, "Jb", function () {
+          return hn;
+        }),
+        n.d(t, "Fc", function () {
+          return Mn;
+        }),
+        n.d(t, "pc", function () {
+          return Vt;
+        }),
+        n.d(t, "L", function () {
+          return In;
+        }),
+        n.d(t, "Lb", function () {
+          return Hn;
+        }),
+        n.d(t, "Mb", function () {
+          return Nn;
+        }),
+        n.d(t, "Ec", function () {
+          return Xn;
+        }),
+        n.d(t, "lc", function () {
+          return ur;
+        }),
+        n.d(t, "hb", function () {
+          return lt;
+        }),
+        n.d(t, "ib", function () {
+          return Re;
+        }),
+        n.d(t, "Sb", function () {
+          return fr.a;
+        }),
+        n.d(t, "yc", function () {
+          return dr.a;
+        }),
+        n.d(t, "xc", function () {
+          return Or;
+        }),
+        n.d(t, "ub", function () {
+          return kr.a;
+        }),
+        n.d(t, "vc", function () {
+          return zr;
+        }),
+        n.d(t, "y", function () {
+          return ha;
+        }),
+        n.d(t, "Rb", function () {
+          return Ea;
+        }),
+        n.d(t, "yb", function () {
+          return sa;
+        }),
+        n.d(t, "zb", function () {
+          return ea;
+        }),
+        n.d(t, "Cb", function () {
+          return Fa;
+        }),
+        n.d(t, "Bb", function () {
+          return La;
+        }),
+        n.d(t, "Eb", function () {
+          return Ha;
+        }),
+        n.d(t, "Ab", function () {
+          return Ga;
+        }),
+        n.d(t, "Db", function () {
+          return Wa;
+        }),
+        n.d(t, "gc", function () {
+          return oo;
+        }),
+        n.d(t, "sc", function () {
+          return Yo;
+        }),
+        n.d(t, "tc", function () {
+          return ti;
+        }),
+        n.d(t, "uc", function () {
+          return Aa;
+        }),
+        n.d(t, "qc", function () {
+          return Ra;
+        }),
+        n.d(t, "rc", function () {
+          return ii;
+        }),
+        n.d(t, "g", function () {
+          return Ai;
+        }),
+        n.d(t, "h", function () {
+          return bi;
+        }),
+        n.d(t, "k", function () {}),
+        n.d(t, "i", function () {
+          return vi;
+        }),
+        n.d(t, "j", function () {
+          return yi;
+        }),
+        n.d(t, "W", function () {
+          return Bi;
+        }),
+        n.d(t, "X", function () {
+          return Yl;
+        }),
+        n.d(t, "Z", function () {
+          return Ps;
+        }),
+        n.d(t, "db", function () {
+          return Ms;
+        }),
+        n.d(t, "Y", function () {
+          return Ll;
+        }),
+        n.d(t, "e", function () {
+          return ko;
+        }),
+        n.d(t, "f", function () {
+          return Oo;
+        }),
+        n.d(t, "cb", function () {
+          return Is.GraphTooltipOptions;
+        }),
+        n.d(t, "Ic", function () {
+          return Us;
+        }),
+        n.d(t, "pb", function () {
+          return Kl.LegendOptions;
+        }),
+        n.d(t, "lb", function () {
+          return Kl.LegendBasicOptions;
+        }),
+        n.d(t, "rb", function () {
+          return Kl.LegendRenderOptions;
+        }),
+        n.d(t, "ob", function () {
+          return Kl.d;
+        }),
+        n.d(t, "sb", function () {
+          return Kl.h;
+        }),
+        n.d(t, "nb", function () {
+          return Kl.LegendItem;
+        }),
+        n.d(t, "qb", function () {
+          return Kl.LegendPlacement;
+        }),
+        n.d(t, "mb", function () {
+          return Kl.b;
+        }),
+        n.d(t, "a", function () {
+          return Gs;
+        }),
+        n.d(t, "b", function () {}),
+        n.d(t, "ab", function () {
+          return rc;
+        }),
+        n.d(t, "bb", function () {}),
+        n.d(t, "v", function () {
+          return yc;
+        }),
+        n.d(t, "D", function () {
+          return vc;
+        }),
+        n.d(t, "wb", function () {
+          return Ec;
+        }),
+        n.d(t, "xb", function () {
+          return fd;
+        }),
+        n.d(t, "Lc", function () {
+          return Wc;
+        }),
+        n.d(t, "Ac", function () {
+          return vd;
+        }),
+        n.d(t, "zc", function () {
+          return yd;
+        }),
+        n.d(t, "V", function () {
+          return Od;
+        }),
+        n.d(t, "wc", function () {
+          return Md;
+        }),
+        n.d(t, "t", function () {
+          return sf.a;
+        }),
+        n.d(t, "Q", function () {
+          return Gd;
+        }),
+        n.d(t, "R", function () {
+          return Jd;
+        }),
+        n.d(t, "hc", function () {}),
+        n.d(t, "Rc", function () {
+          return op;
+        }),
+        n.d(t, "Qc", function () {
+          return ip;
+        }),
+        n.d(t, "Jc", function () {
+          return sp;
+        }),
+        n.d(t, "p", function () {
+          return hp;
+        }),
+        n.d(t, "z", function () {
+          return Cl;
+        }),
+        n.d(t, "B", function () {}),
+        n.d(t, "A", function () {}),
+        n.d(t, "C", function () {}),
+        n.d(t, "H", function () {
+          return eh;
+        }),
+        n.d(t, "F", function () {
+          return qp;
+        }),
+        n.d(t, "G", function () {
+          return oh;
+        }),
+        n.d(t, "fc", function () {
+          return Xi;
+        }),
+        n.d(t, "Tc", function () {
+          return Vh;
+        }),
+        n.d(t, "Cc", function () {
+          return gm;
+        }),
+        n.d(t, "Dc", function () {
+          return Pm;
+        }),
+        n.d(t, "jb", function () {
+          return lm;
+        }),
+        n.d(t, "kb", function () {
+          return em;
+        }),
+        n.d(t, "M", function () {
+          return Bm;
+        }),
+        n.d(t, "N", function () {
+          return $m;
+        }),
+        n.d(t, "O", function () {
+          return Am;
+        }),
+        n.d(t, "c", function () {
+          return Um;
+        }),
+        n.d(t, "I", function () {
+          return Eg;
+        }),
+        n.d(t, "kc", function () {
+          return Cg.a;
+        }),
+        n.d(t, "P", function () {
+          return Pg.a;
+        }),
+        n.d(t, "ic", function () {
+          return Tg.a;
+        }),
+        n.d(t, "Ub", function () {
+          return Ag;
+        }),
+        n.d(t, "Vb", function () {
+          return Fg;
+        }),
+        n.d(t, "Wb", function () {
+          return Bg;
+        }),
+        n.d(t, "Xb", function () {
+          return Ng;
+        }),
+        n.d(t, "s", function () {
+          return Ug;
+        }),
+        n.d(t, "fb", function () {
+          return Y.a;
+        }),
+        n.d(t, "K", function () {
+          return Jg;
+        }),
+        n.d(t, "jc", function () {
+          return ib;
+        }),
+        n.d(t, "oc", function () {
+          return sb;
+        }),
+        n.d(t, "nc", function () {
+          return cb;
+        }),
+        n.d(t, "Sc", function () {
+          return lb;
+        }),
+        n.d(t, "mc", function () {}),
+        n.d(t, "Ib", function () {
+          return fb;
+        }),
+        n.d(t, "Hb", function () {
+          return db;
+        }),
+        n.d(t, "Nc", function () {
+          return ub;
+        }),
+        n.d(t, "Gb", function () {}),
+        n.d(t, "Pc", function () {
+          return pb;
+        }),
+        n.d(t, "bc", function () {
+          return hb;
+        }),
+        n.d(t, "ac", function () {
+          return mb;
+        }),
+        n.d(t, "Zb", function () {}),
+        n.d(t, "U", function () {
+          return s.b;
+        }),
+        n.d(t, "o", function () {
+          return s.a;
+        }),
+        n.d(t, "Gc", function () {
+          return vb;
+        }),
+        n.d(t, "Kc", function () {
+          return Cb;
+        }),
+        n.d(t, "Mc", function () {
+          return Qv;
+        }),
+        n.d(t, "eb", function () {
+          return bv;
+        }),
+        n.d(t, "Hc", function () {
+          return vv;
+        });
+    },
+    aWP2: function (e, t, n) {
+      "use strict";
+      var r = {};
+      n.r(r),
+        n.d(r, "getPreviousCousin", function () {
+          return L;
+        }),
+        n.d(r, "getNextCharacter", function () {
+          return V;
+        });
+      var a = n("3WF5"),
+        o = n.n(a),
+        i = n("xweI"),
+        l = n.n(i),
+        s = n("mRsi"),
+        c = n.n(s),
+        u = n("kcif"),
+        f = n.n(u),
+        d = n("xrec"),
+        p = n.n(d),
+        h = n("Zss7"),
+        m = n.n(h);
+      function g(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      var b = [
+        "#7EB26D",
+        "#EAB839",
+        "#6ED0E0",
+        "#EF843C",
+        "#E24D42",
+        "#1F78C1",
+        "#BA43A9",
+        "#705DA0",
+        "#508642",
+        "#CCA300",
+        "#447EBC",
+        "#C15C17",
+        "#890F02",
+        "#0A437C",
+        "#6D1F62",
+        "#584477",
+        "#B7DBAB",
+        "#F4D598",
+        "#70DBED",
+        "#F9BA8F",
+        "#F29191",
+        "#82B5D8",
+        "#E5A8E2",
+        "#AEA2E0",
+        "#629E51",
+        "#E5AC0E",
+        "#64B0C8",
+        "#E0752D",
+        "#BF1B00",
+        "#0A50A1",
+        "#962D82",
+        "#614D93",
+        "#9AC48A",
+        "#F2C96D",
+        "#65C5DB",
+        "#F9934E",
+        "#EA6460",
+        "#5195CE",
+        "#D683CE",
+        "#806EB7",
+        "#3F6833",
+        "#967302",
+        "#2F575E",
+        "#99440A",
+        "#58140C",
+        "#052B51",
+        "#511749",
+        "#3F2B5B",
+        "#E0F9D7",
+        "#FCEACA",
+        "#CFFAFF",
+        "#F9E2D2",
+        "#FCE2DE",
+        "#BADFF4",
+        "#F9D9F9",
+        "#DEDAF7",
+      ];
+      function v(e) {
+        return m()(e).toHsl();
+      }
+      function y(e) {
+        return m()(e).toHexString();
+      }
+      var w,
+        O,
+        x,
+        k,
+        j,
+        S,
+        E,
+        C =
+          ((w = b),
+          (O = o()(w, v)),
+          (x = l()(O, ["h"])),
+          (k = f()(x, 4)),
+          (j = o()(k, function (e) {
+            return l()(e, "l");
+          })),
+          (S = c()(p.a.apply(void 0, g(j)))),
+          o()(S, y));
+      !(function (e) {
+        (e.onBlur = "onBlur"),
+          (e.onFocus = "onFocus"),
+          (e.onChange = "onChange");
+      })(E || (E = {}));
+      var P = function (e, t) {
+          var n = t.reduce(function (t, n) {
+            return n.rule(e) ? t : t.concat(n.errorMessage);
+          }, []);
+          return n.length > 0 ? n : null;
+        },
+        T = function (e, t) {
+          return t && t[e];
+        },
+        D = function (e, t) {
+          return {
+            rule: function (t) {
+              return !!t.match(e);
+            },
+            errorMessage: t || "Value is not valid",
+          };
+        },
+        A = n("zp0N"),
+        _ = n("nfvv"),
+        N = [
+          "#D32D20",
+          "#1E72B8",
+          "#B240A2",
+          "#705DA0",
+          "#466803",
+          "#497A3C",
+          "#3D71AA",
+          "#B15415",
+          "#890F02",
+          "#6E6E6E",
+          "#0A437C",
+          "#6D1F62",
+          "#584477",
+          "#4C7A3F",
+          "#2F4F4F",
+          "#BF1B00",
+          "#7662B1",
+          "#8A2EB8",
+          "#517A00",
+          "#000000",
+          "#3F6833",
+          "#2F575E",
+          "#99440A",
+          "#AE561A",
+          "#0E4AB4",
+          "#58140C",
+          "#052B51",
+          "#511749",
+          "#3F2B5B",
+        ],
+        M = [
+          "#FF7368",
+          "#459EE7",
+          "#E069CF",
+          "#9683C6",
+          "#6C8E29",
+          "#76AC68",
+          "#6AA4E2",
+          "#E7823D",
+          "#AF3528",
+          "#9B9B9B",
+          "#3069A2",
+          "#934588",
+          "#7E6A9D",
+          "#88C477",
+          "#557575",
+          "#E54126",
+          "#A694DD",
+          "#B054DE",
+          "#8FC426",
+          "#262626",
+          "#658E59",
+          "#557D84",
+          "#BF6A30",
+          "#FF9B53",
+          "#3470DA",
+          "#7E3A32",
+          "#2B5177",
+          "#773D6F",
+          "#655181",
+        ];
+      function I(e) {
+        var t = (function (e) {
+          for (var t = 5381, n = 0; n < e.length; n++)
+            t = (t << 5) + t + e.charCodeAt(n);
+          return t;
+        })(e.toLowerCase());
+        return {
+          color: N[Math.abs(t % N.length)],
+          borderColor: M[Math.abs(t % M.length)],
+        };
+      }
+      var R = n("AZV9"),
+        F = n("Kcoi");
+      function L(e, t) {
+        for (var n, r = e.parentElement.previousSibling; r; ) {
+          if ((n = r.querySelector(t))) return n;
+          r = r.previousSibling;
+        }
+      }
+      function V(e) {
+        var t = (e || window).getSelection();
+        if (!t || !t.anchorNode) return null;
+        var n = t.getRangeAt(0),
+          r = t.anchorNode.textContent,
+          a = n.startOffset;
+        return r.substr(a, 1);
+      }
+      "Element" in window &&
+        !Element.prototype.closest &&
+        (Element.prototype.closest = function (e) {
+          var t,
+            n = (this.document || this.ownerDocument).querySelectorAll(e),
+            r = this;
+          do {
+            for (t = n.length; --t >= 0 && n.item(t) !== r; );
+            r = r.parentElement;
+          } while (t < 0 && r);
+          return r;
+        }),
+        n.d(t, "i", function () {
+          return 4;
+        }),
+        n.d(t, "h", function () {
+          return 14;
+        }),
+        n.d(t, "b", function () {
+          return "rgba(0, 211, 255, 1)";
+        }),
+        n.d(t, "g", function () {
+          return "rgba(11, 237, 50, 1)";
+        }),
+        n.d(t, "a", function () {
+          return "rgba(237, 46, 24, 1)";
+        }),
+        n.d(t, "f", function () {
+          return "rgba(150, 150, 150, 1)";
+        }),
+        n.d(t, "j", function () {
+          return "rgba(247, 149, 32, 1)";
+        }),
+        n.d(t, "k", function () {
+          return 0.09;
+        }),
+        n.d(t, "o", function () {
+          return b;
+        }),
+        n.d(t, "w", function () {
+          return C;
+        }),
+        n.d(t, "e", function () {
+          return E;
+        }),
+        n.d(t, "x", function () {
+          return P;
+        }),
+        n.d(t, "q", function () {
+          return T;
+        }),
+        n.d(t, "v", function () {
+          return D;
+        }),
+        n.d(t, "l", function () {
+          return A.a;
+        }),
+        n.d(t, "s", function () {
+          return A.b;
+        }),
+        n.d(t, "t", function () {
+          return A.c;
+        }),
+        n.d(t, "d", function () {
+          return _.a;
+        }),
+        n.d(t, "r", function () {
+          return _.b;
+        }),
+        n.d(t, "p", function () {
+          return I;
+        }),
+        n.d(t, "u", function () {
+          return R.b;
+        }),
+        n.d(t, "n", function () {
+          return R.a;
+        }),
+        n.d(t, "m", function () {
+          return F.a;
+        }),
+        n.d(t, "c", function () {
+          return r;
+        });
+    },
+    atUN: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return w;
+      });
+      var r = n("q1tI"),
+        a = n("51gB"),
+        o = n.n(a),
+        i = n("Obii"),
+        l = n("/MKj"),
+        s = n("GQ3c"),
+        c = n("Xmxp"),
+        u = n("UIT+"),
+        f = n("13X4"),
+        d = n("NXk7");
+      function p(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function h(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function m(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? h(Object(n), !0).forEach(function (t) {
+                g(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : h(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function g(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function b(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function v(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              b(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              b(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      var y = (function () {
+          var e = v(
+            regeneratorRuntime.mark(function e(t, n, r) {
+              var a;
+              return regeneratorRuntime.wrap(function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      return (
+                        (a =
+                          n.folderId >= 0
+                            ? n.folderId
+                            : r.meta.folderId || t.folderId),
+                        (e.next = 3),
+                        Object(d.c)().saveDashboard(
+                          t,
+                          m({}, n, { folderId: a })
+                        )
+                      );
+                    case 3:
+                      return e.abrupt("return", e.sent);
+                    case 4:
+                    case "end":
+                      return e.stop();
+                  }
+              }, e);
+            })
+          );
+          return function (t, n, r) {
+            return e.apply(this, arguments);
+          };
+        })(),
+        w = function (e) {
+          var t = Object(l.useSelector)(function (e) {
+              return e.location;
+            }),
+            n = Object(l.useDispatch)(),
+            a = p(
+              o()(
+                (function () {
+                  var e = v(
+                    regeneratorRuntime.mark(function e(t, n, r) {
+                      return regeneratorRuntime.wrap(function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return (e.next = 2), y(t, n, r);
+                            case 2:
+                              return e.abrupt("return", e.sent);
+                            case 3:
+                            case "end":
+                              return e.stop();
+                          }
+                      }, e);
+                    })
+                  );
+                  return function (t, n, r) {
+                    return e.apply(this, arguments);
+                  };
+                })(),
+                []
+              ),
+              2
+            ),
+            d = a[0],
+            h = a[1];
+          return (
+            Object(r.useEffect)(
+              function () {
+                if (d.value) {
+                  (e.version = d.value.version),
+                    c.b.emit(s.CoreEvents.dashboardSaved, e),
+                    c.b.emit(i.AppEvents.alertSuccess, ["Dashboard saved"]);
+                  var r = u.b.stripBaseFromUrl(d.value.url);
+                  r !== t.path &&
+                    n(Object(f.b)({ path: r, replace: !0, query: {} }));
+                }
+              },
+              [d]
+            ),
+            { state: d, onDashboardSave: h }
+          );
+        };
+    },
+    "b+mb": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return o;
+      });
+      var r = n("KgU3"),
+        a = function (e, t) {
+          var n = e.reduce(function (e, n) {
+            return (
+              n.type === r.MappingType.ValueToText
+                ? (e = (function (e, t, n) {
+                    if (void 0 === t.value) return e;
+                    if (null === n && i(t)) return e.concat(t);
+                    var r = parseFloat(n),
+                      a = parseFloat(t.value);
+                    return isNaN(r) || isNaN(a) ? e : r !== a ? e : e.concat(t);
+                  })(e, n, t))
+                : n.type === r.MappingType.RangeToText &&
+                  (e = (function (e, t, n) {
+                    if (void 0 === t.from || void 0 === t.to || void 0 === n)
+                      return e;
+                    if (
+                      null === n &&
+                      t.from &&
+                      t.to &&
+                      "null" === t.from.toLowerCase() &&
+                      "null" === t.to.toLowerCase()
+                    )
+                      return e.concat(t);
+                    var r = parseFloat(n),
+                      a = parseFloat(t.from),
+                      o = parseFloat(t.to);
+                    return isNaN(r) || isNaN(a) || isNaN(o)
+                      ? e
+                      : r >= a && r <= o
+                      ? e.concat(t)
+                      : e;
+                  })(e, n, t)),
+              e
+            );
+          }, []);
+          return (
+            n.sort(function (e, t) {
+              return e.id - t.id;
+            }),
+            n
+          );
+        },
+        o = function (e, t) {
+          return a(e, t)[0];
+        },
+        i = function (e) {
+          return !(!e || !e.value) && "null" === e.value.toLowerCase();
+        };
+    },
+    "bDa/": function (e, t) {
+      var n = "public/app/features/panel/panellinks/module.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=editor-row>\n\t<div class=gf-form-group ng-repeat="link in panel.links">\n\t\t<div class=section>\n\t\t\t<div class="gf-form max-width-25">\n\t\t\t\t<span class="gf-form-label width-7">Type</span>\n\t\t\t\t<div class="gf-form-select-wrapper gf-form--grow">\n\t\t\t\t\t<select class=gf-form-input ng-model=link.type ng-options="f for f in [\'dashboard\',\'absolute\']"></select>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class="gf-form max-width-25">\n\t\t\t\t<span class="gf-form-label width-7" ng-show="link.type === \'dashboard\'">Dashboard</span>\n\t\t\t\t<input ng-show="link.type === \'dashboard\'" type=text ng-model=link.dashboard bs-typeahead=searchDashboards class=gf-form-input ng-blur=dashboardChanged(link)>\n\n\t\t\t\t<span class="gf-form-label width-7" ng-show="link.type === \'absolute\'">Url</span>\n\t\t\t\t<input ng-show="link.type === \'absolute\'" type=text ng-model=link.url class="gf-form-input max-width-14">\n\t\t\t</div>\n\n\t\t\t<div class="gf-form max-width-25">\n\t\t\t\t<div class="gf-form-label width-7">Title</div>\n\t\t\t\t<input type=text ng-model=link.title class=gf-form-input>\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=section>\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class="gf-form-label width-10">Url params</span>\n\t\t\t\t<input type=text ng-model=link.params class="gf-form-input width-10">\n\t\t\t</div>\n\n\t\t\t<gf-form-switch class=gf-form label-class=width-10 label="Include time range" checked=link.keepTime></gf-form-switch>\n\t\t\t<gf-form-switch class=gf-form label-class=width-10 label="Include variables" checked=link.includeVars></gf-form-switch>\n\t\t\t<gf-form-switch class=gf-form label-class=width-10 label="Open in new tab " checked=link.targetBlank></gf-form-switch>\n\t\t</div>\n\n\t\t<div class=section>\n\t\t\t<div class=gf-form>\n\t\t\t\t<button class="btn btn-inverse gf-form-btn" ng-click=deleteLink(link)><i class="fa fa-trash"></i> Remove Link</button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div class=editor-row>\n\t<button class="btn btn-inverse" ng-click=addLink()><i class="fa fa-plus"></i> Add link</button>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    bDvK: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return h;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("E5F5");
+      function i(e) {
+        return (i =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function l(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function s(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function c(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function u(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function f(e, t) {
+        return !t || ("object" !== i(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function d(e) {
+        return (d = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function p(e, t) {
+        return (p =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var h = (function (e) {
+        function t() {
+          var e, n;
+          c(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = f(
+              this,
+              (e = d(t)).call.apply(e, [this].concat(a))
+            )).onChange = function (e) {
+              (0, n.props.onChange)(e);
+            }),
+            n
+          );
+        }
+        var n, r, i;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && p(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e,
+                  t = this.props,
+                  n = t.className,
+                  r = t.options,
+                  i = t.value,
+                  c = t.label,
+                  u = t.iconClass,
+                  f = t.components,
+                  d = t.maxMenuHeight,
+                  p = t.tooltipContent,
+                  h = t.isMenuOpen,
+                  m = t.onOpenMenu,
+                  g = t.onCloseMenu,
+                  b = t.tabSelectsValue,
+                  v = t.autoFocus,
+                  y = void 0 === v || v,
+                  w = (function (e) {
+                    for (var t = 1; t < arguments.length; t++) {
+                      var n = null != arguments[t] ? arguments[t] : {};
+                      t % 2
+                        ? l(Object(n), !0).forEach(function (t) {
+                            s(e, t, n[t]);
+                          })
+                        : Object.getOwnPropertyDescriptors
+                        ? Object.defineProperties(
+                            e,
+                            Object.getOwnPropertyDescriptors(n)
+                          )
+                        : l(Object(n)).forEach(function (t) {
+                            Object.defineProperty(
+                              e,
+                              t,
+                              Object.getOwnPropertyDescriptor(n, t)
+                            );
+                          });
+                    }
+                    return e;
+                  })({}, f, {
+                    Control:
+                      ((e = { label: c, className: n, iconClass: u }),
+                      function (t) {
+                        var n = e.label,
+                          r = e.className,
+                          o = e.iconClass;
+                        return a.a.createElement(
+                          "div",
+                          {
+                            ref: t.innerRef,
+                            className: "btn navbar-button navbar-button--tight ".concat(
+                              r
+                            ),
+                            onClick: t.selectProps.menuIsOpen
+                              ? t.selectProps.onMenuClose
+                              : t.selectProps.onMenuOpen,
+                            onBlur: t.selectProps.onMenuClose,
+                            tabIndex: 0,
+                          },
+                          a.a.createElement(
+                            "div",
+                            { className: "select-button" },
+                            o &&
+                              a.a.createElement("i", {
+                                className: "select-button-icon ".concat(o),
+                              }),
+                            a.a.createElement(
+                              "span",
+                              { className: "select-button-value" },
+                              n || ""
+                            ),
+                            !t.menuIsOpen &&
+                              a.a.createElement("i", {
+                                className: "fa fa-caret-down fa-fw",
+                              }),
+                            t.menuIsOpen &&
+                              a.a.createElement("i", {
+                                className: "fa fa-caret-up fa-fw",
+                              })
+                          )
+                        );
+                      }),
+                  });
+                return a.a.createElement(o.c, {
+                  autoFocus: y,
+                  backspaceRemovesValue: !1,
+                  isClearable: !1,
+                  isSearchable: !1,
+                  options: r,
+                  onChange: this.onChange,
+                  value: i,
+                  isOpen: h,
+                  onOpenMenu: m,
+                  onCloseMenu: g,
+                  maxMenuHeight: d,
+                  components: w,
+                  className: "gf-form-select-box-button-select",
+                  tooltipContent: p,
+                  tabSelectsValue: b,
+                });
+              },
+            },
+          ]) && u(n.prototype, r),
+          i && u(n, i),
+          t
+        );
+      })(r.PureComponent);
+    },
+    bMS5: function (e, t, n) {
+      "use strict";
+      n.d(t, "b", function () {
+        return i;
+      }),
+        n.d(t, "a", function () {
+          return l;
+        });
+      var r = n("LvDl"),
+        a = n.n(r);
+      function o(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      var i = function (e) {
+        return a.a.find("ABCDEFGHIJKLMNOPQRSTUVWXYZ", function (t) {
+          return a.a.every(e, function (e) {
+            return e.refId !== t;
+          });
+        });
+      };
+      function l(e, t) {
+        var n = t || {};
+        return (n.refId = i(e)), [].concat(o(e), [n]);
+      }
+    },
+    "bR/a": function (e, t) {
+      var n =
+        "public/app/plugins/datasource/elasticsearch/partials/query.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<query-editor-row query-ctrl=ctrl can-collapse=true>\n\n\t<div class=gf-form-inline>\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<label class="gf-form-label query-keyword width-7">Query</label>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.target.query spellcheck=false placeholder="Lucene query" ng-blur=ctrl.refresh()>\n\t\t</div>\n\t\t<div class="gf-form max-width-15">\n\t\t\t<label class="gf-form-label query-keyword">Alias</label>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.target.alias spellcheck=false placeholder="alias patterns" ng-blur=ctrl.refresh()>\n\t\t</div>\n\t</div>\n\n\t<div ng-repeat="agg in ctrl.target.metrics">\n\t\t<elastic-metric-agg target=ctrl.target index=$index get-fields=ctrl.getFields($fieldType) on-change=ctrl.queryUpdated() es-version=ctrl.esVersion>\n\t\t</elastic-metric-agg>\n\t</div>\n\n\t<div ng-repeat="agg in ctrl.target.bucketAggs">\n\t\t<elastic-bucket-agg target=ctrl.target index=$index get-fields=ctrl.getFields($fieldType) on-change=ctrl.queryUpdated()>\n\t\t</elastic-bucket-agg>\n\t</div>\n\n</query-editor-row>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    bTeP: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return p;
+      });
+      var r = n("q1tI"),
+        a = n("i8i4"),
+        o = n.n(a);
+      function i(e) {
+        return (i =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function l(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function s(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function c(e, t) {
+        return !t || ("object" !== i(t) && "function" != typeof t) ? f(e) : t;
+      }
+      function u(e) {
+        return (u = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function f(e) {
+        if (void 0 === e)
+          throw new ReferenceError(
+            "this hasn't been initialised - super() hasn't been called"
+          );
+        return e;
+      }
+      function d(e, t) {
+        return (d =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var p = (function (e) {
+        function t() {
+          var e, n;
+          l(this, t);
+          for (var r = arguments.length, a = new Array(r), i = 0; i < r; i++)
+            a[i] = arguments[i];
+          return (
+            ((n = c(this, (e = u(t)).call.apply(e, [this].concat(a)))).state = {
+              hasEventListener: !1,
+            }),
+            (n.onOutsideClick = function (e) {
+              var t = o.a.findDOMNode(f(n));
+              (t && t.contains(e.target)) || n.props.onClick();
+            }),
+            n
+          );
+        }
+        var n, r, a;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && d(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "componentDidMount",
+              value: function () {
+                window.addEventListener("click", this.onOutsideClick, !1);
+              },
+            },
+            {
+              key: "componentWillUnmount",
+              value: function () {
+                window.removeEventListener("click", this.onOutsideClick, !1);
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                return this.props.children;
+              },
+            },
+          ]) && s(n.prototype, r),
+          a && s(n, a),
+          t
+        );
+      })(r.PureComponent);
+    },
+    "bY+8": function (e, t, n) {
+      "use strict";
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDLi");
+      function i(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      var l = { label: "-- remove stat --", value: "-- remove stat --" },
+        s = function (e) {
+          var t = e.stats,
+            n = e.values,
+            r = e.onChange,
+            s = e.variableOptionGroup;
+          return a.a.createElement(
+            a.a.Fragment,
+            null,
+            n &&
+              n.map(function (e, c) {
+                return a.a.createElement(o.Segment, {
+                  allowCustomValue: !0,
+                  key: e + c,
+                  value: e,
+                  options: [l].concat(i(t), [s]),
+                  onChange: function (e) {
+                    var t = e.value;
+                    return r(
+                      "-- remove stat --" === t
+                        ? n.filter(function (e, t) {
+                            return t !== c;
+                          })
+                        : n.map(function (e, n) {
+                            return n === c ? t : e;
+                          })
+                    );
+                  },
+                });
+              }),
+            a.a.createElement(o.Segment, {
+              Component: a.a.createElement(
+                "a",
+                { className: "gf-form-label query-part" },
+                a.a.createElement("i", { className: "fa fa-plus" })
+              ),
+              allowCustomValue: !0,
+              onChange: function (e) {
+                var t = e.value;
+                return r([].concat(i(n), [t]));
+              },
+              options: [].concat(
+                i(
+                  t.filter(function (e) {
+                    var t = e.value;
+                    return !n.includes(t);
+                  })
+                ),
+                [s]
+              ),
+            })
+          );
+        },
+        c = n("Y+p1"),
+        u = n.n(c);
+      function f(e) {
+        return (f =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function d(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function p(e) {
+        var t = (function (e, t) {
+          if ("object" !== f(e) || null === e) return e;
+          var n = e[Symbol.toPrimitive];
+          if (void 0 !== n) {
+            var r = n.call(e, t || "default");
+            if ("object" !== f(r)) return r;
+            throw new TypeError("@@toPrimitive must return a primitive value.");
+          }
+          return ("string" === t ? String : Number)(e);
+        })(e, "string");
+        return "symbol" === f(t) ? t : String(t);
+      }
+      function h(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function m(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function g(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? m(Object(n), !0).forEach(function (t) {
+                b(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : m(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function b(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function v(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      var y = {
+          label: "-- remove dimension --",
+          value: "-- remove dimension --",
+        },
+        w = function (e) {
+          var t = e.dimensions,
+            n = e.loadValues,
+            i = e.loadKeys,
+            l = e.onChange,
+            s = v(Object(r.useState)(t), 2),
+            c = s[0],
+            f = s[1];
+          Object(r.useEffect)(
+            function () {
+              var e = Object.entries(c).reduce(function (e, t) {
+                var n = v(t, 2),
+                  r = n[0],
+                  a = n[1];
+                return a ? g({}, e, b({}, r, a)) : e;
+              }, {});
+              u()(e, t) || l(e);
+            },
+            [c]
+          );
+          var m = function (e) {
+            return e.filter(function (e) {
+              var t = e.value;
+              return !Object.keys(c).includes(t);
+            });
+          };
+          return a.a.createElement(
+            a.a.Fragment,
+            null,
+            Object.entries(c).map(function (e, t) {
+              var l = v(e, 2),
+                s = l[0],
+                u = l[1];
+              return a.a.createElement(
+                r.Fragment,
+                { key: t },
+                a.a.createElement(o.SegmentAsync, {
+                  allowCustomValue: !0,
+                  value: s,
+                  loadOptions: function () {
+                    return i().then(function (e) {
+                      return [y].concat(h(m(e)));
+                    });
+                  },
+                  onChange: function (e) {
+                    var t = e.value,
+                      n = (c[s], d(c, [s].map(p)));
+                    f(
+                      "-- remove dimension --" === t
+                        ? g({}, n)
+                        : g({}, n, b({}, t, ""))
+                    );
+                  },
+                }),
+                a.a.createElement(
+                  "label",
+                  { className: "gf-form-label query-segment-operator" },
+                  "="
+                ),
+                a.a.createElement(o.SegmentAsync, {
+                  allowCustomValue: !0,
+                  value: u,
+                  placeholder: "select dimension value",
+                  loadOptions: function () {
+                    return n(s);
+                  },
+                  onChange: function (e) {
+                    var t = e.value;
+                    return f(g({}, c, b({}, s, t)));
+                  },
+                }),
+                Object.values(c).length > 1 &&
+                  t + 1 !== Object.values(c).length &&
+                  a.a.createElement(
+                    "label",
+                    { className: "gf-form-label query-keyword" },
+                    "AND"
+                  )
+              );
+            }),
+            Object.values(c).every(function (e) {
+              return e;
+            }) &&
+              a.a.createElement(o.SegmentAsync, {
+                allowCustomValue: !0,
+                Component: a.a.createElement(
+                  "a",
+                  { className: "gf-form-label query-part" },
+                  a.a.createElement("i", { className: "fa fa-plus" })
+                ),
+                loadOptions: function () {
+                  return i().then(m);
+                },
+                onChange: function (e) {
+                  var t = e.value;
+                  return f(g({}, c, b({}, t, "")));
+                },
+              })
+          );
+        },
+        O = function (e) {
+          var t = e.label,
+            n = e.tooltip,
+            r = e.children;
+          return a.a.createElement(
+            a.a.Fragment,
+            null,
+            a.a.createElement(
+              o.FormLabel,
+              { width: 8, className: "query-keyword", tooltip: n },
+              t
+            ),
+            r
+          );
+        },
+        x = function (e) {
+          var t = Object.assign({}, e);
+          return a.a.createElement(
+            "div",
+            { className: "gf-form-inline" },
+            a.a.createElement(O, t),
+            a.a.createElement(
+              "div",
+              { className: "gf-form gf-form--grow" },
+              a.a.createElement("div", {
+                className: "gf-form-label gf-form-label--grow",
+              })
+            )
+          );
+        },
+        k = n("LvDl");
+      function j(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      var S = function (e) {
+        var t = e.value,
+          n = void 0 === t ? "" : t,
+          i = e.onChange,
+          l = j(Object(r.useState)(n), 2),
+          s = l[0],
+          c = l[1],
+          u = Object(k.debounce)(i, 1500);
+        return (
+          (i = function (e) {
+            c(e.target.value), u(e.target.value);
+          }),
+          a.a.createElement(o.Input, {
+            type: "text",
+            className: "gf-form-input width-16",
+            value: s,
+            onChange: i,
+          })
+        );
+      };
+      function E(e) {
+        return (E =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function C(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function P(e) {
+        var t = (function (e, t) {
+          if ("object" !== E(e) || null === e) return e;
+          var n = e[Symbol.toPrimitive];
+          if (void 0 !== n) {
+            var r = n.call(e, t || "default");
+            if ("object" !== E(r)) return r;
+            throw new TypeError("@@toPrimitive must return a primitive value.");
+          }
+          return ("string" === t ? String : Number)(e);
+        })(e, "string");
+        return "symbol" === E(t) ? t : String(t);
+      }
+      function T(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function D(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function A(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function _(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? A(Object(n), !0).forEach(function (t) {
+                N(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : A(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function N(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function M(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function I(e) {
+        var t = e.query,
+          n = e.datasource,
+          i = e.onChange,
+          l = e.onRunQuery,
+          c = void 0 === l ? function () {} : l,
+          u =
+            (e.hideWilcard,
+            M(
+              Object(r.useState)({
+                regions: [],
+                namespaces: [],
+                metricNames: [],
+                variableOptionGroup: {},
+                showMeta: !1,
+              }),
+              2
+            )),
+          f = u[0],
+          d = u[1];
+        Object(r.useEffect)(function () {
+          var e = { label: "Template Variables", options: n.variables.map(m) };
+          Promise.all([
+            n.metricFindQuery("regions()"),
+            n.metricFindQuery("namespaces()"),
+          ]).then(function (t) {
+            var n = M(t, 2),
+              r = n[0],
+              a = n[1];
+            d(
+              _({}, f, {
+                regions: [].concat(D(r), [e]),
+                namespaces: [].concat(D(a), [e]),
+                variableOptionGroup: e,
+              })
+            );
+          });
+        }, []);
+        var p = (function () {
+            var e,
+              r =
+                ((e = regeneratorRuntime.mark(function e() {
+                  var r, a;
+                  return regeneratorRuntime.wrap(function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (
+                            (r = t.namespace),
+                            (a = t.region),
+                            e.abrupt(
+                              "return",
+                              n
+                                .metricFindQuery(
+                                  "metrics(".concat(r, ",").concat(a, ")")
+                                )
+                                .then(h)
+                            )
+                          );
+                        case 2:
+                        case "end":
+                          return e.stop();
+                      }
+                  }, e);
+                })),
+                function () {
+                  var t = this,
+                    n = arguments;
+                  return new Promise(function (r, a) {
+                    var o = e.apply(t, n);
+                    function i(e) {
+                      T(o, r, a, i, l, "next", e);
+                    }
+                    function l(e) {
+                      T(o, r, a, i, l, "throw", e);
+                    }
+                    i(void 0);
+                  });
+                });
+            return function () {
+              return r.apply(this, arguments);
+            };
+          })(),
+          h = function (e) {
+            return [].concat(D(e), [
+              { label: "Template Variables", options: n.variables.map(m) },
+            ]);
+          },
+          m = function (e) {
+            return { label: e, value: e };
+          },
+          g = function (e) {
+            i(e), c();
+          },
+          b = f.regions,
+          v = f.namespaces,
+          y = f.variableOptionGroup;
+        return a.a.createElement(
+          a.a.Fragment,
+          null,
+          a.a.createElement(
+            x,
+            { label: "Region" },
+            a.a.createElement(o.Segment, {
+              value: t.region,
+              placeholder: "Select region",
+              options: b,
+              allowCustomValue: !0,
+              onChange: function (e) {
+                var n = e.value;
+                return g(_({}, t, { region: n }));
+              },
+            })
+          ),
+          0 === t.expression.length &&
+            a.a.createElement(
+              a.a.Fragment,
+              null,
+              a.a.createElement(
+                x,
+                { label: "Namespace" },
+                a.a.createElement(o.Segment, {
+                  value: t.namespace,
+                  placeholder: "Select namespace",
+                  allowCustomValue: !0,
+                  options: v,
+                  onChange: function (e) {
+                    var n = e.value;
+                    return g(_({}, t, { namespace: n }));
+                  },
+                })
+              ),
+              a.a.createElement(
+                x,
+                { label: "Metric Name" },
+                a.a.createElement(o.SegmentAsync, {
+                  value: t.metricName,
+                  placeholder: "Select metric name",
+                  allowCustomValue: !0,
+                  loadOptions: p,
+                  onChange: function (e) {
+                    var n = e.value;
+                    return g(_({}, t, { metricName: n }));
+                  },
+                })
+              ),
+              a.a.createElement(
+                x,
+                { label: "Stats" },
+                a.a.createElement(s, {
+                  stats: n.standardStatistics.map(m),
+                  values: t.statistics,
+                  onChange: function (e) {
+                    return g(_({}, t, { statistics: e }));
+                  },
+                  variableOptionGroup: y,
+                })
+              ),
+              a.a.createElement(
+                x,
+                { label: "Dimensions" },
+                a.a.createElement(w, {
+                  dimensions: t.dimensions,
+                  onChange: function (e) {
+                    return g(_({}, t, { dimensions: e }));
+                  },
+                  loadKeys: function () {
+                    return n.getDimensionKeys(t.namespace, t.region).then(h);
+                  },
+                  loadValues: function (e) {
+                    var r = t.dimensions,
+                      a = (r[e], C(r, [e].map(P))),
+                      o = Object.entries(a).reduce(function (e, t) {
+                        var n = M(t, 2),
+                          r = n[0],
+                          a = n[1];
+                        return "*" === a ? e : _({}, e, N({}, r, a));
+                      }, {});
+                    return n
+                      .getDimensionValues(
+                        t.region,
+                        t.namespace,
+                        t.metricName,
+                        e,
+                        o
+                      )
+                      .then(function (e) {
+                        return e.length
+                          ? [{ value: "*", text: "*", label: "*" }].concat(D(e))
+                          : e;
+                      })
+                      .then(h);
+                  },
+                })
+              )
+            )
+        );
+      }
+      n.d(t, "f", function () {
+        return s;
+      }),
+        n.d(t, "b", function () {
+          return w;
+        }),
+        n.d(t, "e", function () {
+          return x;
+        }),
+        n.d(t, "c", function () {
+          return O;
+        }),
+        n.d(t, "a", function () {
+          return S;
+        }),
+        n.d(t, "d", function () {
+          return I;
+        });
+    },
+    buVq: function (e, t, n) {
+      "use strict";
+      n.d(t, "c", function () {
+        return r;
+      }),
+        n.d(t, "a", function () {
+          return a;
+        }),
+        n.d(t, "b", function () {
+          return o;
+        }),
+        n.d(t, "d", function () {
+          return i;
+        }),
+        n.d(t, "e", function () {
+          return l;
+        }),
+        n.d(t, "f", function () {
+          return s;
+        }),
+        n.d(t, "g", function () {
+          return c;
+        }),
+        n.d(t, "h", function () {
+          return u;
+        });
+      var r = "00000000-0000-0000-0000-000000000000",
+        a = "All",
+        o = "$__all",
+        i = "None",
+        l = "",
+        s = function (e, t) {
+          return e[t];
+        },
+        c = function (e) {
+          return { type: e.type, uuid: e.uuid };
+        };
+      function u(e, t) {
+        return { type: e.type, uuid: e.uuid, data: t };
+      }
+    },
+    cFxn: function (e, t) {},
+    cZsJ: function (e, t) {
+      var n = "public/app/plugins/panel/graph/tab_drilldown_links.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            "<drilldown-links-editor value=ctrl.panel.options.dataLinks suggestions=ctrl.linkVariableSuggestions on-change=ctrl.onDataLinksChange></drilldown-links-editor>\n"
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    coz7: function (e, t) {
+      var n = "public/app/features/dashboard/components/SubMenu/template.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=submenu-controls ng-hide="ctrl.submenuEnabled === false">\n  <div ng-repeat="variable in ctrl.variables" ng-hide="variable.hide === 2" class="submenu-item gf-form-inline" aria-label={{::ctrl.selectors.submenuItem}}>\n    <div class=gf-form>\n      <label class="gf-form-label template-variable" ng-hide="variable.hide === 1" aria-label="{{ctrl.selectors.submenuItemLabels(variable.label || variable.name)}}">{{variable.label || variable.name}}</label>\n      <value-select-dropdown ng-if="variable.type !== \'adhoc\' && variable.type !== \'textbox\'" dashboard=ctrl.dashboard variable=variable on-updated=ctrl.variableUpdated(variable)></value-select-dropdown>\n      <input type=text ng-if="variable.type === \'textbox\'" ng-model=variable.query class="gf-form-input width-12" ng-blur="variable.current.value != variable.query && variable.updateOptions() && ctrl.variableUpdated(variable);" ng-keydown="$event.keyCode === 13 && variable.current.value != variable.query && variable.updateOptions() && ctrl.variableUpdated(variable);"/>\n    </div>\n    <ad-hoc-filters ng-if="variable.type === \'adhoc\'" variable=variable dashboard=ctrl.dashboard></ad-hoc-filters>\n  </div>\n\n  <div ng-if="ctrl.dashboard.annotations.list.length > 0">\n    <div ng-repeat="annotation in ctrl.dashboard.annotations.list" ng-hide=annotation.hide class=submenu-item ng-class="{\'annotation-disabled\': !annotation.enable}">\n      <gf-form-switch class=gf-form label={{annotation.name}} checked=annotation.enable on-change=ctrl.annotationStateChanged()></gf-form-switch>\n    </div>\n  </div>\n\n  <div class="gf-form gf-form--grow"></div>\n\n  <div ng-if="ctrl.dashboard.links.length > 0">\n    <dash-links-container links=ctrl.dashboard.links dashboard=ctrl.dashboard class=gf-form-inline></dash-links-container>\n  </div>\n\n  <div class=clearfix></div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    cytP: function (e, t) {
+      var n =
+        "public/app/plugins/datasource/stackdriver/partials/annotations.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            "<stackdriver-annotation-query-editor target=ctrl.annotation.target on-query-change=(ctrl.onQueryChange) datasource=ctrl.datasource template-srv=ctrl.templateSrv></stackdriver-annotation-query-editor>\n"
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    dQag: function (e, t) {
+      var n =
+        "public/app/plugins/datasource/grafana/partials/query.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<query-editor-row query-ctrl=ctrl can-collapse=false>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<label class=gf-form-label>Test data: random walk</label>\n\t\t</div>\n\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<div class="gf-form-label gf-form-label--grow"></div>\n\t\t</div>\n\t</div>\n</query-editor-row>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    dcGt: function (e, t, n) {
+      "use strict";
+      n.d(t, "i", function () {
+        return s;
+      }),
+        n.d(t, "g", function () {
+          return u;
+        }),
+        n.d(t, "e", function () {
+          return f;
+        }),
+        n.d(t, "d", function () {
+          return d;
+        }),
+        n.d(t, "c", function () {
+          return p;
+        }),
+        n.d(t, "h", function () {
+          return h;
+        }),
+        n.d(t, "j", function () {
+          return m;
+        }),
+        n.d(t, "b", function () {
+          return g;
+        }),
+        n.d(t, "a", function () {
+          return b;
+        }),
+        n.d(t, "f", function () {
+          return v;
+        });
+      var r = n("i7Pf");
+      function a(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function o(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var i = { id: "", isValid: !0, errors: {}, name: "", extended: null },
+        l = Object(r.c)({
+          name: "templating/editor",
+          initialState: i,
+          reducers: {
+            setIdInEditor: function (e, t) {
+              e.id = t.payload.id;
+            },
+            clearIdInEditor: function (e, t) {
+              e.id = "";
+            },
+            variableEditorMounted: function (e, t) {
+              e.name = t.payload.name;
+            },
+            variableEditorUnMounted: function (e, t) {
+              return i;
+            },
+            changeVariableNameSucceeded: function (e, t) {
+              (e.name = t.payload.data),
+                delete e.errors.name,
+                (e.isValid = 0 === Object.keys(e.errors).length);
+            },
+            changeVariableNameFailed: function (e, t) {
+              (e.name = t.payload.newName),
+                (e.errors.name = t.payload.errorText),
+                (e.isValid = 0 === Object.keys(e.errors).length);
+            },
+            addVariableEditorError: function (e, t) {
+              (e.errors[t.payload.errorProp] = t.payload.errorText),
+                (e.isValid = 0 === Object.keys(e.errors).length);
+            },
+            removeVariableEditorError: function (e, t) {
+              delete e.errors[t.payload.errorProp],
+                (e.isValid = 0 === Object.keys(e.errors).length);
+            },
+            changeVariableEditorExtended: function (e, t) {
+              e.extended = (function (e) {
+                for (var t = 1; t < arguments.length; t++) {
+                  var n = null != arguments[t] ? arguments[t] : {};
+                  t % 2
+                    ? a(Object(n), !0).forEach(function (t) {
+                        o(e, t, n[t]);
+                      })
+                    : Object.getOwnPropertyDescriptors
+                    ? Object.defineProperties(
+                        e,
+                        Object.getOwnPropertyDescriptors(n)
+                      )
+                    : a(Object(n)).forEach(function (t) {
+                        Object.defineProperty(
+                          e,
+                          t,
+                          Object.getOwnPropertyDescriptor(n, t)
+                        );
+                      });
+                }
+                return e;
+              })(
+                {},
+                e.extended,
+                o({}, t.payload.propName, t.payload.propValue)
+              );
+            },
+          },
+        }),
+        s = l.reducer,
+        c = l.actions,
+        u = c.setIdInEditor,
+        f = c.clearIdInEditor,
+        d = c.changeVariableNameSucceeded,
+        p = c.changeVariableNameFailed,
+        h = c.variableEditorMounted,
+        m = c.variableEditorUnMounted,
+        g = c.changeVariableEditorExtended,
+        b = c.addVariableEditorError,
+        v = c.removeVariableEditorError;
+    },
+    diqK: function (e, t) {
+      var n = "public/app/plugins/datasource/postgres/partials/config.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '\n<h3 class=page-heading>PostgreSQL Connection</h3>\n\n<div class=gf-form-group>\n\t<div class="gf-form max-width-30">\n\t\t<span class="gf-form-label width-7">Host</span>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.current.url placeholder=localhost:5432 bs-typeahead="{{[\'localhost:5432\', \'localhost:5433\']}}" required>\n\t</div>\n\n\t<div class="gf-form max-width-30">\n\t\t<span class="gf-form-label width-7">Database</span>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.current.database placeholder="database name" required>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class="gf-form max-width-15">\n\t\t\t<span class="gf-form-label width-7">User</span>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.current.user placeholder=user>\n\t\t</div>\n    <div class=gf-form>\n      <secret-form-field isconfigured=ctrl.current.secureJsonFields.password value=ctrl.current.secureJsonData.password on-reset=ctrl.onPasswordReset on-change=ctrl.onPasswordChange inputwidth=9 />\n    </div>\n\t</div>\n\n\t<div class=gf-form>\n\t\t<label class="gf-form-label width-7">SSL Mode</label>\n\t\t<div class="gf-form-select-wrapper max-width-15 gf-form-select-wrapper--has-help-icon">\n\t\t\t<select class=gf-form-input ng-model=ctrl.current.jsonData.sslmode ng-options="mode for mode in [\'disable\', \'require\', \'verify-ca\', \'verify-full\']" ng-init=ctrl.current.jsonData.sslmode></select>\n\t\t\t<info-popover mode=right-absolute>\n\t\t\t\tThis option determines whether or with what priority a secure SSL TCP/IP connection will be negotiated with the server.\n\t\t\t</info-popover>\n\t\t</div>\n\t</div>\n</div>\n\n<b>Connection limits</b>\n\n<div class=gf-form-group>\n\t<div class="gf-form max-width-15">\n\t\t<span class="gf-form-label width-7">Max open</span>\n\t\t<input type=number min=0 class="gf-form-input gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.maxOpenConns placeholder=unlimited>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum number of open connections to the database. If <i>Max idle connections</i> is greater than 0 and the\n\t\t\t<i>Max open connections</i> is less than <i>Max idle connections</i>, then <i>Max idle connections</i> will be\n\t\t\treduced to match the <i>Max open connections</i> limit. If set to 0, there is no limit on the number of open\n\t\t\tconnections.\n\t\t</info-popover>\n\t</div>\n\t<div class="gf-form max-width-15">\n\t\t<span class="gf-form-label width-7">Max idle</span>\n\t\t<input type=number min=0 class="gf-form-input gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.maxIdleConns placeholder=2>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum number of connections in the idle connection pool. If <i>Max open connections</i> is greater than 0 but\n\t\t\tless than the <i>Max idle connections</i>, then the <i>Max idle connections</i> will be reduced to match the\n\t\t\t<i>Max open connections</i> limit. If set to 0, no idle connections are retained.\n\t\t</info-popover>\n\t</div>\n\t<div class="gf-form max-width-15">\n\t\t<span class="gf-form-label width-7">Max lifetime</span>\n\t\t<input type=number min=0 class="gf-form-input gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.connMaxLifetime placeholder=14400>\n\t\t<info-popover mode=right-absolute>\n\t\t\tThe maximum amount of time in seconds a connection may be reused. If set to 0, connections are reused forever.\n\t\t</info-popover>\n\t</div>\n</div>\n\n<h3 class=page-heading>PostgreSQL details</h3>\n\n<div class=gf-form-group>\n\t<div class=gf-form>\n\t\t<span class="gf-form-label width-9">\n\t\t\tVersion\n\t\t\t<info-popover mode=right-normal position="top center">\n\t\t\t\tThis option controls what functions are available in the PostgreSQL query builder.\n\t\t\t</info-popover>\n\t\t</span>\n\t\t<span class=gf-form-select-wrapper>\n\t\t\t<select class="gf-form-input gf-size-auto" ng-model=ctrl.current.jsonData.postgresVersion ng-options="f.value as f.name for f in ctrl.postgresVersions"></select>\n\t\t</span>\n\t</div>\n\t<div class=gf-form>\n\t\t<gf-form-switch class=gf-form label=TimescaleDB label-class=width-9 checked=ctrl.current.jsonData.timescaledb switch-class=max-width-6></gf-form-switch>\n    <label class="gf-form-label query-keyword pointer" ng-click=ctrl.toggleTimescaleDBHelp()>\n      Help&nbsp;\n      <i class="fa fa-caret-down" ng-show=ctrl.showTimescaleDBHelp></i>\n      <i class="fa fa-caret-right" ng-hide=ctrl.showTimescaleDBHelp>&nbsp;</i>\n    </label>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-9">Min time interval</span>\n\t\t\t<input type=text class="gf-form-input width-6 gf-form-input--has-help-icon" ng-model=ctrl.current.jsonData.timeInterval spellcheck=false placeholder=1m ng-pattern=/^\\d+(ms|[Mwdhmsy])$/ >\n\t\t\t<info-popover mode=right-absolute>\n\t\t\t\tA lower limit for the auto group by time interval. Recommended to be set to write frequency,\n\t\t\t\tfor example <code>1m</code> if your data is written every minute.\n\t\t\t</info-popover>\n\t\t</div>\n\t</div>\n<div class="grafana-info-box alert alert-info" ng-show=ctrl.showTimescaleDBHelp>\n  <div class=alert-body>\n    <p>\n\t\t\t<a href=https://github.com/timescale/timescaledb class=pointer target=_blank>TimescaleDB</a> is a time-series database built as a PostgreSQL extension. If enabled, Grafana will use <code>time_bucket</code> in the <code>$__timeGroup</code> macro and display TimescaleDB specific aggregate functions in the query builder.\n    </p>\n  </div>\n</div>\n\n</div>\n\n\n<div class=gf-form-group>\n\t<div class=grafana-info-box>\n\t\t<h5>User Permission</h5>\n\t\t<p>\n\t\t\tThe database user should only be granted SELECT permissions on the specified database &amp; tables you want to query.\n\t\t\tGrafana does not validate that queries are safe so queries can contain any SQL statement. For example, statements\n\t\t\tlike <code>DELETE FROM user;</code> and <code>DROP TABLE user;</code> would be executed. To protect against this we\n\t\t\t<strong>Highly</strong> recommmend you create a specific PostgreSQL user with restricted permissions.\n\t\t</p>\n\t</div>\n</div>\n\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    drYJ: function (e, t, n) {
+      "use strict";
+      n.d(t, "b", function () {
+        return f;
+      }),
+        n.d(t, "a", function () {
+          return d;
+        });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("MIBK"),
+        i = n("kDDq");
+      function l(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function s() {
+        var e = u([
+          "\n      color: ",
+          ";\n      font-size: ",
+          ";\n      font-weight: ",
+          ";\n      display: block;\n    ",
+        ]);
+        return (
+          (s = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function c() {
+        var e = u([
+          "\n      font-size: ",
+          ";\n      font-weight: ",
+          ";\n      line-height: 1.25;\n      margin: ",
+          ";\n      padding: ",
+          ";\n      color: ",
+          ";\n      max-width: 480px;\n    ",
+        ]);
+        return (
+          (c = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function u(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var f = Object(o.g)(function (e) {
+          return {
+            label: Object(i.css)(
+              c(),
+              e.typography.size.sm,
+              e.typography.weight.semibold,
+              e.spacing.formLabelMargin,
+              e.spacing.formLabelPadding,
+              e.colors.formLabel
+            ),
+            description: Object(i.css)(
+              s(),
+              e.colors.formDescription,
+              e.typography.size.sm,
+              e.typography.weight.regular
+            ),
+          };
+        }),
+        d = function (e) {
+          var t = e.children,
+            n = e.description,
+            r = e.className,
+            s = l(e, ["children", "description", "className"]),
+            c = Object(o.h)(),
+            u = f(c);
+          return a.a.createElement(
+            "div",
+            { className: Object(i.cx)(u.label, r) },
+            a.a.createElement(
+              "label",
+              s,
+              t,
+              n && a.a.createElement("span", { className: u.description }, n)
+            )
+          );
+        };
+    },
+    e9GU: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return d;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDDq"),
+        i = n("kDLi"),
+        l = n("6WZ+"),
+        s = n("x16D"),
+        c = n("atUN");
+      function u() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })(["\n            width: 500px;\n          "]);
+        return (
+          (u = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function f(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      var d = function (e) {
+        var t = e.dashboard,
+          n = e.onDismiss,
+          d = e.isNew,
+          p = Object(c.a)(t),
+          h = p.state,
+          m = p.onDashboardSave,
+          g = f(Object(r.useState)(), 2),
+          b = g[0],
+          v = g[1];
+        return a.a.createElement(
+          a.a.Fragment,
+          null,
+          h.error &&
+            a.a.createElement(s.a, {
+              error: h.error,
+              dashboard: t,
+              dashboardSaveModel: b,
+              onDismiss: n,
+            }),
+          !h.error &&
+            a.a.createElement(
+              i.Modal,
+              {
+                isOpen: !0,
+                title: "Save dashboard as...",
+                icon: "copy",
+                onDismiss: n,
+                className: Object(o.css)(u()),
+              },
+              a.a.createElement(l.b, {
+                dashboard: t,
+                onCancel: n,
+                onSuccess: n,
+                onSubmit: function (e, t, n) {
+                  return v(e), m(e, t, n);
+                },
+                isNew: d,
+              })
+            )
+        );
+      };
+    },
+    eGKl: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return a;
+      });
+      var r = n("Obii"),
+        a = function (e, t) {
+          return e[t || r.GrafanaThemeType.Dark];
+        };
+    },
+    eK0o: function (e, t, n) {
+      "use strict";
+      var r = n("LvDl"),
+        a = n.n(r),
+        o = n("txxJ");
+      function i(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var l = (function () {
+          function e() {
+            !(function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, e);
+          }
+          var t, n, r;
+          return (
+            (t = e),
+            (r = [
+              {
+                key: "alertToGraphThresholds",
+                value: function (e) {
+                  for (var t = 0; t < e.alert.conditions.length; t++) {
+                    var n = e.alert.conditions[t];
+                    if ("query" === n.type) {
+                      var r = n.evaluator,
+                        a = (e.thresholds = []);
+                      switch (r.type) {
+                        case "gt":
+                          var o = r.params[0];
+                          a.push({ value: o, op: "gt" });
+                          break;
+                        case "lt":
+                          var i = r.params[0];
+                          a.push({ value: i, op: "lt" });
+                          break;
+                        case "outside_range":
+                          var l = r.params[0],
+                            s = r.params[1];
+                          l > s
+                            ? (a.push({ value: l, op: "gt" }),
+                              a.push({ value: s, op: "lt" }))
+                            : (a.push({ value: l, op: "lt" }),
+                              a.push({ value: s, op: "gt" }));
+                          break;
+                        case "within_range":
+                          var c = r.params[0],
+                            u = r.params[1];
+                          c > u
+                            ? (a.push({ value: c, op: "lt" }),
+                              a.push({ value: u, op: "gt" }))
+                            : (a.push({ value: c, op: "gt" }),
+                              a.push({ value: u, op: "lt" }));
+                      }
+                      break;
+                    }
+                  }
+                  var f = !0,
+                    d = !1,
+                    p = void 0;
+                  try {
+                    for (
+                      var h, m = e.thresholds[Symbol.iterator]();
+                      !(f = (h = m.next()).done);
+                      f = !0
+                    ) {
+                      var g = h.value;
+                      (g.fill = !0), (g.line = !0), (g.colorMode = "critical");
+                    }
+                  } catch (e) {
+                    (d = !0), (p = e);
+                  } finally {
+                    try {
+                      f || null == m.return || m.return();
+                    } finally {
+                      if (d) throw p;
+                    }
+                  }
+                  return !0;
+                },
+              },
+            ]),
+            (n = null) && i(t.prototype, n),
+            r && i(t, r),
+            e
+          );
+        })(),
+        s = n("QNPh"),
+        c = n("3ulR"),
+        u = n("ZFWI"),
+        f = n("Xmxp"),
+        d = n("t8hP"),
+        p = n("2nhE"),
+        h = n("GQ3c"),
+        m = n("PbtU"),
+        g = n("2KQq");
+      function b(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      n.d(t, "a", function () {
+        return y;
+      });
+      var v = (function () {
+        function e(t, n, r, a) {
+          var o = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$scope = t),
+            (this.dashboardSrv = n),
+            (this.uiSegmentSrv = r),
+            (this.datasourceSrv = a),
+            (this.enable = function () {
+              (o.panel.alert = {}), o.initModel(), (o.panel.alert.for = "5m");
+            }),
+            (this.panelCtrl = t.ctrl),
+            (this.panel = this.panelCtrl.panel),
+            (this.$scope.ctrl = this),
+            (this.subTabIndex = 0),
+            (this.evalFunctions = c.a.evalFunctions),
+            (this.evalOperators = c.a.evalOperators),
+            (this.conditionTypes = c.a.conditionTypes),
+            (this.noDataModes = c.a.noDataModes),
+            (this.executionErrorModes = c.a.executionErrorModes),
+            (this.appSubUrl = u.b.appSubUrl),
+            (this.panelCtrl._enableAlert = this.enable),
+            (this.alertingMinIntervalSecs = u.b.alertingMinInterval),
+            (this.alertingMinInterval = m.a.secondsToHms(
+              u.b.alertingMinInterval
+            ));
+        }
+        var t, n, r;
+        return (
+          (e.$inject = [
+            "$scope",
+            "dashboardSrv",
+            "uiSegmentSrv",
+            "datasourceSrv",
+          ]),
+          (t = e),
+          (n = [
+            {
+              key: "$onInit",
+              value: function () {
+                var e = this;
+                this.addNotificationSegment = this.uiSegmentSrv.newPlusButton();
+                var t = this.graphThresholdChanged.bind(this);
+                return (
+                  this.panelCtrl.events.on(h.CoreEvents.thresholdChanged, t),
+                  this.$scope.$on("$destroy", function () {
+                    e.panelCtrl.events.off(h.CoreEvents.thresholdChanged, t),
+                      (e.panelCtrl.editingThresholds = !1),
+                      e.panelCtrl.render();
+                  }),
+                  (this.notifications = []),
+                  (this.alertNotifications = []),
+                  (this.alertHistory = []),
+                  Object(g.a)(this.$scope)(
+                    Object(d.getBackendSrv)()
+                      .get("/api/alert-notifications/lookup")
+                      .then(function (t) {
+                        (e.notifications = t), e.initModel(), e.validateModel();
+                      })
+                  )
+                );
+              },
+            },
+            {
+              key: "getAlertHistory",
+              value: function () {
+                var e = this;
+                Object(g.a)(this.$scope)(
+                  Object(d.getBackendSrv)()
+                    .get(
+                      "/api/annotations?dashboardId="
+                        .concat(this.panelCtrl.dashboard.id, "&panelId=")
+                        .concat(this.panel.id, "&limit=50&type=alert")
+                    )
+                    .then(function (t) {
+                      e.alertHistory = a.a.map(t, function (t) {
+                        return (
+                          (t.time = e.dashboardSrv
+                            .getCurrent()
+                            .formatDate(t.time, "MMM D, YYYY HH:mm:ss")),
+                          (t.stateModel = c.a.getStateDisplayModel(t.newState)),
+                          (t.info = c.a.getAlertAnnotationInfo(t)),
+                          t
+                        );
+                      });
+                    })
+                );
+              },
+            },
+            {
+              key: "getNotificationIcon",
+              value: function (e) {
+                switch (e) {
+                  case "email":
+                    return "fa fa-envelope";
+                  case "slack":
+                    return "fa fa-slack";
+                  case "victorops":
+                    return "fa fa-pagelines";
+                  case "webhook":
+                    return "fa fa-cubes";
+                  case "pagerduty":
+                    return "fa fa-bullhorn";
+                  case "opsgenie":
+                    return "fa fa-bell";
+                  case "hipchat":
+                    return "fa fa-mail-forward";
+                  case "pushover":
+                    return "fa fa-mobile";
+                  case "kafka":
+                    return "fa fa-random";
+                  case "teams":
+                    return "fa fa-windows";
+                }
+                return "fa fa-bell";
+              },
+            },
+            {
+              key: "getNotifications",
+              value: function () {
+                var e = this;
+                return Promise.resolve(
+                  this.notifications.map(function (t) {
+                    return e.uiSegmentSrv.newSegment(t.name);
+                  })
+                );
+              },
+            },
+            {
+              key: "notificationAdded",
+              value: function () {
+                var e = a.a.find(this.notifications, {
+                  name: this.addNotificationSegment.value,
+                });
+                e &&
+                  (this.alertNotifications.push({
+                    name: e.name,
+                    iconClass: this.getNotificationIcon(e.type),
+                    isDefault: !1,
+                    uid: e.uid,
+                  }),
+                  a.a.find(this.alert.notifications, function (t) {
+                    return t.id === e.id || t.uid === e.uid;
+                  }) || this.alert.notifications.push({ uid: e.uid }),
+                  (this.addNotificationSegment.value = this.uiSegmentSrv.newPlusButton().value),
+                  (this.addNotificationSegment.html = this.uiSegmentSrv.newPlusButton().html),
+                  (this.addNotificationSegment.fake = !0));
+              },
+            },
+            {
+              key: "removeNotification",
+              value: function (e) {
+                a.a.remove(this.alert.notifications, function (t) {
+                  return t.uid === e.uid || t.id === e.id;
+                }),
+                  a.a.remove(this.alertNotifications, function (t) {
+                    return t.uid === e.uid || t.id === e.id;
+                  });
+              },
+            },
+            {
+              key: "addAlertRuleTag",
+              value: function () {
+                this.newAlertRuleTag.name &&
+                  (this.alert.alertRuleTags[
+                    this.newAlertRuleTag.name
+                  ] = this.newAlertRuleTag.value),
+                  (this.newAlertRuleTag.name = ""),
+                  (this.newAlertRuleTag.value = "");
+              },
+            },
+            {
+              key: "removeAlertRuleTag",
+              value: function (e) {
+                delete this.alert.alertRuleTags[e];
+              },
+            },
+            {
+              key: "initModel",
+              value: function () {
+                var e = this,
+                  t = (this.alert = this.panel.alert);
+                if (t) {
+                  this.checkFrequency(),
+                    (t.conditions = t.conditions || []),
+                    0 === t.conditions.length &&
+                      t.conditions.push(Object(p.b)()),
+                    (t.noDataState =
+                      t.noDataState || u.b.alertingNoDataOrNullValues),
+                    (t.executionErrorState =
+                      t.executionErrorState || u.b.alertingErrorOrTimeout),
+                    (t.frequency = t.frequency || "1m"),
+                    (t.handler = t.handler || 1),
+                    (t.notifications = t.notifications || []),
+                    (t.for = t.for || "0m"),
+                    (t.alertRuleTags = t.alertRuleTags || {});
+                  var n = this.panel.title + " alert";
+                  (t.name = t.name || n),
+                    (this.conditionModels = a.a.reduce(
+                      t.conditions,
+                      function (t, n) {
+                        return t.push(e.buildConditionModel(n)), t;
+                      },
+                      []
+                    )),
+                    l.alertToGraphThresholds(this.panel);
+                  var r = !0,
+                    o = !1,
+                    i = void 0;
+                  try {
+                    for (
+                      var s, c = t.notifications[Symbol.iterator]();
+                      !(r = (s = c.next()).done);
+                      r = !0
+                    ) {
+                      var f = s.value,
+                        d = a.a.find(this.notifications, { uid: f.uid });
+                      d || (d = a.a.find(this.notifications, { id: f.id })),
+                        d &&
+                          !1 === d.isDefault &&
+                          ((d.iconClass = this.getNotificationIcon(d.type)),
+                          this.alertNotifications.push(d));
+                    }
+                  } catch (e) {
+                    (o = !0), (i = e);
+                  } finally {
+                    try {
+                      r || null == c.return || c.return();
+                    } finally {
+                      if (o) throw i;
+                    }
+                  }
+                  var h = !0,
+                    m = !1,
+                    g = void 0;
+                  try {
+                    for (
+                      var b, v = this.notifications[Symbol.iterator]();
+                      !(h = (b = v.next()).done);
+                      h = !0
+                    ) {
+                      var y = b.value;
+                      y.isDefault &&
+                        ((y.iconClass = this.getNotificationIcon(y.type)),
+                        this.alertNotifications.push(y));
+                    }
+                  } catch (e) {
+                    (m = !0), (g = e);
+                  } finally {
+                    try {
+                      h || null == v.return || v.return();
+                    } finally {
+                      if (m) throw g;
+                    }
+                  }
+                  (this.panelCtrl.editingThresholds = !0),
+                    this.panelCtrl.render();
+                }
+              },
+            },
+            {
+              key: "checkFrequency",
+              value: function () {
+                if (this.alert.frequency) {
+                  this.frequencyWarning = "";
+                  try {
+                    m.a.interval_to_seconds(this.alert.frequency) <
+                      this.alertingMinIntervalSecs &&
+                      (this.frequencyWarning =
+                        "A minimum evaluation interval of " +
+                        this.alertingMinInterval +
+                        " have been configured in Grafana and will be used for this alert rule. Please contact the administrator to configure a lower interval.");
+                  } catch (e) {
+                    this.frequencyWarning = e;
+                  }
+                }
+              },
+            },
+            {
+              key: "graphThresholdChanged",
+              value: function (e) {
+                var t = !0,
+                  n = !1,
+                  r = void 0;
+                try {
+                  for (
+                    var a, o = this.alert.conditions[Symbol.iterator]();
+                    !(t = (a = o.next()).done);
+                    t = !0
+                  ) {
+                    var i = a.value;
+                    if ("query" === i.type) {
+                      (i.evaluator.params[e.handleIndex] = e.threshold.value),
+                        this.evaluatorParamsChanged();
+                      break;
+                    }
+                  }
+                } catch (e) {
+                  (n = !0), (r = e);
+                } finally {
+                  try {
+                    t || null == o.return || o.return();
+                  } finally {
+                    if (n) throw r;
+                  }
+                }
+              },
+            },
+            {
+              key: "validateModel",
+              value: function () {
+                var e = this;
+                if (this.alert) {
+                  var t,
+                    n = null,
+                    r = [],
+                    a = !0,
+                    o = !1,
+                    i = void 0;
+                  try {
+                    for (
+                      var l, s = this.alert.conditions[Symbol.iterator]();
+                      !(a = (l = s.next()).done);
+                      a = !0
+                    ) {
+                      var c = l.value;
+                      if ("query" === c.type) {
+                        var u = !0,
+                          f = !1,
+                          d = void 0;
+                        try {
+                          for (
+                            var p, h = this.panel.targets[Symbol.iterator]();
+                            !(u = (p = h.next()).done);
+                            u = !0
+                          ) {
+                            var m = p.value;
+                            if ((t || (t = m), c.query.params[0] === m.refId)) {
+                              n = m;
+                              break;
+                            }
+                          }
+                        } catch (e) {
+                          (f = !0), (d = e);
+                        } finally {
+                          try {
+                            u || null == h.return || h.return();
+                          } finally {
+                            if (f) throw d;
+                          }
+                        }
+                        if (!n) {
+                          if (!t)
+                            return void (this.error =
+                              "Could not find any metric queries");
+                          (c.query.params[0] = t.refId), (n = t);
+                        }
+                        var g = n.datasource || this.panel.datasource;
+                        r.push(
+                          this.datasourceSrv.get(g).then(
+                            (function (e) {
+                              return function (t) {
+                                return t.meta.alerting
+                                  ? t.targetContainsTemplate &&
+                                    t.targetContainsTemplate(e)
+                                    ? Promise.reject(
+                                        "Template variables are not supported in alert queries"
+                                      )
+                                    : Promise.resolve()
+                                  : Promise.reject(
+                                      "The datasource does not support alerting queries"
+                                    );
+                              };
+                            })(n)
+                          )
+                        );
+                      }
+                    }
+                  } catch (e) {
+                    (o = !0), (i = e);
+                  } finally {
+                    try {
+                      a || null == s.return || s.return();
+                    } finally {
+                      if (o) throw i;
+                    }
+                  }
+                  Promise.all(r).then(
+                    function () {
+                      (e.error = ""), e.$scope.$apply();
+                    },
+                    function (t) {
+                      (e.error = t), e.$scope.$apply();
+                    }
+                  );
+                }
+              },
+            },
+            {
+              key: "buildConditionModel",
+              value: function (e) {
+                var t = { source: e, type: e.type };
+                return (
+                  (t.queryPart = new s.a(e.query, c.a.alertQueryDef)),
+                  (t.reducerPart = c.a.createReducerPart(e.reducer)),
+                  (t.evaluator = e.evaluator),
+                  (t.operator = e.operator),
+                  t
+                );
+              },
+            },
+            {
+              key: "handleQueryPartEvent",
+              value: function (e, t) {
+                var n = this;
+                switch (t.name) {
+                  case "action-remove-part":
+                    break;
+                  case "get-part-actions":
+                    return Promise.resolve([]);
+                  case "part-param-changed":
+                    this.validateModel();
+                  case "get-param-options":
+                    var r = this.panel.targets.map(function (e) {
+                      return n.uiSegmentSrv.newSegment({ value: e.refId });
+                    });
+                    return Promise.resolve(r);
+                  default:
+                    return Promise.resolve();
+                }
+                return Promise.resolve();
+              },
+            },
+            {
+              key: "handleReducerPartEvent",
+              value: function (e, t) {
+                switch (t.name) {
+                  case "action":
+                    (e.source.reducer.type = t.action.value),
+                      (e.reducerPart = c.a.createReducerPart(e.source.reducer));
+                    break;
+                  case "get-part-actions":
+                    var n = [],
+                      r = !0,
+                      a = !1,
+                      o = void 0;
+                    try {
+                      for (
+                        var i, l = c.a.reducerTypes[Symbol.iterator]();
+                        !(r = (i = l.next()).done);
+                        r = !0
+                      ) {
+                        var s = i.value;
+                        s.value !== e.source.reducer.type && n.push(s);
+                      }
+                    } catch (e) {
+                      (a = !0), (o = e);
+                    } finally {
+                      try {
+                        r || null == l.return || l.return();
+                      } finally {
+                        if (a) throw o;
+                      }
+                    }
+                    return Promise.resolve(n);
+                }
+                return Promise.resolve();
+              },
+            },
+            {
+              key: "addCondition",
+              value: function (e) {
+                var t = Object(p.b)();
+                this.alert.conditions.push(t),
+                  this.conditionModels.push(this.buildConditionModel(t));
+              },
+            },
+            {
+              key: "removeCondition",
+              value: function (e) {
+                this.alert.conditions.splice(e, 1),
+                  this.conditionModels.splice(e, 1);
+              },
+            },
+            {
+              key: "delete",
+              value: function () {
+                var e = this;
+                f.b.emit(h.CoreEvents.showConfirmModal, {
+                  title: "Delete Alert",
+                  text: "Are you sure you want to delete this alert rule?",
+                  text2:
+                    "You need to save dashboard for the delete to take effect",
+                  icon: "fa-trash",
+                  yesText: "Delete",
+                  onConfirm: function () {
+                    delete e.panel.alert,
+                      (e.alert = null),
+                      (e.panel.thresholds = []),
+                      (e.conditionModels = []),
+                      (e.panelCtrl.alertState = null),
+                      e.panelCtrl.render();
+                  },
+                });
+              },
+            },
+            {
+              key: "evaluatorParamsChanged",
+              value: function () {
+                l.alertToGraphThresholds(this.panel), this.panelCtrl.render();
+              },
+            },
+            {
+              key: "evaluatorTypeChanged",
+              value: function (e) {
+                switch (e.type) {
+                  case "lt":
+                  case "gt":
+                    e.params = [e.params[0]];
+                    break;
+                  case "within_range":
+                  case "outside_range":
+                    e.params = [e.params[0], e.params[1]];
+                    break;
+                  case "no_value":
+                    e.params = [];
+                }
+                this.evaluatorParamsChanged();
+              },
+            },
+            {
+              key: "clearHistory",
+              value: function () {
+                var e = this;
+                f.b.emit(h.CoreEvents.showConfirmModal, {
+                  title: "Delete Alert History",
+                  text:
+                    "Are you sure you want to remove all history & annotations for this alert?",
+                  icon: "fa-trash",
+                  yesText: "Yes",
+                  onConfirm: function () {
+                    Object(g.a)(e.$scope)(
+                      Object(d.getBackendSrv)()
+                        .post("/api/annotations/mass-delete", {
+                          dashboardId: e.panelCtrl.dashboard.id,
+                          panelId: e.panel.id,
+                        })
+                        .then(function () {
+                          (e.alertHistory = []), e.panelCtrl.refresh();
+                        })
+                    );
+                  },
+                });
+              },
+            },
+          ]) && b(t.prototype, n),
+          r && b(t, r),
+          e
+        );
+      })();
+      function y() {
+        return {
+          restrict: "E",
+          scope: !0,
+          templateUrl: "public/app/features/alerting/partials/alert_tab.html",
+          controller: v,
+        };
+      }
+      o.c.directive("alertTab", y);
+    },
+    "eLz+": function (e, t, n) {
+      "use strict";
+      var r, a;
+      n.d(t, "b", function () {
+        return r;
+      }),
+        n.d(t, "a", function () {
+          return a;
+        }),
+        n.d(t, "c", function () {
+          return o;
+        }),
+        (function (e) {
+          (e.Queries = "queries"),
+            (e.Transform = "transform"),
+            (e.Visualization = "visualization"),
+            (e.Alert = "alert");
+        })(r || (r = {})),
+        (function (e) {
+          (e[(e.Fill = 0)] = "Fill"),
+            (e[(e.Fit = 1)] = "Fit"),
+            (e[(e.Exact = 2)] = "Exact");
+        })(a || (a = {}));
+      var o = [
+        {
+          value: a.Fill,
+          label: "Fill",
+          description: "Use all avaliable space",
+        },
+        {
+          value: a.Fit,
+          label: "Fit",
+          description: "Fit in the space keeping ratio",
+        },
+        {
+          value: a.Exact,
+          label: "Exact",
+          description: "Same size as the dashboard",
+        },
+      ];
+    },
+    eNSq: function (e, t) {
+      var n = "public/app/plugins/panel/dashlist/module.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div>\n  <div class=dashlist ng-repeat="group in ctrl.groups">\n    <div class=dashlist-section ng-if=group.show>\n      <h6 class=dashlist-section-header ng-show=ctrl.panel.headings>\n        {{group.header}}\n      </h6>\n      <div class=dashlist-item ng-repeat="dash in group.list">\n        <a class="dashlist-link dashlist-link-{{dash.type}}" href={{dash.url}}>\n          <span class=dashlist-title>\n            {{dash.title}}\n          </span>\n          <span class=dashlist-star ng-click="ctrl.starDashboard(dash, $event)">\n            <i class=fa ng-class="{\'fa-star\': dash.isStarred, \'fa-star-o\': dash.isStarred === false}"></i>\n          </span>\n        </a>\n      </div>\n    </div>\n  </div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    ePCq: function (e, t) {
+      var n =
+        "public/app/plugins/datasource/graphite/partials/query.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<query-editor-row query-ctrl=ctrl has-text-edit-mode=true>\n\n  <div class=gf-form ng-show=ctrl.target.textEditor>\n    <input type=text class=gf-form-input ng-model=ctrl.target.target spellcheck=false ng-blur=ctrl.targetTextChanged()>\n  </div>\n\n  <div ng-hide=ctrl.target.textEditor>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label width-6 query-keyword">Series</label>\n      </div>\n\n      <div ng-if=ctrl.queryModel.seriesByTagUsed ng-repeat="tag in ctrl.queryModel.tags" class=gf-form>\n        <gf-form-dropdown model=tag.key allow-custom=true label-mode=true debounce=true placeholder="Tag key" css-class=query-segment-key get-options="ctrl.getTags($index, $query)" on-change="ctrl.tagChanged(tag, $index)"/>\n        <gf-form-dropdown model=tag.operator label-mode=true css-class=query-segment-operator get-options=ctrl.getTagOperators() on-change="ctrl.tagChanged(tag, $index)" min-input-width=30 />\n        <gf-form-dropdown model=tag.value allow-custom=true label-mode=true debounce=true css-class=query-segment-value placeholder="Tag value" get-options="ctrl.getTagValues(tag, $index, $query)" on-change="ctrl.tagChanged(tag, $index)"/>\n        <label class="gf-form-label query-keyword" ng-if=ctrl.showDelimiter($index)>AND</label>\n      </div>\n\n      <div ng-if=ctrl.queryModel.seriesByTagUsed ng-repeat="segment in ctrl.addTagSegments" role=menuitem class=gf-form>\n        <metric-segment segment=segment get-options=ctrl.getTagsAsSegments($query) on-change=ctrl.addNewTag(segment) debounce=true />\n      </div>\n\n      <div ng-if=!ctrl.queryModel.seriesByTagUsed ng-repeat="segment in ctrl.segments" role=menuitem class=gf-form>\n        <metric-segment segment=segment get-options="ctrl.getAltSegments($index, $query)" on-change="ctrl.segmentValueChanged(segment, $index)"/>\n      </div>\n\n      <div ng-if=ctrl.paused class=gf-form>\n        <a ng-click=ctrl.unpause() class="gf-form-label query-part"><i class="fa fa-play"></i></a>\n      </div>\n\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label width-6 query-keyword">Functions</label>\n      </div>\n\n      <div ng-repeat="func in ctrl.queryModel.functions" class=gf-form>\n        <span graphite-func-editor class="gf-form-label query-part" ng-hide=func.hidden></span>\n      </div>\n\n      <div class="gf-form dropdown">\n        <span graphite-add-func></span>\n      </div>\n\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n    </div>\n  </div>\n\n</query-editor-row>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    eQJK: function (e, t) {
+      !(function (e) {
+        "use strict";
+        var t = {
+          tagClass: function (e) {
+            return "label label-info";
+          },
+          itemValue: function (e) {
+            return e ? e.toString() : e;
+          },
+          itemText: function (e) {
+            return this.itemValue(e);
+          },
+          freeInput: !0,
+          maxTags: void 0,
+          confirmKeys: [13],
+          onTagExists: function (e, t) {
+            t.hide().fadeIn();
+          },
+        };
+        function n(t, n) {
+          (this.itemsArray = []),
+            (this.$element = e(t)),
+            this.$element.hide(),
+            (this.widthClass = n.widthClass || "width-9"),
+            (this.isSelect = "SELECT" === t.tagName),
+            (this.multiple = this.isSelect && t.hasAttribute("multiple")),
+            (this.objectItems = n && n.itemValue),
+            (this.placeholderText = t.hasAttribute("placeholder")
+              ? this.$element.attr("placeholder")
+              : ""),
+            (this.$container = e('<div class="bootstrap-tagsinput"></div>')),
+            (this.$input = e(
+              '<input class="gf-form-input ' +
+                this.widthClass +
+                '" type="text" placeholder="' +
+                this.placeholderText +
+                '"/>'
+            ).appendTo(this.$container)),
+            this.$element.after(this.$container),
+            this.build(n);
+        }
+        function r(e, t) {
+          if ("function" != typeof e[t]) {
+            var n = e[t];
+            e[t] = function (e) {
+              return e[n];
+            };
+          }
+        }
+        (n.prototype = {
+          constructor: n,
+          add: function (t, n) {
+            var r = this;
+            if (
+              !(
+                r.options.maxTags && r.itemsArray.length >= r.options.maxTags
+              ) &&
+              (!1 === t || t)
+            ) {
+              if ("object" == typeof t && !r.objectItems)
+                throw "Can't add objects when itemValue option is not set";
+              if (!t.toString().match(/^\s*$/)) {
+                if (
+                  (r.isSelect &&
+                    !r.multiple &&
+                    r.itemsArray.length > 0 &&
+                    r.remove(r.itemsArray[0]),
+                  "string" == typeof t && "INPUT" === this.$element[0].tagName)
+                ) {
+                  var a = t.split(",");
+                  if (a.length > 1) {
+                    for (var i = 0; i < a.length; i++) this.add(a[i], !0);
+                    return void (n || r.pushVal());
+                  }
+                }
+                var l = r.options.itemValue(t),
+                  s = r.options.itemText(t),
+                  c = r.options.tagClass(t),
+                  u = e.grep(r.itemsArray, function (e) {
+                    return r.options.itemValue(e) === l;
+                  })[0];
+                if (u) {
+                  if (r.options.onTagExists) {
+                    var f = e(".tag", r.$container).filter(function () {
+                      return e(this).data("item") === u;
+                    });
+                    r.options.onTagExists(t, f);
+                  }
+                } else {
+                  r.itemsArray.push(t);
+                  var d = e(
+                    '<span class="tag ' +
+                      o(c) +
+                      '">' +
+                      o(s) +
+                      '<span data-role="remove"></span></span>'
+                  );
+                  if (
+                    (d.data("item", t),
+                    r.findInputWrapper().before(d),
+                    d.after(" "),
+                    r.isSelect &&
+                      !e('option[value="' + escape(l) + '"]', r.$element)[0])
+                  ) {
+                    var p = e("<option selected>" + o(s) + "</option>");
+                    p.data("item", t), p.attr("value", l), r.$element.append(p);
+                  }
+                  n || r.pushVal(),
+                    r.options.maxTags === r.itemsArray.length &&
+                      r.$container.addClass("bootstrap-tagsinput-max"),
+                    r.$element.trigger(e.Event("itemAdded", { item: t }));
+                }
+              }
+            }
+          },
+          remove: function (t, n) {
+            var r = this;
+            r.objectItems &&
+              (t =
+                "object" == typeof t
+                  ? e.grep(r.itemsArray, function (e) {
+                      return r.options.itemValue(e) == r.options.itemValue(t);
+                    })[0]
+                  : e.grep(r.itemsArray, function (e) {
+                      return r.options.itemValue(e) == t;
+                    })[0]),
+              t &&
+                (e(".tag", r.$container)
+                  .filter(function () {
+                    return e(this).data("item") === t;
+                  })
+                  .remove(),
+                e("option", r.$element)
+                  .filter(function () {
+                    return e(this).data("item") === t;
+                  })
+                  .remove(),
+                r.itemsArray.splice(e.inArray(t, r.itemsArray), 1)),
+              n || r.pushVal(),
+              r.options.maxTags > r.itemsArray.length &&
+                r.$container.removeClass("bootstrap-tagsinput-max"),
+              r.$element.trigger(e.Event("itemRemoved", { item: t }));
+          },
+          removeAll: function () {
+            for (
+              e(".tag", this.$container).remove(),
+                e("option", this.$element).remove();
+              this.itemsArray.length > 0;
+
+            )
+              this.itemsArray.pop();
+            this.pushVal(),
+              this.options.maxTags && !this.isEnabled() && this.enable();
+          },
+          refresh: function () {
+            var t = this;
+            e(".tag", t.$container).each(function () {
+              var n = e(this),
+                r = n.data("item"),
+                a = t.options.itemValue(r),
+                i = t.options.itemText(r),
+                l = t.options.tagClass(r);
+              (n.attr("class", null),
+              n.addClass("tag " + o(l)),
+              (n.contents().filter(function () {
+                return 3 == this.nodeType;
+              })[0].nodeValue = o(i)),
+              t.isSelect) &&
+                e("option", t.$element)
+                  .filter(function () {
+                    return e(this).data("item") === r;
+                  })
+                  .attr("value", a);
+            });
+          },
+          items: function () {
+            return this.itemsArray;
+          },
+          pushVal: function () {
+            var t = this,
+              n = e.map(t.items(), function (e) {
+                return t.options.itemValue(e).toString();
+              });
+            t.$element.val(n, !0).trigger("change");
+          },
+          build: function (n) {
+            var a = this;
+            a.options = e.extend({}, t, n);
+            var o = a.options.typeahead || {};
+            a.objectItems && (a.options.freeInput = !1),
+              r(a.options, "itemValue"),
+              r(a.options, "itemText"),
+              r(a.options, "tagClass"),
+              a.options.source && (o.source = a.options.source),
+              o.source &&
+                e.fn.typeahead &&
+                (!(function (e, t) {
+                  if ("function" != typeof e[t]) {
+                    var n = e[t];
+                    e[t] = function () {
+                      return n;
+                    };
+                  }
+                })(o, "source"),
+                a.$input.typeahead({
+                  source: function (t, n) {
+                    function r(e) {
+                      for (var t = [], r = 0; r < e.length; r++) {
+                        var o = a.options.itemText(e[r]);
+                        (i[o] = e[r]), t.push(o);
+                      }
+                      n(t);
+                    }
+                    this.map = {};
+                    var i = this.map,
+                      l = o.source(t);
+                    e.isFunction(l.success) ? l.success(r) : e.when(l).then(r);
+                  },
+                  updater: function (e) {
+                    a.add(this.map[e]);
+                  },
+                  matcher: function (e) {
+                    return (
+                      -1 !==
+                      e.toLowerCase().indexOf(this.query.trim().toLowerCase())
+                    );
+                  },
+                  sorter: function (e) {
+                    return e.sort();
+                  },
+                  highlighter: function (e) {
+                    var t = new RegExp("(" + this.query + ")", "gi");
+                    return e.replace(t, "<strong>$1</strong>");
+                  },
+                })),
+              a.$container.on(
+                "click",
+                e.proxy(function (e) {
+                  a.$input.focus();
+                }, a)
+              ),
+              a.$container.on(
+                "blur",
+                "input",
+                e.proxy(function (t) {
+                  var n = e(t.target);
+                  a.add(n.val()), n.val(""), t.preventDefault();
+                }, a)
+              ),
+              a.$container.on(
+                "keydown",
+                "input",
+                e.proxy(function (t) {
+                  var n = e(t.target),
+                    r = a.findInputWrapper();
+                  switch (t.which) {
+                    case 8:
+                      if (0 === i(n[0])) {
+                        var o = r.prev();
+                        o && a.remove(o.data("item"));
+                      }
+                      break;
+                    case 46:
+                      if (0 === i(n[0])) {
+                        var l = r.next();
+                        l && a.remove(l.data("item"));
+                      }
+                      break;
+                    case 37:
+                      var s = r.prev();
+                      0 === n.val().length && s[0] && (s.before(r), n.focus());
+                      break;
+                    case 39:
+                      var c = r.next();
+                      0 === n.val().length && c[0] && (c.after(r), n.focus());
+                      break;
+                    default:
+                      a.options.freeInput &&
+                        e.inArray(t.which, a.options.confirmKeys) >= 0 &&
+                        (a.add(n.val()), n.val(""), t.preventDefault());
+                  }
+                  n.attr("size", Math.max(this.inputSize, n.val().length));
+                }, a)
+              ),
+              a.$container.on(
+                "click",
+                "[data-role=remove]",
+                e.proxy(function (t) {
+                  a.remove(e(t.target).closest(".tag").data("item")),
+                    t.stopPropagation();
+                }, a)
+              ),
+              a.options.itemValue === t.itemValue &&
+                ("INPUT" === a.$element[0].tagName
+                  ? a.add(a.$element.val())
+                  : e("option", a.$element).each(function () {
+                      a.add(e(this).attr("value"), !0);
+                    }));
+          },
+          destroy: function () {
+            this.$container.off("keypress", "input"),
+              this.$container.off("click", "[role=remove]"),
+              this.$container.remove(),
+              this.$element.removeData("tagsinput"),
+              this.$element.show();
+          },
+          focus: function () {
+            this.$input.focus();
+          },
+          input: function () {
+            return this.$input;
+          },
+          findInputWrapper: function () {
+            for (
+              var t = this.$input[0], n = this.$container[0];
+              t && t.parentNode !== n;
+
+            )
+              t = t.parentNode;
+            return e(t);
+          },
+        }),
+          (e.fn.tagsinput = function (t, r) {
+            var a = [];
+            return (
+              this.each(function () {
+                var o = e(this).data("tagsinput");
+                if (o) {
+                  var i = o[t](r);
+                  void 0 !== i && a.push(i);
+                } else (o = new n(this, t)), e(this).data("tagsinput", o), a.push(o), "SELECT" === this.tagName && e("option", e(this)).attr("selected", "selected"), e(this).val(e(this).val());
+              }),
+              "string" == typeof t ? (a.length > 1 ? a : a[0]) : a
+            );
+          }),
+          (e.fn.tagsinput.Constructor = n);
+        var a = e("<div />");
+        function o(e) {
+          return e ? a.text(e).html() : "";
+        }
+        function i(e) {
+          var t = 0;
+          if (document.selection) {
+            e.focus();
+            var n = document.selection.createRange();
+            n.moveStart("character", -e.value.length), (t = n.text.length);
+          } else
+            (e.selectionStart || "0" == e.selectionStart) &&
+              (t = e.selectionStart);
+          return t;
+        }
+        e(function () {
+          e(
+            "input[data-role=tagsinput], select[multiple][data-role=tagsinput]"
+          ).tagsinput();
+        });
+      })(window.jQuery);
+    },
+    eXZ6: function (e, t, n) {
+      "use strict";
+      n.d(t, "d", function () {
+        return r;
+      }),
+        n.d(t, "e", function () {
+          return a;
+        }),
+        n.d(t, "f", function () {
+          return o;
+        }),
+        n.d(t, "j", function () {
+          return i;
+        }),
+        n.d(t, "a", function () {
+          return l;
+        }),
+        n.d(t, "b", function () {
+          return s;
+        }),
+        n.d(t, "h", function () {
+          return c;
+        }),
+        n.d(t, "g", function () {
+          return u;
+        }),
+        n.d(t, "i", function () {
+          return f;
+        }),
+        n.d(t, "c", function () {
+          return d;
+        });
+      var r = 30,
+        a = 8,
+        o = 24,
+        i = "v",
+        l = 4,
+        s = 250,
+        c = 3 * r,
+        u = "panel-copy",
+        f = 2,
+        d = 23763571993;
+    },
+    eYNV: function (e, t) {
+      var n = "public/app/features/admin/partials/orgs.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<page-header model=navModel></page-header>\n\n<div class="page-container page-body">\n  <div class=page-action-bar>\n    <div class=page-action-bar__spacer></div>\n    <a class="page-header__cta btn btn-primary" href=org/new>\n      New org\n    </a>\n  </div>\n\n  <table class="filter-table form-inline filter-table--hover">\n    <thead>\n      <tr>\n        <th>Id</th>\n        <th>Name</th>\n        <th style=width:1%></th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr ng-repeat="org in orgs">\n        <td class=link-td>\n          <a href=admin/orgs/edit/{{org.id}}>\n            {{org.id}}\n          </a>\n        </td>\n        <td class=link-td>\n          <a href=admin/orgs/edit/{{org.id}}>\n            {{org.name}}\n          </a>\n        </td>\n        <td class=text-right>\n          <a ng-click=deleteOrg(org) class="btn btn-danger btn-small">\n            <i class="fa fa-remove"></i>\n          </a>\n        </td>\n      </tr>\n    </tbody>\n  </table>\n</div>\n\n<footer/>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    eqXR: function (e, t, n) {
+      "use strict";
+      var r, a;
+      n.d(t, "a", function () {
+        return r;
+      }),
+        n.d(t, "b", function () {
+          return a;
+        }),
+        (function (e) {
+          (e.Series = "series"),
+            (e.Field = "field"),
+            (e.Fields = "fields"),
+            (e.Value = "value"),
+            (e.BuiltIn = "built-in"),
+            (e.Template = "template");
+        })(r || (r = {})),
+        (function (e) {
+          e.Values = "values";
+        })(a || (a = {}));
+    },
+    exx3: function (e, t, n) {
+      "use strict";
+      var r;
+      !(function (e) {
+        (e.math = "math"), (e.reduce = "reduce"), (e.resample = "resample");
+      })(r || (r = {}));
+      var a = n("q1tI"),
+        o = n.n(a),
+        i = n("kDLi"),
+        l = n("Obii");
+      function s(e) {
+        return (s =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function c(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function u(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? c(Object(n), !0).forEach(function (t) {
+                f(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : c(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function f(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function d(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function p(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function h(e, t) {
+        return !t || ("object" !== s(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function m(e) {
+        return (m = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function g(e, t) {
+        return (g =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var b = [
+          { value: r.math, label: "Math" },
+          { value: r.reduce, label: "Reduce" },
+          { value: r.resample, label: "Resample" },
+        ],
+        v = [
+          {
+            value: l.ReducerID.min,
+            label: "Min",
+            description: "Get the minimum value",
+          },
+          {
+            value: l.ReducerID.max,
+            label: "Max",
+            description: "Get the maximum value",
+          },
+          {
+            value: l.ReducerID.mean,
+            label: "Mean",
+            description: "Get the average value",
+          },
+          {
+            value: l.ReducerID.sum,
+            label: "Sum",
+            description: "Get the sum of all values",
+          },
+          {
+            value: l.ReducerID.count,
+            label: "Count",
+            description: "Get the number of values",
+          },
+        ],
+        y = [
+          {
+            value: l.ReducerID.min,
+            label: "Min",
+            description: "Fill with the minimum value",
+          },
+          {
+            value: l.ReducerID.max,
+            label: "Max",
+            description: "Fill with the maximum value",
+          },
+          {
+            value: l.ReducerID.mean,
+            label: "Mean",
+            description: "Fill with the average value",
+          },
+          {
+            value: l.ReducerID.sum,
+            label: "Sum",
+            description: "Fill with the sum of all values",
+          },
+        ],
+        w = [
+          {
+            value: "pad",
+            label: "pad",
+            description: "fill with the last known value",
+          },
+          {
+            value: "backfilling",
+            label: "backfilling",
+            description: "fill with the next known value",
+          },
+          { value: "fillna", label: "fillna", description: "Fill with NaNs" },
+        ],
+        O = (function (e) {
+          function t() {
+            var e, n;
+            d(this, t);
+            for (var a = arguments.length, o = new Array(a), i = 0; i < a; i++)
+              o[i] = arguments[i];
+            return (
+              ((n = h(
+                this,
+                (e = m(t)).call.apply(e, [this].concat(o))
+              )).state = {}),
+              (n.onSelectGELType = function (e) {
+                var t = n.props,
+                  a = t.query,
+                  o = t.onChange,
+                  i = u({}, a, { type: e.value });
+                i.type === r.reduce
+                  ? (i.reducer || (i.reducer = l.ReducerID.mean),
+                    (i.expression = void 0))
+                  : i.type === r.resample
+                  ? (i.downsampler || (i.downsampler = l.ReducerID.mean),
+                    i.upsampler || (i.upsampler = "fillna"),
+                    (i.reducer = void 0))
+                  : (i.reducer = void 0),
+                  o(i);
+              }),
+              (n.onSelectReducer = function (e) {
+                var t = n.props,
+                  r = t.query;
+                (0, t.onChange)(u({}, r, { reducer: e.value }));
+              }),
+              (n.onSelectUpsampler = function (e) {
+                var t = n.props,
+                  r = t.query;
+                (0, t.onChange)(u({}, r, { upsampler: e.value }));
+              }),
+              (n.onSelectDownsampler = function (e) {
+                var t = n.props,
+                  r = t.query;
+                (0, t.onChange)(u({}, r, { downsampler: e.value }));
+              }),
+              (n.onRuleReducer = function (e) {
+                var t = n.props,
+                  r = t.query;
+                (0, t.onChange)(u({}, r, { rule: e.value }));
+              }),
+              (n.onExpressionChange = function (e) {
+                var t = n.props,
+                  r = t.query;
+                (0, t.onChange)(u({}, r, { expression: e.target.value }));
+              }),
+              (n.onRuleChange = function (e) {
+                var t = n.props,
+                  r = t.query;
+                (0, t.onChange)(u({}, r, { rule: e.target.value }));
+              }),
+              n
+            );
+          }
+          var n, a, s;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && g(e, t);
+            })(t, e),
+            (n = t),
+            (a = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props.query,
+                    t = b.find(function (t) {
+                      return t.value === e.type;
+                    }),
+                    n = v.find(function (t) {
+                      return t.value === e.reducer;
+                    }),
+                    a = y.find(function (t) {
+                      return t.value === e.downsampler;
+                    }),
+                    l = w.find(function (t) {
+                      return t.value === e.upsampler;
+                    });
+                  return o.a.createElement(
+                    "div",
+                    null,
+                    o.a.createElement(
+                      "div",
+                      { className: "form-field" },
+                      o.a.createElement(i.Select, {
+                        options: b,
+                        value: t,
+                        onChange: this.onSelectGELType,
+                      }),
+                      e.type === r.reduce &&
+                        o.a.createElement(
+                          o.a.Fragment,
+                          null,
+                          o.a.createElement(
+                            i.FormLabel,
+                            { width: 5 },
+                            "Function:"
+                          ),
+                          o.a.createElement(i.Select, {
+                            options: v,
+                            value: n,
+                            onChange: this.onSelectReducer,
+                          }),
+                          o.a.createElement(i.FormField, {
+                            label: "Fields:",
+                            labelWidth: 5,
+                            onChange: this.onExpressionChange,
+                            value: e.expression,
+                          })
+                        )
+                    ),
+                    e.type === r.math &&
+                      o.a.createElement("textarea", {
+                        value: e.expression,
+                        onChange: this.onExpressionChange,
+                        className: "gf-form-input",
+                        rows: 2,
+                      }),
+                    e.type === r.resample &&
+                      o.a.createElement(
+                        o.a.Fragment,
+                        null,
+                        o.a.createElement(
+                          "div",
+                          null,
+                          o.a.createElement(i.FormField, {
+                            label: "Series:",
+                            labelWidth: 5,
+                            onChange: this.onExpressionChange,
+                            value: e.expression,
+                          }),
+                          o.a.createElement(i.FormField, {
+                            label: "Rule:",
+                            labelWidth: 5,
+                            onChange: this.onRuleChange,
+                            value: e.rule,
+                          })
+                        ),
+                        o.a.createElement(
+                          "div",
+                          null,
+                          o.a.createElement(
+                            i.FormLabel,
+                            { width: 12 },
+                            "Downsample Function:"
+                          ),
+                          o.a.createElement(i.Select, {
+                            options: y,
+                            value: a,
+                            onChange: this.onSelectDownsampler,
+                          }),
+                          o.a.createElement(
+                            i.FormLabel,
+                            { width: 12 },
+                            "Upsample Function:"
+                          ),
+                          o.a.createElement(i.Select, {
+                            options: w,
+                            value: l,
+                            onChange: this.onSelectUpsampler,
+                          })
+                        )
+                      )
+                  );
+                },
+              },
+            ]) && p(n.prototype, a),
+            s && p(n, s),
+            t
+          );
+        })(a.PureComponent),
+        x = n("t8hP");
+      function k(e) {
+        return (k =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function j(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function S(e, t) {
+        return !t || ("object" !== k(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function E(e) {
+        return (E = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function C(e, t) {
+        return (C =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      n.d(t, "a", function () {
+        return T;
+      }),
+        n.d(t, "b", function () {
+          return D;
+        });
+      var P = (function (e) {
+          function t(e) {
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              S(this, E(t).call(this, e))
+            );
+          }
+          var n, a, o;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && C(e, t);
+            })(t, e),
+            (n = t),
+            (a = [
+              {
+                key: "getCollapsedText",
+                value: function (e) {
+                  return "Expression: ".concat(e.type);
+                },
+              },
+              {
+                key: "newQuery",
+                value: function () {
+                  return { refId: "--", type: r.math, datasource: T };
+                },
+              },
+            ]) && j(n.prototype, a),
+            o && j(n, o),
+            t
+          );
+        })(x.DataSourceWithBackend),
+        T = "__expr__",
+        D = new P({ id: -100, name: T });
+      (D.meta = {
+        id: T,
+        info: {
+          logos: {
+            small: "public/img/icn-datasource.svg",
+            large: "public/img/icn-datasource.svg",
+          },
+        },
+      }),
+        (D.components = { QueryEditor: O });
+    },
+    fL47: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return v;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDLi"),
+        i = n("Obii"),
+        l = n("LvDl"),
+        s = n("Xmxp"),
+        c = n("t8hP"),
+        u = n("umNM");
+      function f(e) {
+        return (f =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function d(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function p(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              d(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              d(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function h(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function m(e, t) {
+        return !t || ("object" !== f(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function g(e) {
+        return (g = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function b(e, t) {
+        return (b =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var v = (function (e) {
+        function t(e) {
+          var n;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            ((n = m(this, g(t).call(this, e))).componentDidMount = p(
+              regeneratorRuntime.mark(function e() {
+                return regeneratorRuntime.wrap(function (e) {
+                  for (;;)
+                    switch ((e.prev = e.next)) {
+                      case 0:
+                        return (e.next = 2), n.loadInitialValue();
+                      case 2:
+                      case "end":
+                        return e.stop();
+                    }
+                }, e);
+              })
+            )),
+            (n.getOptions = (function () {
+              var e = p(
+                regeneratorRuntime.mark(function e(t) {
+                  var r, a, o, i, l, s, f;
+                  return regeneratorRuntime.wrap(function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (
+                            (r = n.props),
+                            (a = r.rootName),
+                            (o = r.enableReset),
+                            (i = r.initialTitle),
+                            (l = {
+                              query: t,
+                              type: "dash-folder",
+                              permission: "Edit",
+                            }),
+                            (e.next = 4),
+                            Object(c.getBackendSrv)().search(l)
+                          );
+                        case 4:
+                          return (
+                            (s = e.sent),
+                            (f = s.map(function (e) {
+                              return { label: e.title, value: e.id };
+                            })),
+                            u.a.isEditor &&
+                              (null == a
+                                ? void 0
+                                : a
+                                    .toLowerCase()
+                                    .startsWith(t.toLowerCase())) &&
+                              f.unshift({ label: a, value: 0 }),
+                            o &&
+                              "" === t &&
+                              "" !== i &&
+                              f.unshift({ label: i, value: void 0 }),
+                            e.abrupt("return", f)
+                          );
+                        case 9:
+                        case "end":
+                          return e.stop();
+                      }
+                  }, e);
+                })
+              );
+              return function (t) {
+                return e.apply(this, arguments);
+              };
+            })()),
+            (n.onFolderChange = function (e) {
+              e || (e = { value: 0, label: n.props.rootName }),
+                n.setState({ folder: e }, function () {
+                  return n.props.onChange({ id: e.value, title: e.label });
+                });
+            }),
+            (n.createNewFolder = (function () {
+              var e = p(
+                regeneratorRuntime.mark(function e(t) {
+                  var r, a;
+                  return regeneratorRuntime.wrap(function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (
+                            (e.next = 2),
+                            Object(c.getBackendSrv)().createFolder({ title: t })
+                          );
+                        case 2:
+                          if (
+                            ((r = e.sent),
+                            (a = { value: -1, label: "Not created" }),
+                            !(r.id > -1))
+                          ) {
+                            e.next = 11;
+                            break;
+                          }
+                          return (
+                            s.b.emit(i.AppEvents.alertSuccess, [
+                              "Folder Created",
+                              "OK",
+                            ]),
+                            (a = { value: r.id, label: r.title }),
+                            (e.next = 9),
+                            n.onFolderChange(a)
+                          );
+                        case 9:
+                          e.next = 12;
+                          break;
+                        case 11:
+                          s.b.emit(i.AppEvents.alertError, [
+                            "Folder could not be created",
+                          ]);
+                        case 12:
+                          return e.abrupt("return", a);
+                        case 13:
+                        case "end":
+                          return e.stop();
+                      }
+                  }, e);
+                })
+              );
+              return function (t) {
+                return e.apply(this, arguments);
+              };
+            })()),
+            (n.loadInitialValue = p(
+              regeneratorRuntime.mark(function e() {
+                var t, r, a, o, i, l, s, c, f, d;
+                return regeneratorRuntime.wrap(function (e) {
+                  for (;;)
+                    switch ((e.prev = e.next)) {
+                      case 0:
+                        return (
+                          (t = n.props),
+                          (r = t.initialTitle),
+                          (a = t.rootName),
+                          (o = t.initialFolderId),
+                          (i = t.enableReset),
+                          (l = t.dashboardId),
+                          (s = { label: r, value: void 0 }),
+                          (c = { label: a, value: 0 }),
+                          (e.next = 5),
+                          n.getOptions("")
+                        );
+                      case 5:
+                        (f = e.sent),
+                          (d = { value: -1 }),
+                          null != o && o > -1
+                            ? (d = f.find(function (e) {
+                                return e.value === o;
+                              }) || { value: -1 })
+                            : i && r && (d = s),
+                          d ||
+                            (d = u.a.isEditor
+                              ? c
+                              : !!l
+                              ? s
+                              : f.length > 0
+                              ? f[0]
+                              : s),
+                          n.setState({ folder: d }, function () {
+                            d.value !== o &&
+                              n.props.onChange({ id: d.value, title: d.text });
+                          });
+                      case 10:
+                      case "end":
+                        return e.stop();
+                    }
+                }, e);
+              })
+            )),
+            (n.state = { folder: {} }),
+            (n.debouncedSearch = Object(l.debounce)(n.getOptions, 300, {
+              leading: !0,
+              trailing: !0,
+            })),
+            n
+          );
+        }
+        var n, r, f;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && b(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e = this.state.folder,
+                  t = this.props,
+                  n = t.enableCreateNew,
+                  r = t.useNewForms;
+                return a.a.createElement(
+                  a.a.Fragment,
+                  null,
+                  r &&
+                    a.a.createElement(o.Forms.AsyncSelect, {
+                      loadingMessage: "Loading folders...",
+                      defaultOptions: !0,
+                      defaultValue: e,
+                      value: e,
+                      allowCustomValue: n,
+                      loadOptions: this.debouncedSearch,
+                      onChange: this.onFolderChange,
+                      onCreateOption: this.createNewFolder,
+                      size: "sm",
+                      menuPosition: "fixed",
+                    }),
+                  !r &&
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form-inline" },
+                      a.a.createElement(
+                        "div",
+                        { className: "gf-form" },
+                        a.a.createElement(
+                          "label",
+                          { className: "gf-form-label width-7" },
+                          "Folder"
+                        ),
+                        a.a.createElement(o.Forms.AsyncSelect, {
+                          loadingMessage: "Loading folders...",
+                          defaultOptions: !0,
+                          defaultValue: e,
+                          value: e,
+                          allowCustomValue: n,
+                          loadOptions: this.debouncedSearch,
+                          onChange: this.onFolderChange,
+                          onCreateOption: this.createNewFolder,
+                          size: "sm",
+                        })
+                      )
+                    )
+                );
+              },
+            },
+          ]) && h(n.prototype, r),
+          f && h(n, f),
+          t
+        );
+      })(r.PureComponent);
+      v.defaultProps = {
+        rootName: "General",
+        enableReset: !1,
+        initialTitle: "",
+        enableCreateNew: !1,
+      };
+    },
+    fQqI: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return i;
+      });
+      var r = n("LvDl"),
+        a = n.n(r);
+      function o(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var i = (function () {
+        function e(t, n) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$scope = t),
+            (this.$injector = n),
+            (this.panel = this.panelCtrl.panel),
+            (this.isLastQuery =
+              a.a.indexOf(this.panel.targets, this.target) ===
+              this.panel.targets.length - 1);
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "refresh",
+              value: function () {
+                this.panelCtrl.refresh();
+              },
+            },
+          ]) && o(t.prototype, n),
+          r && o(t, r),
+          e
+        );
+      })();
+    },
+    fZn8: function (e, t, n) {
+      "use strict";
+      n.d(t, "c", function () {
+        return c;
+      }),
+        n.d(t, "b", function () {
+          return u;
+        });
+      var r = n("i7Pf");
+      function a(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function o(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? a(Object(n), !0).forEach(function (t) {
+                i(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : a(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function i(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var l = Object(r.c)({
+          name: "organization",
+          initialState: { organization: {} },
+          reducers: {
+            organizationLoaded: function (e, t) {
+              return o({}, e, { organization: t.payload });
+            },
+            setOrganizationName: function (e, t) {
+              return o({}, e, {
+                organization: o({}, e.organization, { name: t.payload }),
+              });
+            },
+          },
+        }),
+        s = l.actions,
+        c = s.setOrganizationName,
+        u = s.organizationLoaded,
+        f = l.reducer;
+      t.a = { organization: f };
+    },
+    gKd5: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return i;
+      }),
+        n.d(t, "b", function () {
+          return l;
+        });
+      var r = n("KyLG"),
+        a = n("+CPp"),
+        o = n("mpro"),
+        i = {},
+        l = function () {
+          var e,
+            t,
+            n =
+              arguments.length > 0 && void 0 !== arguments[0]
+                ? arguments[0]
+                : i,
+            l = arguments.length > 1 ? arguments[1] : void 0;
+          if (r.b.match(l)) {
+            var s = Object.values(n).filter(function (e) {
+              return e.global;
+            });
+            if (!s) return i;
+            var c = s.reduce(function (e, t) {
+              return (e[t.uuid] = t), e;
+            }, {});
+            return c;
+          }
+          return (null == l
+            ? void 0
+            : null === (e = l.payload) || void 0 === e
+            ? void 0
+            : e.type) &&
+            a.a.contains(
+              null == l
+                ? void 0
+                : null === (t = l.payload) || void 0 === t
+                ? void 0
+                : t.type
+            )
+            ? a.a.get(l.payload.type).reducer(Object(o.k)(n, l), l)
+            : n;
+        };
+    },
+    gw38: function (e, t) {
+      var n = "public/app/plugins/datasource/mysql/partials/query.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<query-editor-row query-ctrl=ctrl has-text-edit-mode=true>\n\n  <div ng-if=ctrl.target.rawQuery>\n    <div class=gf-form-inline>\n      <div class="gf-form gf-form--grow">\n        <code-editor content=ctrl.target.rawSql datasource=ctrl.datasource on-change=ctrl.panelCtrl.refresh() data-mode=sql>\n        </code-editor>\n      </div>\n    </div>\n  </div>\n\n  <div ng-if=!ctrl.target.rawQuery>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-6">FROM</label>\n        <metric-segment segment=ctrl.tableSegment get-options=ctrl.getTableSegments() on-change=ctrl.tableChanged()></metric-segment>\n\n        <label class="gf-form-label query-keyword width-7">Time column</label>\n        <metric-segment segment=ctrl.timeColumnSegment get-options=ctrl.getTimeColumnSegments() on-change=ctrl.timeColumnChanged()></metric-segment>\n\n        <label class="gf-form-label query-keyword width-9">\n          Metric column\n          <info-popover mode=right-normal>Column to be used as metric name for the value column.</info-popover>\n        </label>\n        <metric-segment segment=ctrl.metricColumnSegment get-options=ctrl.getMetricColumnSegments() on-change=ctrl.metricColumnChanged()></metric-segment>\n      </div>\n\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n\n    </div>\n\n    <div class=gf-form-inline ng-repeat="selectParts in ctrl.selectParts">\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-6">\n          <span ng-show="$index === 0">SELECT</span>&nbsp;\n        </label>\n      </div>\n\n      <div class=gf-form ng-repeat="part in selectParts">\n        <sql-part-editor class="gf-form-label sql-part" part=part handle-event="ctrl.handleSelectPartEvent(selectParts, part, $event)">\n        </sql-part-editor>\n      </div>\n\n      <div class=gf-form>\n        <label class=dropdown dropdown-typeahead2=ctrl.selectMenu dropdown-typeahead-on-select="ctrl.addSelectPart(selectParts, $item, $subItem)" button-template-class="gf-form-label query-part">\n        </label>\n      </div>\n\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-6">WHERE</label>\n      </div>\n\n      <div class=gf-form ng-repeat="part in ctrl.whereParts">\n        <sql-part-editor class="gf-form-label sql-part" part=part handle-event="ctrl.handleWherePartEvent(ctrl.whereParts, part, $event, $index)">\n        </sql-part-editor>\n      </div>\n\n      <div class=gf-form>\n        <metric-segment segment=ctrl.whereAdd get-options=ctrl.getWhereOptions() on-change="ctrl.addWhereAction(part, $index)"></metric-segment>\n      </div>\n\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n\n    </div>\n\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label query-keyword width-6">\n          <span>GROUP BY</span>\n        </label>\n\n        <sql-part-editor ng-repeat="part in ctrl.groupParts" part=part class="gf-form-label sql-part" handle-event="ctrl.handleGroupPartEvent(part, $index, $event)">\n        </sql-part-editor>\n      </div>\n\n      <div class=gf-form>\n        <metric-segment segment=ctrl.groupAdd get-options=ctrl.getGroupOptions() on-change="ctrl.addGroupAction(part, $index)"></metric-segment>\n      </div>\n\n      <div class="gf-form gf-form--grow">\n        <div class="gf-form-label gf-form-label--grow"></div>\n      </div>\n    </div>\n\n  </div>\n\n  <div class=gf-form-inline>\n    <div class=gf-form>\n      <label class="gf-form-label query-keyword">Format as</label>\n      <div class=gf-form-select-wrapper>\n        <select class="gf-form-input gf-size-auto" ng-model=ctrl.target.format ng-options="f.value as f.text for f in ctrl.formats" ng-change=ctrl.refresh()></select>\n      </div>\n    </div>\n    <div class=gf-form>\n      <label class="gf-form-label query-keyword pointer" ng-click=ctrl.toggleEditorMode() ng-show="ctrl.panelCtrl.panel.type !== \'table\'">\n        <span ng-show=ctrl.target.rawQuery>Query Builder</span>\n        <span ng-hide=ctrl.target.rawQuery>Edit SQL</span>\n      </label>\n    </div>\n    <div class=gf-form>\n      <label class="gf-form-label query-keyword pointer" ng-click="ctrl.showHelp = !ctrl.showHelp">\n        Show Help\n        <i class="fa fa-caret-down" ng-show=ctrl.showHelp></i>\n        <i class="fa fa-caret-right" ng-hide=ctrl.showHelp></i>\n      </label>\n    </div>\n    <div class=gf-form ng-show=ctrl.lastQueryMeta>\n      <label class="gf-form-label query-keyword pointer" ng-click="ctrl.showLastQuerySQL = !ctrl.showLastQuerySQL">\n        Generated SQL\n        <i class="fa fa-caret-down" ng-show=ctrl.showLastQuerySQL></i>\n        <i class="fa fa-caret-right" ng-hide=ctrl.showLastQuerySQL></i>\n      </label>\n    </div>\n    <div class="gf-form gf-form--grow">\n      <div class="gf-form-label gf-form-label--grow"></div>\n    </div>\n  </div>\n\n  <div class=gf-form ng-show=ctrl.showLastQuerySQL>\n    <pre class=gf-form-pre>{{ctrl.lastQueryMeta.sql}}</pre>\n  </div>\n\n  <div class=gf-form ng-show=ctrl.showHelp>\n    <pre class="gf-form-pre alert alert-info">Time series:\n- return column named time or time_sec (in UTC), as a unix time stamp or any sql native date data type. You can use the macros below.\n- return column(s) with numeric datatype as values\nOptional:\n  - return column named <i>metric</i> to represent the series name.\n  - If multiple value columns are returned the metric column is used as prefix.\n  - If no column named metric is found the column name of the value column is used as series name\n\nResultsets of time series queries need to be sorted by time.\n\nTable:\n- return any set of columns\n\nMacros:\n- $__time(column) -&gt; UNIX_TIMESTAMP(column) as time_sec\n- $__timeEpoch(column) -&gt; UNIX_TIMESTAMP(column) as time_sec\n- $__timeFilter(column) -&gt; column BETWEEN FROM_UNIXTIME(1492750877) AND FROM_UNIXTIME(1492750877)\n- $__unixEpochFilter(column) -&gt;  time_unix_epoch &gt; 1492750877 AND time_unix_epoch &lt; 1492750877\n- $__unixEpochNanoFilter(column) -&gt;  column &gt;= 1494410783152415214 AND column &lt;= 1494497183142514872\n- $__timeGroup(column,\'5m\'[, fillvalue]) -&gt; cast(cast(UNIX_TIMESTAMP(column)/(300) as signed)*300 as signed)\n     by setting fillvalue grafana will fill in missing values according to the interval\n     fillvalue can be either a literal value, NULL or previous; previous will fill in the previous seen value or NULL if none has been seen yet\n- $__timeGroupAlias(column,\'5m\') -&gt; cast(cast(UNIX_TIMESTAMP(column)/(300) as signed)*300 as signed) AS "time"\n- $__unixEpochGroup(column,\'5m\') -&gt; column DIV 300 * 300\n- $__unixEpochGroupAlias(column,\'5m\') -&gt; column DIV 300 * 300 AS "time"\n\nExample of group by and order by with $__timeGroup:\nSELECT\n  $__timeGroupAlias(timestamp_col, \'1h\'),\n  sum(value_double) as value\nFROM yourtable\nGROUP BY 1\nORDER BY 1\n\nOr build your own conditionals using these macros which just return the values:\n- $__timeFrom() -&gt; FROM_UNIXTIME(1492750877)\n- $__timeTo() -&gt;  FROM_UNIXTIME(1492750877)\n- $__unixEpochFrom() -&gt;  1492750877\n- $__unixEpochTo() -&gt;  1492750877\n- $__unixEpochNanoFrom() -&gt;  1494410783152415214\n- $__unixEpochNanoTo() -&gt;  1494497183142514872\n    </pre>\n  </div>\n\n  \n\n  <div class=gf-form ng-show=ctrl.lastQueryError>\n    <pre class="gf-form-pre alert alert-error">{{ctrl.lastQueryError}}</pre>\n  </div>\n\n</query-editor-row>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    h3Ht: function (e, t, n) {
+      "use strict";
+      var r = n("SMGL"),
+        a = n("LvDl"),
+        o = n.n(a),
+        i = n("ZFWI");
+      function l(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var s = new ((function () {
+        function e() {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e);
+        }
+        var t, n, a;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "addDashboardImpression",
+              value: function (e) {
+                var t = this.impressionKey(),
+                  n = [];
+                r.a.exists(t) &&
+                  ((n = JSON.parse(r.a.get(t))), o.a.isArray(n) || (n = [])),
+                  (n = n.filter(function (t) {
+                    return e !== t;
+                  })).unshift(e),
+                  n.length > 50 && n.pop(),
+                  r.a.set(t, JSON.stringify(n));
+              },
+            },
+            {
+              key: "getDashboardOpened",
+              value: function () {
+                var e = r.a.get(this.impressionKey()) || "[]";
+                return (
+                  (e = JSON.parse(e)),
+                  (e = o.a.filter(e, function (e) {
+                    return o.a.isNumber(e);
+                  }))
+                );
+              },
+            },
+            {
+              key: "impressionKey",
+              value: function () {
+                return "dashboard_impressions-" + i.b.bootData.user.orgId;
+              },
+            },
+          ]) && l(t.prototype, n),
+          a && l(t, a),
+          e
+        );
+      })())();
+      t.a = s;
+    },
+    hE9y: function (e, t) {
+      var n = "public/app/plugins/panel/singlestat/editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=editor-row>\n\n  <div class=grafana-info-box ng-if=ctrl.panel.gauge.show>\n    <h5>Gauge Migration</h5>\n    <p>\n      Gauge visualizations within the Singlestat panel are deprecated.  Please\n      migrate this panel to use the Gauge panel\n\n      </p><div class=gf-form-button-row>\n        <button class="btn btn-primary" ng-click=ctrl.migrateToGaugePanel(true)>\n          Migrate to Gauge Panel\n        </button>\n        <button class="btn btn-inverse" ng-click=ctrl.migrateToGaugePanel(false)>\n          Show as single stat\n        </button>\n      </div>\n\n      <br/>\n\n      <div ng-if=ctrl.panel.sparkline.show>\n        <b>NOTE:</b> Sparklines are not supported in the gauge panel\n      </div>\n\n      <div ng-if=ctrl.panel.prefix>\n        <b>NOTE:</b> Prefix will not be show in the gauge panel\n      </div>\n\n      <div ng-if=ctrl.panel.postfix>\n        <b>NOTE:</b> Postfix will not be show in the gauge panel\n      </div>\n\n      <div ng-if="ctrl.panel.links && ctrl.panel.links.length">\n        <b>NOTE:</b> Links will be in the upper left corner, rather than anywhere on the gauge\n      </div>\n    <p></p>\n  </div>\n\n\n  <div class="section gf-form-group">\n    <h5 class=section-heading>Value</h5>\n\n    <div class=gf-form-inline>\n      <div class=gf-form ng-if="ctrl.fieldNames.length > 1">\n        <label class="gf-form-label width-6">Field</label>\n        <div class="gf-form-select-wrapper width-12">\n          <select class=gf-form-input ng-model=ctrl.panel.tableColumn ng-options="f for f in ctrl.fieldNames" ng-change=ctrl.refresh()></select>\n        </div>\n      </div>\n    </div>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label width-6">Show</label>\n        <div class="gf-form-select-wrapper width-12">\n          <select class=gf-form-input ng-model=ctrl.panel.valueName ng-options="f.value as f.text for f in ctrl.valueNameOptions" ng-change=ctrl.refresh()></select>\n        </div>\n      </div>\n      <div class=gf-form>\n        <label class="gf-form-label width-6">Font size</label>\n        <div class=gf-form-select-wrapper>\n          <select class=gf-form-input ng-model=ctrl.panel.valueFontSize ng-options="f for f in ctrl.fontSizes" ng-change=ctrl.render()></select>\n        </div>\n      </div>\n    </div>\n\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label width-6">Prefix</label>\n        <input type=text class="gf-form-input width-12" ng-model=ctrl.panel.prefix ng-change=ctrl.render() ng-model-onblur>\n      </div>\n      <div class=gf-form>\n        <label class="gf-form-label width-6">Font size</label>\n        <div class=gf-form-select-wrapper>\n          <select class=gf-form-input ng-model=ctrl.panel.prefixFontSize ng-options="f for f in ctrl.fontSizes" ng-change=ctrl.render() ng-disabled=!ctrl.canModifyText()></select>\n        </div>\n      </div>\n    </div>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label width-6">Postfix</label>\n        <input type=text class="gf-form-input width-12" ng-model=ctrl.panel.postfix ng-change=ctrl.render() ng-model-onblur>\n      </div>\n      <div class=gf-form>\n        <label class="gf-form-label width-6">Font size</label>\n        <div class=gf-form-select-wrapper>\n          <select class="input-small gf-form-input" ng-model=ctrl.panel.postfixFontSize ng-options="f for f in ctrl.fontSizes" ng-change=ctrl.render() ng-disabled=!ctrl.canModifyText()></select>\n        </div>\n      </div>\n    </div>\n    <div class=gf-form>\n      <label class="gf-form-label width-6">Unit</label>\n      <unit-picker onchange=ctrl.setUnitFormat() value=ctrl.panel.format width=18 />\n    </div>\n    <div class=gf-form>\n      <label class="gf-form-label width-6">Decimals</label>\n      <input type=number class="gf-form-input width-18" placeholder=auto data-placement=right bs-tooltip="\'Override automatic decimal precision for legend and tooltips\'" ng-model=ctrl.panel.decimals ng-change=ctrl.refresh() ng-model-onblur>\n    </div>\n  </div>\n\n  <div class="section gf-form-group">\n    <h5 class=section-heading>Coloring</h5>\n    <div class=gf-form-inline>\n      <gf-form-switch class=gf-form label-class=width-8 label=Background checked=ctrl.panel.colorBackground on-change=ctrl.render()></gf-form-switch>\n      <gf-form-switch class=gf-form label-class=width-6 label=Value checked=ctrl.panel.colorValue on-change=ctrl.render()></gf-form-switch>\n    </div>\n    <div class=gf-form-inline>\n      <gf-form-switch class=gf-form label-class=width-8 label=Prefix checked=ctrl.panel.colorPrefix on-change=ctrl.render() ng-disabled=!ctrl.canModifyText()></gf-form-switch>\n      <gf-form-switch class=gf-form label-class=width-6 label=Postfix checked=ctrl.panel.colorPostfix on-change=ctrl.render() ng-disabled=!ctrl.canModifyText()></gf-form-switch>\n    </div>\n    <div class=gf-form-inline>\n      <div class="gf-form max-width-21">\n        <label class="gf-form-label width-8">Thresholds\n          <tip>Define two threshold values&lt;br /&gt; 50,80 will produce: value &lt; 50 = Green, 50 &lt;= value &lt; 80 = Yellow, value &gt;= 80 = Red</tip>\n        </label>\n        <input type=text class=gf-form-input ng-model=ctrl.panel.thresholds ng-blur=ctrl.render() placeholder=50,80>\n      </div>\n    </div>\n    <div class=gf-form>\n      <label class="gf-form-label width-8">Colors</label>\n      <span class=gf-form-label ng-repeat="color in ctrl.panel.colors track by $index">\n        <color-picker color=color onchange=ctrl.onColorChange($index)></color-picker>\n      </span>\n      <span class=gf-form-label>\n        <a ng-click=ctrl.invertColorOrder()>\n          Invert\n        </a>\n      </span>\n    </div>\n  </div>\n\n  <div class="section gf-form-group">\n    <h5 class=section-heading>Spark lines</h5>\n    <gf-form-switch class=gf-form label-class=width-9 label=Show checked=ctrl.panel.sparkline.show on-change=ctrl.refresh()></gf-form-switch>\n    <div ng-if=ctrl.panel.sparkline.show>\n      <gf-form-switch class=gf-form label-class=width-9 label="Full height" checked=ctrl.panel.sparkline.full on-change=ctrl.render()></gf-form-switch>\n      <div class=gf-form>\n        <label class="gf-form-label width-9">Y-Min</label>\n        <input type=number class="gf-form-input width-5" placeholder=auto data-placement=right ng-model=ctrl.panel.sparkline.ymin ng-change=ctrl.render() ng-model-onblur empty-to-null>\n      </div>\n      <div class=gf-form>\n        <label class="gf-form-label width-9">Y-Max</label>\n        <input type=number class="gf-form-input width-5" placeholder=auto data-placement=right ng-model=ctrl.panel.sparkline.ymax ng-change=ctrl.render() ng-model-onblur empty-to-null>\n      </div>\n      <div class=gf-form>\n        <label class="gf-form-label width-9">Line Color</label>\n        <span class=gf-form-label>\n          <color-picker color=ctrl.panel.sparkline.lineColor onchange=ctrl.onSparklineColorChange></color-picker>\n        </span>\n      </div>\n      <div class=gf-form>\n        <label class="gf-form-label width-9">Fill Color</label>\n        <span class=gf-form-label>\n          <color-picker color=ctrl.panel.sparkline.fillColor onchange=ctrl.onSparklineFillChange></color-picker>\n        </span>\n      </div>\n    </div>\n  </div>\n\n  <div class="section gf-form-group" ng-if=ctrl.panel.gauge.show>\n    <h5 class=section-heading>Gauge</h5>\n    <gf-form-switch class=gf-form label-class=width-10 switch-class=max-width-6 label=Show checked=ctrl.panel.gauge.show on-change=ctrl.render()></gf-form-switch>\n    <div ng-if=ctrl.panel.gauge.show>\n      <div class=gf-form>\n        <label class="gf-form-label width-10">Min</label>\n        <input type=number class="gf-form-input width-6" placeholder=0 data-placement=right ng-model=ctrl.panel.gauge.minValue ng-change=ctrl.refresh() ng-model-onblur>\n        <label class="gf-form-label alert-state-critical" ng-show=ctrl.invalidGaugeRange>\n          &nbsp; <i class="fa fa-warning"></i>\n          Min value is bigger than max.\n        </label>\n      </div>\n      <div class=gf-form>\n        <label class="gf-form-label width-10">Max</label>\n        <input type=number class="gf-form-input width-6" placeholder=0 data-placement=right ng-model=ctrl.panel.gauge.maxValue ng-change=ctrl.refresh() ng-model-onblur>\n      </div>\n      <gf-form-switch class=gf-form label-class=width-10 switch-class=max-width-6 label="Threshold labels" checked=ctrl.panel.gauge.thresholdLabels on-change=ctrl.render()></gf-form-switch>\n      <gf-form-switch class=gf-form label-class=width-10 switch-class=max-width-6 label="Threshold markers" checked=ctrl.panel.gauge.thresholdMarkers on-change=ctrl.render()></gf-form-switch>\n    </div>\n  </div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    hSYD: function (e, t) {
+      var n =
+        "public/app/plugins/datasource/cloudwatch/partials/query.parameter.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=gf-form-inline>\n  <div class=gf-form>\n    <label class="gf-form-label query-keyword width-8">Region</label>\n    <metric-segment segment=regionSegment get-options=getRegions() on-change=regionChanged()></metric-segment>\n  </div>\n\n  <div class="gf-form gf-form--grow">\n    <div class="gf-form-label gf-form-label--grow"></div>\n  </div>\n</div>\n\n<div class=gf-form-inline ng-if="target.expression.length === 0">\n  <div class=gf-form>\n    <label class="gf-form-label query-keyword width-8">Metric</label>\n\n    <metric-segment segment=namespaceSegment get-options=getNamespaces() on-change=namespaceChanged()></metric-segment>\n    <metric-segment segment=metricSegment get-options=getMetrics() on-change=metricChanged()></metric-segment>\n  </div>\n\n  <div class=gf-form>\n    <label class="gf-form-label query-keyword">Stats</label>\n  </div>\n\n  <div class=gf-form ng-repeat="segment in statSegments">\n    <metric-segment segment=segment get-options="getStatSegments(segment, $index)" on-change="statSegmentChanged(segment, $index)"></metric-segment>\n  </div>\n\n  <div class="gf-form gf-form--grow">\n    <div class="gf-form-label gf-form-label--grow"></div>\n  </div>\n</div>\n\n<div class=gf-form-inline ng-if="target.expression.length === 0">\n  <div class=gf-form>\n    <label class="gf-form-label query-keyword width-8">Dimensions</label>\n    <metric-segment ng-repeat="segment in dimSegments" segment=segment get-options="getDimSegments(segment, $index)" on-change="dimSegmentChanged(segment, $index)"></metric-segment>\n  </div>\n\n  <div class="gf-form gf-form--grow">\n    <div class="gf-form-label gf-form-label--grow"></div>\n  </div>\n</div>\n\n<div class=gf-form-inline ng-if="target.statistics.length === 1">\n  <div class=gf-form>\n    <label class="gf-form-label query-keyword width-8">\n      Id\n      <info-popover mode="right-normal ">Id can include numbers, letters, and underscore, and must start with a lowercase letter.</info-popover>\n    </label>\n    <input type="text " class=gf-form-input ng-model="target.id " spellcheck=false ng-pattern=/^[a-z][a-zA-Z0-9_]*$/ ng-model-onblur ng-change="onChange() "/>\n  </div>\n  <div class="gf-form max-width-30">\n    <label class="gf-form-label query-keyword width-7">Expression</label>\n    <input type="text " class=gf-form-input ng-model="target.expression\n " spellcheck=false ng-model-onblur ng-change="onChange() "/>\n  </div>\n</div>\n\n<div class=gf-form-inline>\n  <div class=gf-form>\n    <label class="gf-form-label query-keyword width-8">\n      Min period\n      <info-popover mode="right-normal ">Minimum interval between points in seconds</info-popover>\n    </label>\n    <input type="text " class=gf-form-input ng-model="target.period " spellcheck=false placeholder="auto\n " ng-model-onblur ng-change="onChange() "/>\n  </div>\n  <div class="gf-form max-width-30">\n    <label class="gf-form-label query-keyword width-7">Alias</label>\n    <input type="text " class=gf-form-input ng-model="target.alias " spellcheck=false ng-model-onblur ng-change="onChange() "/>\n    <info-popover mode="right-absolute ">\n      Alias replacement variables:\n      <ul ng-non-bindable>\n        <li>{{ metric }}</li>\n        <li>{{ stat }}</li>\n        <li>{{ namespace }}</li>\n        <li>{{ region }}</li>\n        <li>{{ period }}</li>\n        <li>{{ label }}</li>\n        <li>{{ YOUR_DIMENSION_NAME }}</li>\n      </ul>\n    </info-popover>\n  </div>\n\n  <div class="gf-form gf-form--grow">\n    <div class="gf-form-label gf-form-label--grow"></div>\n  </div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    hU0f: function (e, t) {},
+    hfOi: function (e, t, n) {
+      "use strict";
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("/MKj"),
+        i = n("1gCF"),
+        l = n("Xmxp"),
+        s = n("kDLi"),
+        c = function (e) {
+          var t = e.icon,
+            n = e.tooltip,
+            r = e.classSuffix,
+            o = e.onClick,
+            l = e.href;
+          return o
+            ? a.a.createElement(
+                s.Tooltip,
+                { content: n },
+                a.a.createElement(
+                  "button",
+                  {
+                    className: "btn navbar-button navbar-button--".concat(r),
+                    onClick: o,
+                    "aria-label": i.a.pages.Dashboard.Toolbar.selectors.toolbarItems(
+                      n
+                    ),
+                  },
+                  a.a.createElement("i", { className: t })
+                )
+              )
+            : a.a.createElement(
+                s.Tooltip,
+                { content: n },
+                a.a.createElement(
+                  "a",
+                  {
+                    className: "btn navbar-button navbar-button--".concat(r),
+                    href: l,
+                  },
+                  a.a.createElement("i", { className: t })
+                )
+              );
+        },
+        u = n("maUf"),
+        f = n("3NGh"),
+        d = n("3SGO"),
+        p = n("GQ3c"),
+        h = n("Y2hc"),
+        m = n("KODV"),
+        g = n("VX0D");
+      function b(e) {
+        return (b =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function v(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function y(e, t) {
+        return !t || ("object" !== b(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function w(e) {
+        return (w = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function O(e, t) {
+        return (O =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var x = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = y(
+                this,
+                w(t).call(this, e)
+              )).onDahboardNameClick = function () {
+                l.a.emit(p.CoreEvents.showDashSearch);
+              }),
+              (n.onFolderNameClick = function () {
+                l.a.emit(p.CoreEvents.showDashSearch, {
+                  query: "folder:current",
+                });
+              }),
+              (n.onClose = function () {
+                n.props.editview
+                  ? n.props.updateLocation({
+                      query: { editview: null },
+                      partial: !0,
+                    })
+                  : n.props.updateLocation({
+                      query: {
+                        panelId: null,
+                        edit: null,
+                        fullscreen: null,
+                        tab: null,
+                      },
+                      partial: !0,
+                    });
+              }),
+              (n.onToggleTVMode = function () {
+                l.a.emit(p.CoreEvents.toggleKioskMode);
+              }),
+              (n.onOpenSettings = function () {
+                n.props.updateLocation({
+                  query: { editview: "settings" },
+                  partial: !0,
+                });
+              }),
+              (n.onStarDashboard = function () {
+                var e = n.props,
+                  t = e.dashboard;
+                e.$injector
+                  .get("dashboardSrv")
+                  .starDashboard(t.id, t.meta.isStarred)
+                  .then(function (e) {
+                    (t.meta.isStarred = e), n.forceUpdate();
+                  });
+              }),
+              (n.onPlaylistPrev = function () {
+                n.playlistSrv.prev();
+              }),
+              (n.onPlaylistNext = function () {
+                n.playlistSrv.next();
+              }),
+              (n.onPlaylistStop = function () {
+                n.playlistSrv.stop(), n.forceUpdate();
+              }),
+              (n.playlistSrv = n.props.$injector.get("playlistSrv")),
+              n
+            );
+          }
+          var n, r, o;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && O(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "renderDashboardTitleSearchButton",
+                value: function () {
+                  var e = this.props.dashboard,
+                    t = e.meta.folderTitle,
+                    n = e.meta.folderId > 0;
+                  return a.a.createElement(
+                    a.a.Fragment,
+                    null,
+                    a.a.createElement(
+                      "div",
+                      null,
+                      a.a.createElement(
+                        "div",
+                        { className: "navbar-page-btn" },
+                        !this.isInFullscreenOrSettings &&
+                          a.a.createElement("i", {
+                            className: "gicon gicon-dashboard",
+                          }),
+                        n &&
+                          a.a.createElement(
+                            a.a.Fragment,
+                            null,
+                            a.a.createElement(
+                              "a",
+                              {
+                                className: "navbar-page-btn__folder",
+                                onClick: this.onFolderNameClick,
+                              },
+                              t
+                            ),
+                            a.a.createElement("i", {
+                              className:
+                                "fa fa-chevron-right navbar-page-btn__folder-icon",
+                            })
+                          ),
+                        a.a.createElement(
+                          "a",
+                          { onClick: this.onDahboardNameClick },
+                          e.title,
+                          " ",
+                          a.a.createElement("i", {
+                            className:
+                              "fa fa-caret-down navbar-page-btn__search",
+                          })
+                        )
+                      )
+                    ),
+                    this.isSettings &&
+                      a.a.createElement(
+                        "span",
+                        { className: "navbar-settings-title" },
+                        " / Settings"
+                      ),
+                    a.a.createElement("div", { className: "navbar__spacer" })
+                  );
+                },
+              },
+              {
+                key: "renderBackButton",
+                value: function () {
+                  return a.a.createElement(
+                    "div",
+                    { className: "navbar-edit" },
+                    a.a.createElement(f.a, {
+                      onClick: this.onClose,
+                      "aria-label":
+                        i.a.pages.Dashboard.Toolbar.selectors.backArrow,
+                    })
+                  );
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.dashboard,
+                    n = e.onAddPanel,
+                    r = e.location,
+                    o = t.meta,
+                    i = o.canStar,
+                    l = o.canSave,
+                    f = o.canShare,
+                    p = o.showSettings,
+                    b = o.isStarred,
+                    v = t.snapshot,
+                    y = v && v.originalUrl;
+                  return a.a.createElement(
+                    "div",
+                    { className: "navbar" },
+                    this.isInFullscreenOrSettings && this.renderBackButton(),
+                    this.renderDashboardTitleSearchButton(),
+                    this.playlistSrv.isPlaying &&
+                      a.a.createElement(
+                        "div",
+                        {
+                          className: "navbar-buttons navbar-buttons--playlist",
+                        },
+                        a.a.createElement(c, {
+                          tooltip: "Go to previous dashboard",
+                          classSuffix: "tight",
+                          icon: "fa fa-step-backward",
+                          onClick: this.onPlaylistPrev,
+                        }),
+                        a.a.createElement(c, {
+                          tooltip: "Stop playlist",
+                          classSuffix: "tight",
+                          icon: "fa fa-stop",
+                          onClick: this.onPlaylistStop,
+                        }),
+                        a.a.createElement(c, {
+                          tooltip: "Go to next dashboard",
+                          classSuffix: "tight",
+                          icon: "fa fa-forward",
+                          onClick: this.onPlaylistNext,
+                        })
+                      ),
+                    a.a.createElement(
+                      "div",
+                      { className: "navbar-buttons navbar-buttons--actions" },
+                      l &&
+                        a.a.createElement(c, {
+                          tooltip: "Add panel",
+                          classSuffix: "add-panel",
+                          icon: "gicon gicon-add-panel",
+                          onClick: n,
+                        }),
+                      i &&
+                        a.a.createElement(c, {
+                          tooltip: "Mark as favorite",
+                          classSuffix: "star",
+                          icon: "".concat(b ? "fa fa-star" : "fa fa-star-o"),
+                          onClick: this.onStarDashboard,
+                        }),
+                      f &&
+                        a.a.createElement(s.ModalsController, null, function (
+                          e
+                        ) {
+                          var n = e.showModal,
+                            r = e.hideModal;
+                          return a.a.createElement(c, {
+                            tooltip: "Share dashboard",
+                            classSuffix: "share",
+                            icon: "fa fa-share-square-o",
+                            onClick: function () {
+                              n(h.ShareModal, { dashboard: t, onDismiss: r });
+                            },
+                          });
+                        }),
+                      l &&
+                        a.a.createElement(s.ModalsController, null, function (
+                          e
+                        ) {
+                          var n = e.showModal,
+                            r = e.hideModal;
+                          return a.a.createElement(c, {
+                            tooltip: "Save dashboard",
+                            classSuffix: "save",
+                            icon: "fa fa-save",
+                            onClick: function () {
+                              n(m.a, { dashboard: t, onDismiss: r });
+                            },
+                          });
+                        }),
+                      y &&
+                        a.a.createElement(c, {
+                          tooltip: "Open original dashboard",
+                          classSuffix: "snapshot-origin",
+                          icon: "gicon gicon-link",
+                          href: Object(g.d)(y),
+                        }),
+                      p &&
+                        a.a.createElement(c, {
+                          tooltip: "Dashboard settings",
+                          classSuffix: "settings",
+                          icon: "gicon gicon-cog",
+                          onClick: this.onOpenSettings,
+                        })
+                    ),
+                    a.a.createElement(
+                      "div",
+                      { className: "navbar-buttons navbar-buttons--tv" },
+                      a.a.createElement(c, {
+                        tooltip: "Cycle view mode",
+                        classSuffix: "tv",
+                        icon: "fa fa-desktop",
+                        onClick: this.onToggleTVMode,
+                      })
+                    ),
+                    !t.timepicker.hidden &&
+                      a.a.createElement(
+                        "div",
+                        { className: "navbar-buttons" },
+                        a.a.createElement(u.a, {
+                          dashboard: t,
+                          location: r,
+                          updateLocation: d.c,
+                        })
+                      )
+                  );
+                },
+              },
+              {
+                key: "isInFullscreenOrSettings",
+                get: function () {
+                  return this.props.editview || this.props.isFullscreen;
+                },
+              },
+              {
+                key: "isSettings",
+                get: function () {
+                  return this.props.editview;
+                },
+              },
+            ]) && v(n.prototype, r),
+            o && v(n, o),
+            t
+          );
+        })(r.PureComponent),
+        k = { updateLocation: d.c },
+        j = Object(o.connect)(function (e) {
+          return { location: e.location };
+        }, k)(x);
+      n.d(t, "a", function () {
+        return j;
+      });
+    },
+    hiSG: function (e, t) {
+      var n = "public/app/plugins/panel/graph/tab_thresholds_time_regions.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            "<graph-threshold-form panel-ctrl=ctrl></graph-threshold-form>\n<graph-time-region-form panel-ctrl=ctrl></graph-time-region-form>"
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    hqzN: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return d;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("Obii");
+      function i(e) {
+        return (i =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function l(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function s(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function c(e, t) {
+        return !t || ("object" !== i(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function u(e) {
+        return (u = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function f(e, t) {
+        return (f =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var d = (function (e) {
+        function t() {
+          var e, n;
+          l(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = c(this, (e = u(t)).call.apply(e, [this].concat(a)))).state = {
+              isSyncing: !1,
+            }),
+            (n.handleSyncClick = function () {
+              console.log("Bulk-sync now"),
+                n.setState({ isSyncing: !n.state.isSyncing });
+            }),
+            n
+          );
+        }
+        var n, r, i;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && f(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e = this.props.ldapSyncInfo,
+                  t = this.state.isSyncing,
+                  n = Object(o.dateTime)(e.nextSync).format(
+                    "dddd YYYY-MM-DD HH:mm zz"
+                  ),
+                  r = e && e.prevSync,
+                  i = r
+                    ? Object(o.dateTime)(e.prevSync.started).format(
+                        "dddd YYYY-MM-DD HH:mm zz"
+                      )
+                    : "";
+                return a.a.createElement(
+                  a.a.Fragment,
+                  null,
+                  a.a.createElement(
+                    "h3",
+                    { className: "page-heading" },
+                    "LDAP Synchronisation",
+                    a.a.createElement(
+                      "button",
+                      {
+                        className: "btn btn-secondary pull-right",
+                        onClick: this.handleSyncClick,
+                        hidden: !0,
+                      },
+                      a.a.createElement(
+                        "span",
+                        { className: "btn-title" },
+                        "Bulk-sync now"
+                      ),
+                      t &&
+                        a.a.createElement("i", {
+                          className: "fa fa-spinner fa-fw fa-spin run-icon",
+                        })
+                    )
+                  ),
+                  a.a.createElement(
+                    "div",
+                    { className: "gf-form-group" },
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form" },
+                      a.a.createElement(
+                        "table",
+                        { className: "filter-table form-inline" },
+                        a.a.createElement(
+                          "tbody",
+                          null,
+                          a.a.createElement(
+                            "tr",
+                            null,
+                            a.a.createElement(
+                              "td",
+                              null,
+                              "Active synchronisation"
+                            ),
+                            a.a.createElement(
+                              "td",
+                              { colSpan: 2 },
+                              e.enabled ? "Enabled" : "Disabled"
+                            )
+                          ),
+                          a.a.createElement(
+                            "tr",
+                            null,
+                            a.a.createElement("td", null, "Scheduled"),
+                            a.a.createElement("td", null, e.schedule)
+                          ),
+                          a.a.createElement(
+                            "tr",
+                            null,
+                            a.a.createElement(
+                              "td",
+                              null,
+                              "Next scheduled synchronisation"
+                            ),
+                            a.a.createElement("td", null, n)
+                          ),
+                          a.a.createElement(
+                            "tr",
+                            null,
+                            a.a.createElement(
+                              "td",
+                              null,
+                              "Last synchronisation"
+                            ),
+                            r &&
+                              a.a.createElement(
+                                a.a.Fragment,
+                                null,
+                                a.a.createElement("td", null, i),
+                                a.a.createElement("td", null, "Successful")
+                              )
+                          )
+                        )
+                      )
+                    )
+                  )
+                );
+              },
+            },
+          ]) && s(n.prototype, r),
+          i && s(n, i),
+          t
+        );
+      })(r.PureComponent);
+    },
+    iFH1: function (e, t) {
+      var n = "public/app/features/org/partials/newOrg.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<page-header model=navModel></page-header>\n\n<div class="page-container page-body" ng-form=playlistEditForm>\n\t<h3 class=page-sub-heading>\n\t\tNew Organization\n\t</h3>\n\n\t<p class=playlist-description>Each organization contains their own dashboards, data sources and configuration, and cannot be shared between orgs. While users may belong to more than one, multiple organization are most frequently used in multi-tenant deployments. </p>\n\n\t<form>\n\t\t<div class=gf-form-group>\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class="gf-form-label width-10">Org. name</span>\n\t\t\t\t<input type=text ng-model=newOrg.name required class="gf-form-input max-width-21" placeholder="organization name">\n\t\t\t</div>\n\t\t\t<br>\n\t\t\t<div class=gf-form-buttons-row>\n\t\t\t\t<button type=submit class="btn btn-primary" ng-click=createOrg()>Create</button>\n\t\t\t</div>\n\t\t</div>\n\t</form>\n</div>\n\n<footer/>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    iKVC: function (e, t) {
+      var n = "public/app/partials/confirm_modal.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=modal-body ng-cloak>\n\t<div class=modal-header>\n\t\t<h2 class=modal-header-title>\n\t\t\t<i class="fa {{icon}}"></i>\n\t\t\t<span class=p-l-1>\n\t\t\t\t{{title}}\n\t\t\t</span>\n\t\t</h2>\n\n\t\t<a class=modal-header-close ng-click=dismiss();>\n\t\t\t<i class="fa fa-remove"></i>\n\t\t</a>\n\t</div>\n\n\t<div class="modal-content text-center">\n\n\t\t<div class=confirm-modal-text>\n\t\t\t{{text}}\n\t\t\t<div ng-if="text2 && text2htmlBind" class=confirm-modal-text2 ng-bind-html=text2></div>\n      <div ng-if="text2 && !text2htmlBind" class=confirm-modal-text2>{{text2}}</div>\n\t\t</div>\n\n\t\t<div class=modal-content-confirm-text ng-if=confirmText>\n\t\t\t<input type=text class="gf-form-input width-16" style=display:inline-block placeholder="Type {{confirmText}} to confirm" ng-model=confirmInput ng-change=updateConfirmText(confirmInput)>\n\t\t</div>\n\n\t\t<div class=confirm-modal-buttons>\n\t\t\t<button ng-show=onAltAction type=button class="btn btn-primary" ng-click=dismiss();onAltAction();>{{altActionText}}</button>\n\t\t\t<button ng-show=onConfirm type=button class="btn btn-danger" ng-click=onConfirm();dismiss(); ng-disabled=!confirmTextValid give-focus=true aria-label={{selectors.delete}}>{{yesText}}</button>\n\t\t\t<button type=button class="btn btn-inverse" ng-click=dismiss()>{{noText}}</button>\n\t\t</div>\n\t</div>\n\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    iODs: function (e, t, n) {
+      "use strict";
+      var r;
+      function a(e) {
+        r = e;
+      }
+      function o() {
+        return r && r.getState ? r.getState() : {};
+      }
+      function i(e) {
+        if (r && r.getState) return r.dispatch(e);
+      }
+      n.d(t, "d", function () {
+        return r;
+      }),
+        n.d(t, "c", function () {
+          return a;
+        }),
+        n.d(t, "b", function () {
+          return o;
+        }),
+        n.d(t, "a", function () {
+          return i;
+        });
+    },
+    iSop: function (e, t) {
+      var n = "public/app/features/admin/partials/stats.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body">\n\t<table class="filter-table form-inline">\n\t\t<thead>\n\t\t\t<tr>\n\t\t\t\t<th>Name</th>\n\t\t\t\t<th>Value</th>\n\t\t\t</tr>\n\t\t</thead>\n\t\t<tbody>\n\t\t\t<tr>\n\t\t\t\t<td>Total dashboards</td>\n\t\t\t\t<td>{{ctrl.stats.dashboards}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Total users</td>\n\t\t\t\t<td>{{ctrl.stats.users}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Active users (seen last 14 days)</td>\n\t\t\t\t<td>{{ctrl.stats.activeUsers}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Total organizations</td>\n\t\t\t\t<td>{{ctrl.stats.orgs}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Total datasources</td>\n\t\t\t\t<td>{{ctrl.stats.datasources}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Total playlists</td>\n\t\t\t\t<td>{{ctrl.stats.playlists}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Total snapshots</td>\n\t\t\t\t<td>{{ctrl.stats.snapshots}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Total dashboard tags</td>\n\t\t\t\t<td>{{ctrl.stats.tags}}</td>\n\t\t\t</tr>\n\t\t\t<tr>\n\t\t\t\t<td>Total starred dashboards</td>\n\t\t\t\t<td>{{ctrl.stats.stars}}</td>\n\t\t\t</tr>\n      <tr>\n\t\t\t\t<td>Total alerts</td>\n\t\t\t\t<td>{{ctrl.stats.alerts}}</td>\n\t\t\t</tr>\n\t\t</tbody>\n\t</table>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    iZOS: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return l;
+      }),
+        n.d(t, "b", function () {
+          return c;
+        });
+      var r = n("LvDl"),
+        a = n.n(r);
+      function o(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function i(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var l = (function () {
+        function e(t) {
+          if (
+            ((function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, e),
+            (this.columns = []),
+            (this.columnMap = {}),
+            (this.rows = []),
+            (this.type = "table"),
+            t)
+          ) {
+            if (t.columns) {
+              var n = !0,
+                r = !1,
+                a = void 0;
+              try {
+                for (
+                  var o, i = t.columns[Symbol.iterator]();
+                  !(n = (o = i.next()).done);
+                  n = !0
+                ) {
+                  var l = o.value;
+                  this.addColumn(l);
+                }
+              } catch (e) {
+                (r = !0), (a = e);
+              } finally {
+                try {
+                  n || null == i.return || i.return();
+                } finally {
+                  if (r) throw a;
+                }
+              }
+            }
+            if (t.rows) {
+              var s = !0,
+                c = !1,
+                u = void 0;
+              try {
+                for (
+                  var f, d = t.rows[Symbol.iterator]();
+                  !(s = (f = d.next()).done);
+                  s = !0
+                ) {
+                  var p = f.value;
+                  this.addRow(p);
+                }
+              } catch (e) {
+                (c = !0), (u = e);
+              } finally {
+                try {
+                  s || null == d.return || d.return();
+                } finally {
+                  if (c) throw u;
+                }
+              }
+            }
+          }
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "sort",
+              value: function (e) {
+                null === e.col ||
+                  this.columns.length <= e.col ||
+                  (this.rows.sort(function (t, n) {
+                    return (
+                      +(null == (t = t[e.col])) - +(null == (n = n[e.col])) ||
+                      +(t > n) ||
+                      -(t < n)
+                    );
+                  }),
+                  e.desc && this.rows.reverse(),
+                  (this.columns[e.col].sort = !0),
+                  (this.columns[e.col].desc = e.desc));
+              },
+            },
+            {
+              key: "addColumn",
+              value: function (e) {
+                this.columnMap[e.text] ||
+                  (this.columns.push(e), (this.columnMap[e.text] = e));
+              },
+            },
+            {
+              key: "addRow",
+              value: function (e) {
+                this.rows.push(e);
+              },
+            },
+          ]) && i(t.prototype, n),
+          r && i(t, r),
+          e
+        );
+      })();
+      function s(e, t, n) {
+        for (var r = !1, a = 0; a < e.length; a++)
+          if (void 0 !== t[a] && void 0 !== n[a]) {
+            if (t[a] !== n[a]) return !1;
+          } else (void 0 !== t[a] && void 0 !== n[a]) || (r = !0);
+        return r;
+      }
+      function c(e) {
+        for (
+          var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1;
+          r < t;
+          r++
+        )
+          n[r - 1] = arguments[r];
+        var i = e || new l();
+        if (1 === arguments.length) return i;
+        if (2 === arguments.length)
+          return (
+            (i.columns = n[0].hasOwnProperty("columns") ? o(n[0].columns) : []),
+            (i.rows = n[0].hasOwnProperty("rows") ? o(n[0].rows) : []),
+            i
+          );
+        var c = n.filter(function (e) {
+            return !!e.columns;
+          }),
+          u = {},
+          f = c.slice().reduce(function (e, t) {
+            return (
+              t.columns.forEach(function (t) {
+                var n = t.text;
+                void 0 === u[n] && ((u[n] = e.length), e.push(t));
+              }),
+              e
+            );
+          }, []),
+          d = c.map(function (e) {
+            return e.columns.map(function (e) {
+              return u[e.text];
+            });
+          }),
+          p = c.reduce(function (e, t, n) {
+            var r = d[n];
+            return (
+              t.rows.forEach(function (t) {
+                var n = [];
+                r.forEach(function (e, r) {
+                  n[e] = t[r];
+                }),
+                  e.push(n);
+              }),
+              e
+            );
+          }, []),
+          h = {},
+          m = p.reduce(function (e, t, n) {
+            if (!h[n]) {
+              for (var r = n + 1; r < p.length; ) {
+                var o = a.a.findIndex(
+                  p,
+                  function (e) {
+                    return s(f, t, e);
+                  },
+                  r
+                );
+                if (!(o > -1)) break;
+                for (var i = p[o], l = 0; l < f.length; l++)
+                  void 0 === t[l] && void 0 !== i[l] && (t[l] = i[l]);
+                (h[o] = i), (r = o + 1);
+              }
+              e.push(t);
+            }
+            return e;
+          }, []);
+        return (i.columns = f), (i.rows = m), i;
+      }
+    },
+    ibPz: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return c;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDDq");
+      function i() {
+        var e = s([
+          "\n    background: url(public/img/heatmap_bg_test.svg);\n    background-size: cover;\n  ",
+        ]);
+        return (
+          (i = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function l() {
+        var e = s(["\n    max-width: 150px;\n  "]);
+        return (
+          (l = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function s(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var c = function e() {
+        !(function (e, t) {
+          if (!(e instanceof t))
+            throw new TypeError("Cannot call a class as a function");
+        })(this, e);
+      };
+      (c.LoginLogo = function (e) {
+        var t = e.className,
+          n = Object(o.css)(l());
+        return a.a.createElement(
+          a.a.Fragment,
+          null,
+          a.a.createElement("img", {
+            className: Object(o.cx)(t, n),
+            src: "public/img/grafana_icon.svg",
+            alt: "Grafana",
+          }),
+          a.a.createElement("div", { className: "logo-wordmark" })
+        );
+      }),
+        (c.LoginBackground = function (e) {
+          var t = e.className,
+            n = e.children,
+            r = Object(o.css)(i());
+          return a.a.createElement("div", { className: Object(o.cx)(r, t) }, n);
+        }),
+        (c.MenuLogo = function (e) {
+          var t = e.className;
+          return a.a.createElement("img", {
+            className: t,
+            src: "public/img/grafana_icon.svg",
+            alt: "Grafana",
+          });
+        }),
+        (c.AppTitle = "Grafana");
+    },
+    "if1/": function (e, t, n) {
+      "use strict";
+      function r(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function a(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function o(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      n.d(t, "a", function () {
+        return i;
+      });
+      var i = (function () {
+        function e(t) {
+          var n = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.data = t),
+            (this.index = 0);
+          for (
+            var r = {},
+              a = function (e) {
+                var a = t.fields[e],
+                  o = function () {
+                    return a.values.get(n.index);
+                  };
+                r.hasOwnProperty(a.name) ||
+                  Object.defineProperty(r, a.name, { enumerable: !0, get: o }),
+                  Object.defineProperty(r, e, { enumerable: !1, get: o });
+              },
+              o = 0;
+            o < t.fields.length;
+            o++
+          )
+            a(o);
+          this.obj = r;
+        }
+        var t, n, i;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "getFieldDisplayProcessor",
+              value: function (e) {
+                if (!this.dataFrame || !this.dataFrame.fields) return null;
+                var t = this.dataFrame.fields[e];
+                return t && t.display ? t.display : null;
+              },
+            },
+            {
+              key: "get",
+              value: function (e) {
+                return (this.index = e), this.obj;
+              },
+            },
+            {
+              key: "toArray",
+              value: function () {
+                var e = this;
+                return new Array(this.data.length).fill(0).map(function (t, n) {
+                  return (function (e) {
+                    for (var t = 1; t < arguments.length; t++) {
+                      var n = null != arguments[t] ? arguments[t] : {};
+                      t % 2
+                        ? r(Object(n), !0).forEach(function (t) {
+                            a(e, t, n[t]);
+                          })
+                        : Object.getOwnPropertyDescriptors
+                        ? Object.defineProperties(
+                            e,
+                            Object.getOwnPropertyDescriptors(n)
+                          )
+                        : r(Object(n)).forEach(function (t) {
+                            Object.defineProperty(
+                              e,
+                              t,
+                              Object.getOwnPropertyDescriptor(n, t)
+                            );
+                          });
+                    }
+                    return e;
+                  })({}, e.get(n));
+                });
+              },
+            },
+            {
+              key: "toJSON",
+              value: function () {
+                return this.toArray();
+              },
+            },
+            {
+              key: "forEachRow",
+              value: function (e) {
+                for (var t = 0; t < this.data.length; t++) e(this.get(t));
+              },
+            },
+            {
+              key: "map",
+              value: function (e) {
+                for (var t = [], n = 0; n < this.data.length; n++)
+                  t.push(e(this.get(n), n));
+                return t;
+              },
+            },
+            {
+              key: "dataFrame",
+              get: function () {
+                return this.data;
+              },
+            },
+            {
+              key: "length",
+              get: function () {
+                return this.data.length;
+              },
+            },
+          ]) && o(t.prototype, n),
+          i && o(t, i),
+          e
+        );
+      })();
+    },
+    ir79: function (e, t, n) {
+      "use strict";
+      var r = n("HJqT"),
+        a = n("0v62"),
+        o = n("Z0cm"),
+        i = n.n(o),
+        l = n("4qC0"),
+        s = n.n(l);
+      function c(e, t) {
+        return (
+          t.type ||
+            ("time" === t.name || "Time" === t.name
+              ? (t.type = r.a.time)
+              : (t.type = Object(a.d)(e))),
+          t.type === r.a.number
+            ? function (e) {
+                return parseFloat(e);
+              }
+            : t.type === r.a.boolean
+            ? function (e) {
+                return !("F" === e[0] || "f" === e[0] || "0" === e[0]);
+              }
+            : function (e) {
+                return e;
+              }
+        );
+      }
+      var u = n("0uOV"),
+        f = n("F03Y");
+      function d(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      n.d(t, "a", function () {
+        return p;
+      }),
+        n.d(t, "b", function () {
+          return h;
+        });
+      var p = null,
+        h = (function () {
+          function e(t, n) {
+            var r = this;
+            if (
+              ((function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, e),
+              (this.fields = []),
+              (this.values = {}),
+              (this.first = new u.a()),
+              (this.creator =
+                n ||
+                function (e) {
+                  return new u.a(e);
+                }),
+              t)
+            ) {
+              var a = t.name,
+                o = t.refId,
+                i = t.meta,
+                l = t.fields;
+              if (
+                (a && (this.name = a),
+                o && (this.refId = o),
+                i && (this.meta = i),
+                l)
+              ) {
+                var s = !0,
+                  c = !1,
+                  f = void 0;
+                try {
+                  for (
+                    var d, p = l[Symbol.iterator]();
+                    !(s = (d = p.next()).done);
+                    s = !0
+                  ) {
+                    var h = d.value;
+                    this.addField(h);
+                  }
+                } catch (e) {
+                  (c = !0), (f = e);
+                } finally {
+                  try {
+                    s || null == p.return || p.return();
+                  } finally {
+                    if (c) throw f;
+                  }
+                }
+              }
+            }
+            Object.defineProperty(this, "length", {
+              enumerable: !0,
+              get: function () {
+                return r.first.length;
+              },
+            });
+          }
+          var t, n, o;
+          return (
+            (t = e),
+            (n = [
+              {
+                key: "addFieldFor",
+                value: function (e, t) {
+                  return this.addField({ name: t || "", type: Object(a.d)(e) });
+                },
+              },
+              {
+                key: "addField",
+                value: function (e, t) {
+                  var n = void 0;
+                  e.values &&
+                    (n = i()(e.values) ? e.values : e.values.toArray());
+                  var o = e.type;
+                  o || ("time" !== e.name && "Time" !== e.name)
+                    ? (!o && n && n.length && (o = Object(a.d)(n[0])),
+                      o || (o = r.a.other))
+                    : (o = r.a.time);
+                  var l = e.name;
+                  l ||
+                    (l =
+                      o === r.a.time
+                        ? this.values.Time
+                          ? "Time ".concat(this.fields.length + 1)
+                          : "Time"
+                        : "Field ".concat(this.fields.length + 1));
+                  var s = {
+                    name: l,
+                    type: o,
+                    config: e.config || {},
+                    values: this.creator(n),
+                    labels: e.labels,
+                  };
+                  if (
+                    (o === r.a.other && (o = Object(a.c)(s)) && (s.type = o),
+                    this.fields.push(s),
+                    (this.first = this.fields[0].values),
+                    this.values[l]
+                      ? console.warn(
+                          "Duplicate field names found: ".concat(
+                            l,
+                            ", only the first will be accessible"
+                          )
+                        )
+                      : (this.values[l] = s.values),
+                    t)
+                  )
+                    for (; s.values.length < t; ) s.values.add(p);
+                  else this.validate();
+                  return s;
+                },
+              },
+              {
+                key: "validate",
+                value: function () {
+                  var e = this.fields.reduce(function (e, t) {
+                      return Math.max(e, t.values.length);
+                    }, 0),
+                    t = !0,
+                    n = !1,
+                    r = void 0;
+                  try {
+                    for (
+                      var a, o = this.fields[Symbol.iterator]();
+                      !(t = (a = o.next()).done);
+                      t = !0
+                    )
+                      for (var i = a.value; i.values.length !== e; )
+                        i.values.add(p);
+                  } catch (e) {
+                    (n = !0), (r = e);
+                  } finally {
+                    try {
+                      t || null == o.return || o.return();
+                    } finally {
+                      if (n) throw r;
+                    }
+                  }
+                },
+              },
+              {
+                key: "addMissingFieldsFor",
+                value: function (e) {
+                  for (var t = 0, n = Object.keys(e); t < n.length; t++) {
+                    var r = n[t];
+                    this.values[r] ||
+                      this.addField({ name: r, type: Object(a.d)(e[r]) });
+                  }
+                },
+              },
+              {
+                key: "reverse",
+                value: function () {
+                  var e = !0,
+                    t = !1,
+                    n = void 0;
+                  try {
+                    for (
+                      var r, a = this.fields[Symbol.iterator]();
+                      !(e = (r = a.next()).done);
+                      e = !0
+                    )
+                      r.value.values.reverse();
+                  } catch (e) {
+                    (t = !0), (n = e);
+                  } finally {
+                    try {
+                      e || null == a.return || a.return();
+                    } finally {
+                      if (t) throw n;
+                    }
+                  }
+                },
+              },
+              {
+                key: "appendRow",
+                value: function (e) {
+                  for (var t = this.fields.length; t < e.length; t++)
+                    this.addField({
+                      name: "Field ".concat(t + 1),
+                      type: Object(a.d)(e[t]),
+                    });
+                  if (this.length < 1)
+                    for (var n = 0; n < this.fields.length; n++) {
+                      var o = this.fields[n];
+                      (o.type && o.type !== r.a.other) ||
+                        (o.type = Object(a.d)(e[n]));
+                    }
+                  for (var i = 0; i < this.fields.length; i++) {
+                    var l = this.fields[i],
+                      u = e[i];
+                    l.type !== r.a.string &&
+                      s()(u) &&
+                      (l.parse || (l.parse = c(u, l)), (u = l.parse(u))),
+                      l.values.add(u);
+                  }
+                },
+              },
+              {
+                key: "add",
+                value: function (e, t) {
+                  t && this.addMissingFieldsFor(e);
+                  var n = e,
+                    a = !0,
+                    o = !1,
+                    i = void 0;
+                  try {
+                    for (
+                      var l, u = this.fields[Symbol.iterator]();
+                      !(a = (l = u.next()).done);
+                      a = !0
+                    ) {
+                      var f = l.value,
+                        d = n[f.name];
+                      f.type !== r.a.string &&
+                        s()(d) &&
+                        (f.parse || (f.parse = c(d, f)), (d = f.parse(d))),
+                        void 0 === d && (d = p),
+                        f.values.add(d);
+                    }
+                  } catch (e) {
+                    (o = !0), (i = e);
+                  } finally {
+                    try {
+                      a || null == u.return || u.return();
+                    } finally {
+                      if (o) throw i;
+                    }
+                  }
+                },
+              },
+              {
+                key: "set",
+                value: function (e, t, n) {
+                  if (e > this.length)
+                    throw new Error(
+                      "Unable ot set value beyond current length"
+                    );
+                  n && this.addMissingFieldsFor(t);
+                  var r = t || {},
+                    a = !0,
+                    o = !1,
+                    i = void 0;
+                  try {
+                    for (
+                      var l, s = this.fields[Symbol.iterator]();
+                      !(a = (l = s.next()).done);
+                      a = !0
+                    ) {
+                      var c = l.value;
+                      c.values.set(e, r[c.name]);
+                    }
+                  } catch (e) {
+                    (o = !0), (i = e);
+                  } finally {
+                    try {
+                      a || null == s.return || s.return();
+                    } finally {
+                      if (o) throw i;
+                    }
+                  }
+                },
+              },
+              {
+                key: "get",
+                value: function (e) {
+                  var t = {},
+                    n = !0,
+                    r = !1,
+                    a = void 0;
+                  try {
+                    for (
+                      var o, i = this.fields[Symbol.iterator]();
+                      !(n = (o = i.next()).done);
+                      n = !0
+                    ) {
+                      var l = o.value;
+                      t[l.name] = l.values.get(e);
+                    }
+                  } catch (e) {
+                    (r = !0), (a = e);
+                  } finally {
+                    try {
+                      n || null == i.return || i.return();
+                    } finally {
+                      if (r) throw a;
+                    }
+                  }
+                  return t;
+                },
+              },
+              {
+                key: "toArray",
+                value: function () {
+                  return Object(f.a)(this);
+                },
+              },
+              {
+                key: "toJSON",
+                value: function () {
+                  return Object(a.k)(this);
+                },
+              },
+              {
+                key: "length",
+                get: function () {
+                  return this.first.length;
+                },
+              },
+            ]) && d(t.prototype, n),
+            o && d(t, o),
+            e
+          );
+        })();
+    },
+    iyz2: function (e, t) {
+      var n =
+        "public/app/features/dashboard/components/RowOptions/template.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=modal-body>\n\t<div class=modal-header>\n\t\t<h2 class=modal-header-title>\n\t\t\t<i class="fa fa-copy"></i>\n\t\t\t<span class=p-l-1>Row Options</span>\n\t\t</h2>\n\n\t\t<a class=modal-header-close ng-click=ctrl.dismiss();>\n\t\t\t<i class="fa fa-remove"></i>\n\t\t</a>\n\t</div>\n\n\t<form name=ctrl.saveForm ng-submit=ctrl.save() class="modal-content text-center" novalidate>\n\t\t<div class=section>\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class="gf-form-label width-7">Title</span>\n\t\t\t\t<input type=text class="gf-form-input max-width-13" ng-model=ctrl.row.title>\n\t\t\t</div>\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class="gf-form-label width-7">Repeat for</span>\n\t\t\t\t<dash-repeat-option panel=ctrl.row></dash-repeat-option>\n\t\t\t</div>\n\n\t\t\t<div class=gf-form-button-row>\n\t\t\t\t<button type=submit class="btn btn-primary" ng-click=ctrl.update()>Update</button>\n\t\t\t\t<button type=button class="btn btn-inverse" ng-click=ctrl.dismiss()>Cancel</button>\n\t\t\t</div>\n\t\t</div>\n\t</form>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    jGYO: function (e, t, n) {
+      "use strict";
+      n.d(t, "c", function () {
+        return s;
+      }),
+        n.d(t, "b", function () {
+          return c;
+        }),
+        n.d(t, "a", function () {
+          return u;
+        });
+      var r = n("t8hP"),
+        a = n("y6L2"),
+        o = n("Vw/f");
+      function i(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function l(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function l(e) {
+              i(o, r, a, l, s, "next", e);
+            }
+            function s(e) {
+              i(o, r, a, l, s, "throw", e);
+            }
+            l(void 0);
+          });
+        };
+      }
+      function s() {
+        return (function () {
+          var e = l(
+            regeneratorRuntime.mark(function e(t) {
+              var n;
+              return regeneratorRuntime.wrap(function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      return (
+                        (e.next = 2),
+                        Object(r.getBackendSrv)().get("api/plugins", {
+                          embedded: 0,
+                        })
+                      );
+                    case 2:
+                      (n = e.sent), t(Object(a.e)(n));
+                    case 4:
+                    case "end":
+                      return e.stop();
+                  }
+              }, e);
+            })
+          );
+          return function (t) {
+            return e.apply(this, arguments);
+          };
+        })();
+      }
+      function c() {
+        return (function () {
+          var e = l(
+            regeneratorRuntime.mark(function e(t, n) {
+              var o, i;
+              return regeneratorRuntime.wrap(function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      return (
+                        t(Object(a.c)()),
+                        (o = n().dataSources.dataSource.type),
+                        (e.next = 4),
+                        Object(r.getBackendSrv)().get(
+                          "api/plugins/".concat(o, "/dashboards")
+                        )
+                      );
+                    case 4:
+                      (i = e.sent), t(Object(a.d)(i));
+                    case 6:
+                    case "end":
+                      return e.stop();
+                  }
+              }, e);
+            })
+          );
+          return function (t, n) {
+            return e.apply(this, arguments);
+          };
+        })();
+      }
+      function u(e) {
+        return (function () {
+          var t = l(
+            regeneratorRuntime.mark(function t(n, r) {
+              var i;
+              return regeneratorRuntime.wrap(function (t) {
+                for (;;)
+                  switch ((t.prev = t.next)) {
+                    case 0:
+                      if ((i = r().plugins.panels[e])) {
+                        t.next = 6;
+                        break;
+                      }
+                      return (t.next = 4), Object(o.c)(e);
+                    case 4:
+                      (i = t.sent), r().plugins.panels[e] || n(Object(a.b)(i));
+                    case 6:
+                      return t.abrupt("return", i);
+                    case 7:
+                    case "end":
+                      return t.stop();
+                  }
+              }, t);
+            })
+          );
+          return function (e, n) {
+            return t.apply(this, arguments);
+          };
+        })();
+      }
+    },
+    jaLZ: function (e, t) {
+      var n =
+        "public/app/plugins/datasource/prometheus/partials/annotations.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=gf-form-group>\n\t<div class=gf-form>\n\t\t<span class="gf-form-label width-10">Search expression</span>\n\t\t<input type=text class=gf-form-input ng-model=ctrl.annotation.expr placeholder=ALERTS>\n\t</div>\n\t<div class=gf-form>\n\t\t<span class="gf-form-label width-10">step</span>\n\t\t<input type=text class="gf-form-input max-width-6" ng-model=ctrl.annotation.step placeholder={{::ctrl.stepDefaultValuePlaceholder}}>\n\t</div>\n</div>\n\n<div class=gf-form-group>\n\t<h5 class=section-heading>Field formats</h5>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-5">Title</span>\n\t\t\t<input type=text class="gf-form-input max-width-9" ng-model=ctrl.annotation.titleFormat placeholder=alertname>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-5">Tags</span>\n\t\t\t<input type=text class="gf-form-input max-width-9" ng-model=ctrl.annotation.tagKeys placeholder=label1,label2>\n\t\t</div>\n\t\t<div class=gf-form-inline>\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class="gf-form-label width-5">Text</span>\n\t\t\t\t<input type=text class="gf-form-input max-width-9" ng-model=ctrl.annotation.textFormat placeholder=instance>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<h5 class=section-heading>Other options</h5>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<gf-form-switch class=gf-form label="Series value as timestamp" label-class=width-14 checked=ctrl.annotation.useValueForTime tooltip="The unit of timestamp is milliseconds. If the unit of the series value is seconds, multiply its range vector by 1000.">\n\t\t\t</gf-form-switch>\n\t\t</div>\n\t</div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    jvip: function (e, t) {
+      var n =
+        "public/app/features/dashboard/components/DashboardSettings/template.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<aside class=dashboard-settings__aside>\n  <a href={{::section.url}} class=dashboard-settings__nav-item ng-class="{active: ctrl.viewId === section.id}" ng-repeat="section in ctrl.sections" aria-label={{ctrl.selectors.sectionItems(section.title)}}>\n    <i class={{::section.icon}}></i>\n    {{::section.title}}\n  </a>\n\n  <div class=dashboard-settings__aside-actions>\n    <div ng-show=ctrl.canSave>\n      <save-dashboard-button getdashboard=ctrl.getDashboard aria-label="Dashboard settings aside actions Save button"/>\n    </div>\n    <div ng-show=ctrl.canSaveAs>\n      <save-dashboard-as-button getdashboard=ctrl.getDashboard aria-label="Dashboard settings aside actions Save as button" variant="\'secondary\'" usenewforms=true />\n    </div>\n  </div>\n</aside>\n\n<div class=dashboard-settings__content ng-if="ctrl.viewId === \'settings\'">\n  <h3 class=dashboard-settings__header>\n    General\n  </h3>\n\n  <div class=gf-form-group>\n    <div class=gf-form>\n      <label class="gf-form-label width-7">Name</label>\n      <input type=text class="gf-form-input width-30" ng-model=ctrl.dashboard.title>\n    </div>\n    <div class=gf-form>\n      <label class="gf-form-label width-7">Description</label>\n      <input type=text class="gf-form-input width-30" ng-model=ctrl.dashboard.description>\n    </div>\n    <div class=gf-form>\n      <label class="gf-form-label width-7">\n        Tags\n        <info-popover mode=right-normal>Press enter to add a tag</info-popover>\n      </label>\n      <bootstrap-tagsinput ng-model=ctrl.dashboard.tags tagclass="label label-tag" placeholder="add tags">\n      </bootstrap-tagsinput>\n    </div>\n    <folder-picker initial-title=ctrl.dashboard.meta.folderTitle initial-folder-id=ctrl.dashboard.meta.folderId on-change=ctrl.onFolderChange enable-create-new=true is-valid-selection=true label-class=width-7 dashboard-id=ctrl.dashboard.id>\n    </folder-picker>\n    <gf-form-switch class=gf-form label=Editable tooltip="Uncheck, then save and reload to disable all dashboard editing" checked=ctrl.dashboard.editable label-class=width-7>\n    </gf-form-switch>\n  </div>\n\n  <gf-time-picker-settings dashboard=ctrl.dashboard></gf-time-picker-settings>\n\n  <h5 class=section-heading>Panel Options</h5>\n  <div class=gf-form>\n    <label class="gf-form-label width-11">\n      Graph Tooltip\n      <info-popover mode=right-normal>\n        Cycle between options using Shortcut: CTRL+O or CMD+O\n      </info-popover>\n    </label>\n    <div class=gf-form-select-wrapper>\n      <select ng-model=ctrl.dashboard.graphTooltip class=gf-form-input ng-options="f.value as f.text for f in [{value: 0, text: \'Default\'}, {value: 1, text: \'Shared crosshair\'},{value: 2, text: \'Shared Tooltip\'}]"></select>\n    </div>\n  </div>\n  <div class=gf-form-button-row>\n    <button class="btn btn-danger" ng-click=ctrl.deleteDashboard() ng-show=ctrl.canDelete aria-label="Dashboard settings page delete dashboard button">\n      Delete Dashboard\n    </button>\n  </div>\n</div>\n\n<div class=dashboard-settings__content ng-if="ctrl.viewId === \'annotations\'" ng-include="\'public/app/features/annotations/partials/editor.html\'">\n</div>\n\n<div class=dashboard-settings__content ng-if="ctrl.viewId === \'templating\' && ctrl.useAngularTemplating" ng-include="\'public/app/features/templating/partials/editor.html\'">\n</div>\n\n<div class=dashboard-settings__content ng-if="ctrl.viewId === \'templating\' && !ctrl.useAngularTemplating">\n  <variable-editor-container/>\n</div>\n\n<div class=dashboard-settings__content ng-if="ctrl.viewId === \'links\'">\n  <dash-links-editor dashboard=ctrl.dashboard></dash-links-editor>\n</div>\n\n<div class=dashboard-settings__content ng-if="ctrl.viewId === \'versions\'">\n  <gf-dashboard-history dashboard=dashboard></gf-dashboard-history>\n</div>\n\n<div class=dashboard-settings__content ng-if="ctrl.viewId === \'dashboard_json\'">\n  <h3 class=dashboard-settings__header>JSON Model</h3>\n  <div class=dashboard-settings__subheader>\n    The JSON Model below is data structure that defines the dashboard. Including settings, panel settings & layout,\n    queries etc.\n  </div>\n\n  <div class=gf-form>\n    <code-editor content=ctrl.json data-mode=json data-max-lines=30></code-editor>\n  </div>\n\n  <div class=gf-form-button-row>\n    <button class="btn btn-primary" ng-click=ctrl.saveDashboardJson() ng-show=ctrl.canSave>\n      Save Changes\n    </button>\n  </div>\n</div>\n\n<div class=dashboard-settings__content ng-if="ctrl.viewId === \'permissions\'">\n  <dashboard-permissions ng-if="ctrl.dashboard && !ctrl.hasUnsavedFolderChange" dashboardid=ctrl.dashboard.id backendsrv=ctrl.backendSrv folder=ctrl.getFolder() />\n  <div ng-if=ctrl.hasUnsavedFolderChange>\n    <h5>You have changed folder, please save to view permissions.</h5>\n  </div>\n</div>\n\n<div class=dashboard-settings__content ng-if="ctrl.viewId === \'404\'">\n  <h3 class=dashboard-settings__header>Settings view not found</h3>\n\n  <div>\n    <h5>The settings page could not be found or you do not have permission to access it</h5>\n  </div>\n</div>\n\n<div class=dashboard-settings__content ng-if="ctrl.viewId === \'make_editable\'">\n  <h3 class=dashboard-settings__header>Make Editable</h3>\n\n  <button class="btn btn-primary" ng-click=ctrl.makeEditable()>\n    Make Editable\n  </button>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    kDLi: function (e, t, n) {
+      "use strict";
+      n.r(t);
+      var r = n("aPt1");
+      n.d(t, "ConfirmButton", function () {
+        return r.x;
+      }),
+        n.d(t, "DeleteButton", function () {
+          return r.J;
+        }),
+        n.d(t, "Tooltip", function () {
+          return r.Bc;
+        }),
+        n.d(t, "PopoverContent", function () {
+          return r.Ob;
+        }),
+        n.d(t, "PopoverController", function () {
+          return r.Pb;
+        }),
+        n.d(t, "Popover", function () {
+          return r.Nb;
+        }),
+        n.d(t, "Portal", function () {
+          return r.Qb;
+        }),
+        n.d(t, "CustomScrollbar", function () {
+          return r.E;
+        }),
+        n.d(t, "ClipboardButton", function () {
+          return r.u;
+        }),
+        n.d(t, "Select", function () {
+          return r.Yb;
+        }),
+        n.d(t, "AsyncSelect", function () {
+          return r.d;
+        }),
+        n.d(t, "IndicatorsContainer", function () {
+          return r.gb;
+        }),
+        n.d(t, "NoOptionsMessage", function () {
+          return r.Fb;
+        }),
+        n.d(t, "resetSelectStyles", function () {
+          return r.Oc;
+        }),
+        n.d(t, "ButtonSelect", function () {
+          return r.n;
+        }),
+        n.d(t, "ButtonCascader", function () {
+          return r.m;
+        }),
+        n.d(t, "Cascader", function () {
+          return r.q;
+        }),
+        n.d(t, "CascaderOption", function () {
+          return r.r;
+        }),
+        n.d(t, "FormLabel", function () {
+          return r.T;
+        }),
+        n.d(t, "FormField", function () {
+          return r.S;
+        }),
+        n.d(t, "SecretFormField", function () {
+          return r.Tb;
+        }),
+        n.d(t, "LoadingPlaceholder", function () {
+          return r.vb;
+        }),
+        n.d(t, "ColorPicker", function () {
+          return r.w;
+        }),
+        n.d(t, "SeriesColorPicker", function () {
+          return r.cc;
+        }),
+        n.d(t, "SeriesColorPickerPopover", function () {
+          return r.dc;
+        }),
+        n.d(t, "SeriesColorPickerPopoverWithTheme", function () {
+          return r.ec;
+        }),
+        n.d(t, "PanelOptionsGroup", function () {
+          return r.Kb;
+        }),
+        n.d(t, "PanelOptionsGrid", function () {
+          return r.Jb;
+        }),
+        n.d(t, "ValueMappingsEditor", function () {
+          return r.Fc;
+        }),
+        n.d(t, "Switch", function () {
+          return r.pc;
+        }),
+        n.d(t, "EmptySearchResult", function () {
+          return r.L;
+        }),
+        n.d(t, "PieChart", function () {
+          return r.Lb;
+        }),
+        n.d(t, "PieChartType", function () {
+          return r.Mb;
+        }),
+        n.d(t, "UnitPicker", function () {
+          return r.Ec;
+        }),
+        n.d(t, "StatsPicker", function () {
+          return r.lc;
+        }),
+        n.d(t, "Input", function () {
+          return r.hb;
+        }),
+        n.d(t, "InputStatus", function () {
+          return r.ib;
+        }),
+        n.d(t, "RefreshPicker", function () {
+          return r.Sb;
+        }),
+        n.d(t, "TimePicker", function () {
+          return r.yc;
+        }),
+        n.d(t, "TimeOfDayPicker", function () {
+          return r.xc;
+        }),
+        n.d(t, "List", function () {
+          return r.ub;
+        }),
+        n.d(t, "TagsInput", function () {
+          return r.vc;
+        }),
+        n.d(t, "ConfirmModal", function () {
+          return r.y;
+        }),
+        n.d(t, "QueryField", function () {
+          return r.Rb;
+        }),
+        n.d(t, "Modal", function () {
+          return r.yb;
+        }),
+        n.d(t, "ModalHeader", function () {
+          return r.zb;
+        }),
+        n.d(t, "ModalTabsHeader", function () {
+          return r.Cb;
+        }),
+        n.d(t, "ModalTabContent", function () {
+          return r.Bb;
+        }),
+        n.d(t, "ModalsProvider", function () {
+          return r.Eb;
+        }),
+        n.d(t, "ModalRoot", function () {
+          return r.Ab;
+        }),
+        n.d(t, "ModalsController", function () {
+          return r.Db;
+        }),
+        n.d(t, "SetInterval", function () {
+          return r.gc;
+        }),
+        n.d(t, "Table", function () {
+          return r.sc;
+        }),
+        n.d(t, "TableInputCSV", function () {
+          return r.tc;
+        }),
+        n.d(t, "TabsBar", function () {
+          return r.uc;
+        }),
+        n.d(t, "Tab", function () {
+          return r.qc;
+        }),
+        n.d(t, "TabContent", function () {
+          return r.rc;
+        }),
+        n.d(t, "BigValue", function () {
+          return r.g;
+        }),
+        n.d(t, "BigValueColorMode", function () {
+          return r.h;
+        }),
+        n.d(t, "BigValueSparkline", function () {
+          return r.k;
+        }),
+        n.d(t, "BigValueGraphMode", function () {
+          return r.i;
+        }),
+        n.d(t, "BigValueJustifyMode", function () {
+          return r.j;
+        }),
+        n.d(t, "Gauge", function () {
+          return r.W;
+        }),
+        n.d(t, "Graph", function () {
+          return r.X;
+        }),
+        n.d(t, "GraphLegend", function () {
+          return r.Z;
+        }),
+        n.d(t, "GraphWithLegend", function () {
+          return r.db;
+        }),
+        n.d(t, "GraphContextMenu", function () {
+          return r.Y;
+        }),
+        n.d(t, "BarGauge", function () {
+          return r.e;
+        }),
+        n.d(t, "BarGaugeDisplayMode", function () {
+          return r.f;
+        }),
+        n.d(t, "GraphTooltipOptions", function () {
+          return r.cb;
+        }),
+        n.d(t, "VizRepeater", function () {
+          return r.Ic;
+        }),
+        n.d(t, "LegendOptions", function () {
+          return r.pb;
+        }),
+        n.d(t, "LegendBasicOptions", function () {
+          return r.lb;
+        }),
+        n.d(t, "LegendRenderOptions", function () {
+          return r.rb;
+        }),
+        n.d(t, "LegendList", function () {
+          return r.ob;
+        }),
+        n.d(t, "LegendTable", function () {
+          return r.sb;
+        }),
+        n.d(t, "LegendItem", function () {
+          return r.nb;
+        }),
+        n.d(t, "LegendPlacement", function () {
+          return r.qb;
+        }),
+        n.d(t, "LegendDisplayMode", function () {
+          return r.mb;
+        }),
+        n.d(t, "Alert", function () {
+          return r.a;
+        }),
+        n.d(t, "AlertVariant", function () {
+          return r.b;
+        }),
+        n.d(t, "GraphSeriesToggler", function () {
+          return r.ab;
+        }),
+        n.d(t, "GraphSeriesTogglerAPI", function () {
+          return r.bb;
+        }),
+        n.d(t, "Collapse", function () {
+          return r.v;
+        }),
+        n.d(t, "ControlledCollapse", function () {
+          return r.D;
+        }),
+        n.d(t, "LogLabels", function () {
+          return r.wb;
+        }),
+        n.d(t, "LogRows", function () {
+          return r.xb;
+        }),
+        n.d(t, "getLogRowStyles", function () {
+          return r.Lc;
+        }),
+        n.d(t, "ToggleButtonGroup", function () {
+          return r.Ac;
+        }),
+        n.d(t, "ToggleButton", function () {
+          return r.zc;
+        }),
+        n.d(t, "FullWidthButtonContainer", function () {
+          return r.V;
+        }),
+        n.d(t, "ThresholdsEditor", function () {
+          return r.wc;
+        }),
+        n.d(t, "ClickOutsideWrapper", function () {
+          return r.t;
+        }),
+        n.d(t, "CallToActionCard", function () {
+          return r.p;
+        }),
+        n.d(t, "ContextMenu", function () {
+          return r.z;
+        }),
+        n.d(t, "ContextMenuItem", function () {
+          return r.B;
+        }),
+        n.d(t, "ContextMenuGroup", function () {
+          return r.A;
+        }),
+        n.d(t, "ContextMenuProps", function () {
+          return r.C;
+        }),
+        n.d(t, "DataLinksEditor", function () {
+          return r.H;
+        }),
+        n.d(t, "DataLinkInput", function () {
+          return r.F;
+        }),
+        n.d(t, "DataLinksContextMenu", function () {
+          return r.G;
+        }),
+        n.d(t, "SeriesIcon", function () {
+          return r.fc;
+        }),
+        n.d(t, "transformersUIRegistry", function () {
+          return r.Tc;
+        }),
+        n.d(t, "TransformationRow", function () {
+          return r.Cc;
+        }),
+        n.d(t, "TransformationsEditor", function () {
+          return r.Dc;
+        }),
+        n.d(t, "JSONFormatter", function () {
+          return r.jb;
+        }),
+        n.d(t, "JsonExplorer", function () {
+          return r.kb;
+        }),
+        n.d(t, "ErrorBoundary", function () {
+          return r.M;
+        }),
+        n.d(t, "ErrorBoundaryAlert", function () {
+          return r.N;
+        }),
+        n.d(t, "ErrorWithStack", function () {
+          return r.O;
+        }),
+        n.d(t, "AlphaNotice", function () {
+          return r.c;
+        }),
+        n.d(t, "DataSourceHttpSettings", function () {
+          return r.I;
+        }),
+        n.d(t, "Spinner", function () {
+          return r.kc;
+        }),
+        n.d(t, "FadeTransition", function () {
+          return r.P;
+        }),
+        n.d(t, "SlideOutTransition", function () {
+          return r.ic;
+        }),
+        n.d(t, "Segment", function () {
+          return r.Ub;
+        }),
+        n.d(t, "SegmentAsync", function () {
+          return r.Vb;
+        }),
+        n.d(t, "SegmentInput", function () {
+          return r.Wb;
+        }),
+        n.d(t, "SegmentSelect", function () {
+          return r.Xb;
+        }),
+        n.d(t, "Chart", function () {
+          return r.s;
+        }),
+        n.d(t, "Icon", function () {
+          return r.fb;
+        }),
+        n.d(t, "Drawer", function () {
+          return r.K;
+        }),
+        n.d(t, "Slider", function () {
+          return r.jc;
+        }),
+        n.d(t, "StringValueEditor", function () {
+          return r.oc;
+        }),
+        n.d(t, "StringOverrideEditor", function () {
+          return r.nc;
+        }),
+        n.d(t, "stringOverrideProcessor", function () {
+          return r.Sc;
+        }),
+        n.d(t, "StringFieldConfigSettings", function () {
+          return r.mc;
+        }),
+        n.d(t, "NumberValueEditor", function () {
+          return r.Ib;
+        }),
+        n.d(t, "NumberOverrideEditor", function () {
+          return r.Hb;
+        }),
+        n.d(t, "numberOverrideProcessor", function () {
+          return r.Nc;
+        }),
+        n.d(t, "NumberFieldConfigSettings", function () {
+          return r.Gb;
+        }),
+        n.d(t, "selectOverrideProcessor", function () {
+          return r.Pc;
+        }),
+        n.d(t, "SelectValueEditor", function () {
+          return r.bc;
+        }),
+        n.d(t, "SelectOverrideEditor", function () {
+          return r.ac;
+        }),
+        n.d(t, "SelectFieldConfigSettings", function () {
+          return r.Zb;
+        }),
+        n.d(t, "Forms", function () {
+          return r.U;
+        }),
+        n.d(t, "ButtonVariant", function () {
+          return r.o;
+        }),
+        n.d(t, "ValuePicker", function () {
+          return r.Gc;
+        }),
+        n.d(t, "fieldMatchersUI", function () {
+          return r.Kc;
+        }),
+        n.d(t, "getStandardFieldConfigs", function () {
+          return r.Mc;
+        }),
+        n.d(t, "HorizontalGroup", function () {
+          return r.eb;
+        }),
+        n.d(t, "VerticalGroup", function () {
+          return r.Hc;
+        }),
+        n.d(t, "Button", function () {
+          return r.l;
+        }),
+        n.d(t, "LinkButton", function () {
+          return r.tb;
+        }),
+        n.d(t, "FieldDisplayEditor", function () {
+          return r.Q;
+        }),
+        n.d(t, "FieldPropertiesEditor", function () {
+          return r.R;
+        }),
+        n.d(t, "SingleStatBaseOptions", function () {
+          return r.hc;
+        }),
+        n.d(t, "sharedSingleStatPanelChangedHandler", function () {
+          return r.Rc;
+        }),
+        n.d(t, "sharedSingleStatMigrationHandler", function () {
+          return r.Qc;
+        }),
+        n.d(t, "convertOldAngularValueMapping", function () {
+          return r.Jc;
+        });
+      var a = n("Gj0f");
+      for (var o in a)
+        [
+          "ConfirmButton",
+          "DeleteButton",
+          "Tooltip",
+          "PopoverContent",
+          "PopoverController",
+          "Popover",
+          "Portal",
+          "CustomScrollbar",
+          "ClipboardButton",
+          "Select",
+          "AsyncSelect",
+          "IndicatorsContainer",
+          "NoOptionsMessage",
+          "resetSelectStyles",
+          "ButtonSelect",
+          "ButtonCascader",
+          "Cascader",
+          "CascaderOption",
+          "FormLabel",
+          "FormField",
+          "SecretFormField",
+          "LoadingPlaceholder",
+          "ColorPicker",
+          "SeriesColorPicker",
+          "SeriesColorPickerPopover",
+          "SeriesColorPickerPopoverWithTheme",
+          "PanelOptionsGroup",
+          "PanelOptionsGrid",
+          "ValueMappingsEditor",
+          "Switch",
+          "EmptySearchResult",
+          "PieChart",
+          "PieChartType",
+          "UnitPicker",
+          "StatsPicker",
+          "Input",
+          "InputStatus",
+          "RefreshPicker",
+          "TimePicker",
+          "TimeOfDayPicker",
+          "List",
+          "TagsInput",
+          "ConfirmModal",
+          "QueryField",
+          "Modal",
+          "ModalHeader",
+          "ModalTabsHeader",
+          "ModalTabContent",
+          "ModalsProvider",
+          "ModalRoot",
+          "ModalsController",
+          "SetInterval",
+          "Table",
+          "TableInputCSV",
+          "TabsBar",
+          "Tab",
+          "TabContent",
+          "BigValue",
+          "BigValueColorMode",
+          "BigValueSparkline",
+          "BigValueGraphMode",
+          "BigValueJustifyMode",
+          "Gauge",
+          "Graph",
+          "GraphLegend",
+          "GraphWithLegend",
+          "GraphContextMenu",
+          "BarGauge",
+          "BarGaugeDisplayMode",
+          "GraphTooltipOptions",
+          "VizRepeater",
+          "LegendOptions",
+          "LegendBasicOptions",
+          "LegendRenderOptions",
+          "LegendList",
+          "LegendTable",
+          "LegendItem",
+          "LegendPlacement",
+          "LegendDisplayMode",
+          "Alert",
+          "AlertVariant",
+          "GraphSeriesToggler",
+          "GraphSeriesTogglerAPI",
+          "Collapse",
+          "ControlledCollapse",
+          "LogLabels",
+          "LogRows",
+          "getLogRowStyles",
+          "ToggleButtonGroup",
+          "ToggleButton",
+          "FullWidthButtonContainer",
+          "ThresholdsEditor",
+          "ClickOutsideWrapper",
+          "CallToActionCard",
+          "ContextMenu",
+          "ContextMenuItem",
+          "ContextMenuGroup",
+          "ContextMenuProps",
+          "DataLinksEditor",
+          "DataLinkInput",
+          "DataLinksContextMenu",
+          "SeriesIcon",
+          "transformersUIRegistry",
+          "TransformationRow",
+          "TransformationsEditor",
+          "JSONFormatter",
+          "JsonExplorer",
+          "ErrorBoundary",
+          "ErrorBoundaryAlert",
+          "ErrorWithStack",
+          "AlphaNotice",
+          "DataSourceHttpSettings",
+          "Spinner",
+          "FadeTransition",
+          "SlideOutTransition",
+          "Segment",
+          "SegmentAsync",
+          "SegmentInput",
+          "SegmentSelect",
+          "Chart",
+          "Icon",
+          "Drawer",
+          "Slider",
+          "StringValueEditor",
+          "StringOverrideEditor",
+          "stringOverrideProcessor",
+          "StringFieldConfigSettings",
+          "NumberValueEditor",
+          "NumberOverrideEditor",
+          "numberOverrideProcessor",
+          "NumberFieldConfigSettings",
+          "selectOverrideProcessor",
+          "SelectValueEditor",
+          "SelectOverrideEditor",
+          "SelectFieldConfigSettings",
+          "Forms",
+          "ButtonVariant",
+          "ValuePicker",
+          "fieldMatchersUI",
+          "getStandardFieldConfigs",
+          "HorizontalGroup",
+          "VerticalGroup",
+          "Button",
+          "LinkButton",
+          "FieldDisplayEditor",
+          "FieldPropertiesEditor",
+          "SingleStatBaseOptions",
+          "sharedSingleStatPanelChangedHandler",
+          "sharedSingleStatMigrationHandler",
+          "convertOldAngularValueMapping",
+          "default",
+        ].indexOf(o) < 0 &&
+          (function (e) {
+            n.d(t, e, function () {
+              return a[e];
+            });
+          })(o);
+      var i = n("aWP2");
+      n.d(t, "ansicolor", function () {
+        return i.m;
+      }),
+        n.d(t, "DOMUtil", function () {
+          return i.c;
+        }),
+        n.d(t, "PALETTE_ROWS", function () {
+          return i.i;
+        }),
+        n.d(t, "PALETTE_COLUMNS", function () {
+          return i.h;
+        }),
+        n.d(t, "DEFAULT_ANNOTATION_COLOR", function () {
+          return i.b;
+        }),
+        n.d(t, "OK_COLOR", function () {
+          return i.g;
+        }),
+        n.d(t, "ALERTING_COLOR", function () {
+          return i.a;
+        }),
+        n.d(t, "NO_DATA_COLOR", function () {
+          return i.f;
+        }),
+        n.d(t, "PENDING_COLOR", function () {
+          return i.j;
+        }),
+        n.d(t, "REGION_FILL_ALPHA", function () {
+          return i.k;
+        }),
+        n.d(t, "colors", function () {
+          return i.o;
+        }),
+        n.d(t, "sortedColors", function () {
+          return i.w;
+        }),
+        n.d(t, "EventsWithValidation", function () {
+          return i.e;
+        }),
+        n.d(t, "validate", function () {
+          return i.x;
+        }),
+        n.d(t, "hasValidationEvent", function () {
+          return i.q;
+        }),
+        n.d(t, "regexValidation", function () {
+          return i.v;
+        }),
+        n.d(t, "SCHEMA", function () {
+          return i.l;
+        }),
+        n.d(t, "makeFragment", function () {
+          return i.s;
+        }),
+        n.d(t, "makeValue", function () {
+          return i.t;
+        }),
+        n.d(t, "DataLinkBuiltInVars", function () {
+          return i.d;
+        }),
+        n.d(t, "linkModelToContextMenuItems", function () {
+          return i.r;
+        }),
+        n.d(t, "getTagColorsFromName", function () {
+          return i.p;
+        }),
+        n.d(t, "measureText", function () {
+          return i.u;
+        }),
+        n.d(t, "calculateFontSize", function () {
+          return i.n;
+        });
+      var l = n("MIBK");
+      n.d(t, "stylesFactory", function () {
+        return l.g;
+      }),
+        n.d(t, "ThemeContext", function () {
+          return l.a;
+        }),
+        n.d(t, "withTheme", function () {
+          return l.i;
+        }),
+        n.d(t, "mockTheme", function () {
+          return l.c;
+        }),
+        n.d(t, "getTheme", function () {
+          return l.b;
+        }),
+        n.d(t, "selectThemeVariant", function () {
+          return l.e;
+        }),
+        n.d(t, "useTheme", function () {
+          return l.h;
+        }),
+        n.d(t, "mockThemeContext", function () {
+          return l.d;
+        }),
+        n.d(t, "styleMixins", function () {
+          return l.f;
+        });
+      var s = n("CqUX");
+      n.d(t, "BracesPlugin", function () {
+        return s.a;
+      }),
+        n.d(t, "ClearPlugin", function () {
+          return s.b;
+        }),
+        n.d(t, "ClipboardPlugin", function () {
+          return s.c;
+        }),
+        n.d(t, "IndentationPlugin", function () {
+          return s.d;
+        }),
+        n.d(t, "NewlinePlugin", function () {
+          return s.e;
+        }),
+        n.d(t, "RunnerPlugin", function () {
+          return s.f;
+        }),
+        n.d(t, "SelectionShortcutsPlugin", function () {
+          return s.g;
+        }),
+        n.d(t, "SlatePrism", function () {
+          return s.h;
+        }),
+        n.d(t, "SuggestionsPlugin", function () {
+          return s.i;
+        });
+    },
+    kHZm: function (e, t, n) {
+      "use strict";
+      var r = n("F/XL"),
+        a = n("p0ib"),
+        o = n("gI3B"),
+        i = n("0/uQ"),
+        l = n("LvDl"),
+        s = n("67Y/"),
+        c = n("9Z1F"),
+        u = n("xMyE"),
+        f = n("2WpN"),
+        d = n("S1nX"),
+        p = n("aGNc"),
+        h = n("ny24"),
+        m = n("NXk7"),
+        g = n("Obii"),
+        b = n("p+Sq"),
+        v = n("t8hP");
+      var y = n("exx3");
+      function w(e) {
+        return (w =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function O(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function x(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? O(Object(n), !0).forEach(function (t) {
+                k(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : O(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function k(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function j(e, t) {
+        var n = {
+          panelData: {
+            state: g.LoadingState.Loading,
+            series: [],
+            request: t,
+            timeRange: t.range,
+          },
+          packets: {},
+        };
+        if (!t.targets.length)
+          return (
+            (t.endTime = Date.now()),
+            (n.panelData.state = g.LoadingState.Done),
+            Object(r.a)(n.panelData)
+          );
+        var O,
+          k = (function (e, t) {
+            var n = !0,
+              r = !1,
+              a = void 0;
+            try {
+              for (
+                var o, l = t.targets[Symbol.iterator]();
+                !(n = (o = l.next()).done);
+                n = !0
+              ) {
+                if (o.value.datasource === y.a) return y.b.query(t);
+              }
+            } catch (e) {
+              (r = !0), (a = e);
+            } finally {
+              try {
+                n || null == l.return || l.return();
+              } finally {
+                if (r) throw a;
+              }
+            }
+            var s = e.query(t);
+            return Object(i.a)(s);
+          })(e, t).pipe(
+            Object(s.a)(function (e) {
+              if (!Object(l.isArray)(e.data))
+                throw new Error(
+                  "Expected response data to be array, got ".concat(
+                    w(e.data),
+                    "."
+                  )
+                );
+              return (
+                (t.endTime = Date.now()),
+                (n = (function (e, t) {
+                  var n = t.panelData.request,
+                    r = x({}, t.packets);
+                  r[e.key || "A"] = e;
+                  var a = e.state || g.LoadingState.Done,
+                    o = void 0,
+                    i = x({}, n.range),
+                    s = Object(l.isString)(i.raw.from)
+                      ? {
+                          from: g.dateMath.parse(i.raw.from, !1),
+                          to: g.dateMath.parse(i.raw.to, !0),
+                          raw: i.raw,
+                        }
+                      : i,
+                    c = Object(l.flatten)(
+                      Object(l.map)(r, function (e) {
+                        return (
+                          e.error &&
+                            ((a = g.LoadingState.Error), (o = e.error)),
+                          e.data
+                        );
+                      })
+                    );
+                  return {
+                    packets: r,
+                    panelData: {
+                      state: a,
+                      series: c,
+                      error: o,
+                      request: n,
+                      timeRange: s,
+                    },
+                  };
+                })(e, n)).panelData
+              );
+            }),
+            Object(c.a)(function (e) {
+              return Object(r.a)(
+                x({}, n.panelData, { state: g.LoadingState.Error, error: S(e) })
+              );
+            }),
+            Object(u.a)(
+              (function (e) {
+                var t = !1;
+                return function (n) {
+                  if (
+                    n.request &&
+                    !t &&
+                    (n.state === g.LoadingState.Done ||
+                      n.state === g.LoadingState.Error)
+                  ) {
+                    var r = {
+                        datasourceName: e.name,
+                        datasourceId: e.id,
+                        panelId: n.request.panelId,
+                        dashboardId: n.request.dashboardId,
+                        dataSize: 0,
+                        duration: n.request.endTime - n.request.startTime,
+                        eventName: "data-request",
+                      },
+                      a = Object(b.a)().getCurrent();
+                    a &&
+                      ((r.dashboardId = a.id),
+                      (r.dashboardName = a.title),
+                      (r.dashboardUid = a.uid),
+                      (r.folderName = a.meta.folderTitle)),
+                      n.series &&
+                        n.series.length > 0 &&
+                        (r.dataSize = n.series.length),
+                      n.error && (r.error = n.error.message),
+                      Object(v.reportMetaAnalytics)(r),
+                      (t = !0);
+                  }
+                };
+              })(e)
+            ),
+            Object(f.a)(
+              ((O = t),
+              function () {
+                m.b.resolveCancelerIfExists(O.requestId);
+              })
+            ),
+            Object(d.a)()
+          );
+        return Object(a.a)(
+          Object(o.a)(200).pipe(Object(p.a)(n.panelData), Object(h.a)(k)),
+          k
+        );
+      }
+      function S(e) {
+        var t = e || {};
+        if (!t.message) {
+          if ("string" == typeof e || e instanceof String)
+            return { message: e };
+          var n = "Query error";
+          t.message
+            ? (n = t.message)
+            : t.data && t.data.message
+            ? (n = t.data.message)
+            : t.data && t.data.error
+            ? (n = t.data.error)
+            : t.status &&
+              (n = "Query error: ".concat(t.status, " ").concat(t.statusText)),
+            (t.message = n);
+        }
+        return t;
+      }
+      function E(e) {
+        if (!Object(l.isArray)(e)) return [];
+        var t = [],
+          n = !0,
+          r = !1,
+          a = void 0;
+        try {
+          for (
+            var o, i = e[Symbol.iterator]();
+            !(n = (o = i.next()).done);
+            n = !0
+          ) {
+            var s = o.value,
+              c = Object(g.guessFieldTypes)(Object(g.toDataFrame)(s)),
+              u = !0,
+              f = !1,
+              d = void 0;
+            try {
+              for (
+                var p, h = c.fields[Symbol.iterator]();
+                !(u = (p = h.next()).done);
+                u = !0
+              ) {
+                p.value.calcs = null;
+              }
+            } catch (e) {
+              (f = !0), (d = e);
+            } finally {
+              try {
+                u || null == h.return || h.return();
+              } finally {
+                if (f) throw d;
+              }
+            }
+            t.push(c);
+          }
+        } catch (e) {
+          (r = !0), (a = e);
+        } finally {
+          try {
+            n || null == i.return || i.return();
+          } finally {
+            if (r) throw a;
+          }
+        }
+        return t;
+      }
+      function C(e, t) {
+        var n = e.series;
+        if (e.state === g.LoadingState.Loading && 0 === n.length)
+          return t || (t = e), x({}, t, { state: g.LoadingState.Loading });
+        var r = performance.now();
+        return x({}, e, {
+          series: E(n),
+          timings: { dataProcessingTime: performance.now() - r },
+        });
+      }
+      n.d(t, "c", function () {
+        return j;
+      }),
+        n.d(t, "a", function () {
+          return E;
+        }),
+        n.d(t, "b", function () {
+          return C;
+        });
+    },
+    kX54: function (e, t) {
+      !(function (e) {
+        "use strict";
+        e(function () {
+          var t;
+          e.support.transition = (t = (function () {
+            var e,
+              t = document.createElement("bootstrap"),
+              n = {
+                WebkitTransition: "webkitTransitionEnd",
+                MozTransition: "transitionend",
+                OTransition: "oTransitionEnd otransitionend",
+                transition: "transitionend",
+              };
+            for (e in n) if (void 0 !== t.style[e]) return n[e];
+          })()) && { end: t };
+        });
+      })(window.jQuery),
+        (function (e) {
+          "use strict";
+          var t = "[data-toggle=dropdown]",
+            n = function (t) {
+              var n = e(t).on("click.dropdown.data-api", this.toggle);
+              e("html").on("click.dropdown.data-api", function () {
+                n.parent().removeClass("open");
+              });
+            };
+          function r() {
+            e(".dropdown-backdrop").remove(),
+              e(t).each(function () {
+                a(e(this)).removeClass("open");
+              });
+          }
+          function a(t) {
+            var n,
+              r = t.attr("data-target");
+            return (
+              r ||
+                (r =
+                  (r = t.attr("href")) &&
+                  /#[A-Za-z]/.test(r) &&
+                  r.replace(/.*(?=#[^\s]*$)/, "")),
+              ((n = r && e(r)) && n.length) || (n = t.parent()),
+              n
+            );
+          }
+          n.prototype = {
+            constructor: n,
+            toggle: function (t) {
+              var n,
+                o,
+                i = e(this);
+              if (!i.is(".disabled, :disabled"))
+                return (
+                  (o = (n = a(i)).hasClass("open")),
+                  r(),
+                  o ||
+                    ("ontouchstart" in document.documentElement &&
+                      e('<div class="dropdown-backdrop"/>')
+                        .insertBefore(e(this))
+                        .on("click", r),
+                    n.toggleClass("open")),
+                  i.focus(),
+                  !1
+                );
+            },
+            keydown: function (n) {
+              var r, o, i, l, s;
+              if (
+                /(38|40|27)/.test(n.keyCode) &&
+                ((r = e(this)),
+                n.preventDefault(),
+                n.stopPropagation(),
+                !r.is(".disabled, :disabled"))
+              ) {
+                if (
+                  !(l = (i = a(r)).hasClass("open")) ||
+                  (l && 27 == n.keyCode)
+                )
+                  return 27 == n.which && i.find(t).focus(), r.click();
+                (o = e("[role=menu] li:not(.divider):visible a", i)).length &&
+                  ((s = o.index(o.filter(":focus"))),
+                  38 == n.keyCode && s > 0 && s--,
+                  40 == n.keyCode && s < o.length - 1 && s++,
+                  ~s || (s = 0),
+                  o.eq(s).focus());
+              }
+            },
+          };
+          var o = e.fn.dropdown;
+          (e.fn.dropdown = function (t) {
+            return this.each(function () {
+              var r = e(this),
+                a = r.data("dropdown");
+              a || r.data("dropdown", (a = new n(this))),
+                "string" == typeof t && a[t].call(r);
+            });
+          }),
+            (e.fn.dropdown.Constructor = n),
+            (e.fn.dropdown.noConflict = function () {
+              return (e.fn.dropdown = o), this;
+            }),
+            e(document)
+              .on("click.dropdown.data-api", r)
+              .on("click.dropdown.data-api", ".dropdown form", function (e) {
+                e.stopPropagation();
+              })
+              .on("click.dropdown.data-api", t, n.prototype.toggle)
+              .on(
+                "keydown.dropdown.data-api",
+                t + ", [role=menu]",
+                n.prototype.keydown
+              );
+        })(window.jQuery),
+        (function (e) {
+          "use strict";
+          var t = function (t, n) {
+            (this.options = n),
+              (this.$element = e(t).delegate(
+                '[data-dismiss="modal"]',
+                "click.dismiss.modal",
+                e.proxy(this.hide, this)
+              )),
+              this.options.remote &&
+                this.$element.find(".modal-body").load(this.options.remote);
+          };
+          t.prototype = {
+            constructor: t,
+            toggle: function () {
+              return this[this.isShown ? "hide" : "show"]();
+            },
+            show: function () {
+              var t = this,
+                n = e.Event("show");
+              this.$element.trigger(n),
+                this.isShown ||
+                  n.isDefaultPrevented() ||
+                  ((this.isShown = !0),
+                  this.escape(),
+                  this.backdrop(function () {
+                    var n = e.support.transition && t.$element.hasClass("fade");
+                    t.$element.parent().length ||
+                      t.$element.appendTo(document.body),
+                      t.$element.show(),
+                      n && t.$element[0].offsetWidth,
+                      t.$element.addClass("in").attr("aria-hidden", !1),
+                      t.enforceFocus(),
+                      n
+                        ? t.$element.one(e.support.transition.end, function () {
+                            t.$element.focus().trigger("shown");
+                          })
+                        : t.$element.focus().trigger("shown");
+                  }));
+            },
+            hide: function (t) {
+              t && t.preventDefault();
+              (t = e.Event("hide")),
+                this.$element.trigger(t),
+                this.isShown &&
+                  !t.isDefaultPrevented() &&
+                  ((this.isShown = !1),
+                  this.escape(),
+                  e(document).off("focusin.modal"),
+                  this.$element.removeClass("in").attr("aria-hidden", !0),
+                  e.support.transition && this.$element.hasClass("fade")
+                    ? this.hideWithTransition()
+                    : this.hideModal());
+            },
+            enforceFocus: function () {
+              var t = this;
+              e(document).on("focusin.modal", function (e) {
+                t.$element[0] === e.target ||
+                  t.$element.has(e.target).length ||
+                  t.$element.focus();
+              });
+            },
+            escape: function () {
+              var e = this;
+              this.isShown && this.options.keyboard
+                ? this.$element.on("keyup.dismiss.modal", function (t) {
+                    27 == t.which && e.hide();
+                  })
+                : this.isShown || this.$element.off("keyup.dismiss.modal");
+            },
+            hideWithTransition: function () {
+              var t = this,
+                n = setTimeout(function () {
+                  t.$element.off(e.support.transition.end), t.hideModal();
+                }, 500);
+              this.$element.one(e.support.transition.end, function () {
+                clearTimeout(n), t.hideModal();
+              });
+            },
+            hideModal: function () {
+              var e = this;
+              this.$element.hide(),
+                this.backdrop(function () {
+                  e.removeBackdrop(), e.$element.trigger("hidden");
+                });
+            },
+            removeBackdrop: function () {
+              this.$backdrop && this.$backdrop.remove(),
+                (this.$backdrop = null);
+            },
+            backdrop: function (t) {
+              var n = this.$element.hasClass("fade") ? "fade" : "";
+              if (this.isShown && this.options.backdrop) {
+                var r = e.support.transition && n;
+                if (
+                  ((this.$backdrop = e(
+                    '<div class="modal-backdrop ' + n + '" />'
+                  ).appendTo(document.body)),
+                  this.$backdrop.click(
+                    "static" == this.options.backdrop
+                      ? e.proxy(this.$element[0].focus, this.$element[0])
+                      : e.proxy(this.hide, this)
+                  ),
+                  r && this.$backdrop[0].offsetWidth,
+                  this.$backdrop.addClass("in"),
+                  !t)
+                )
+                  return;
+                r ? this.$backdrop.one(e.support.transition.end, t) : t();
+              } else
+                !this.isShown && this.$backdrop
+                  ? (this.$backdrop.removeClass("in"),
+                    e.support.transition && this.$element.hasClass("fade")
+                      ? this.$backdrop.one(e.support.transition.end, t)
+                      : t())
+                  : t && t();
+            },
+          };
+          var n = e.fn.modal;
+          (e.fn.modal = function (n) {
+            return this.each(function () {
+              var r = e(this),
+                a = r.data("modal"),
+                o = e.extend(
+                  {},
+                  e.fn.modal.defaults,
+                  r.data(),
+                  "object" == typeof n && n
+                );
+              a || r.data("modal", (a = new t(this, o))),
+                "string" == typeof n ? a[n]() : o.show && a.show();
+            });
+          }),
+            (e.fn.modal.defaults = { backdrop: !0, keyboard: !0, show: !0 }),
+            (e.fn.modal.Constructor = t),
+            (e.fn.modal.noConflict = function () {
+              return (e.fn.modal = n), this;
+            }),
+            e(document).on(
+              "click.modal.data-api",
+              '[data-toggle="modal"]',
+              function (t) {
+                var n = e(this),
+                  r = n.attr("href"),
+                  a = e(
+                    n.attr("data-target") ||
+                      (r && r.replace(/.*(?=#[^\s]+$)/, ""))
+                  ),
+                  o = a.data("modal")
+                    ? "toggle"
+                    : e.extend(
+                        { remote: !/#/.test(r) && r },
+                        a.data(),
+                        n.data()
+                      );
+                t.preventDefault(),
+                  a.modal(o).one("hide", function () {
+                    n.focus();
+                  });
+              }
+            );
+        })(window.jQuery),
+        (function (e) {
+          "use strict";
+          var t = function (e, t) {
+            this.init("tooltip", e, t);
+          };
+          t.prototype = {
+            constructor: t,
+            init: function (t, n, r) {
+              var a, o, i, l, s;
+              for (
+                this.type = t,
+                  this.$element = e(n),
+                  this.options = this.getOptions(r),
+                  this.enabled = !0,
+                  s = (i = this.options.trigger.split(" ")).length;
+                s--;
+
+              )
+                "click" == (l = i[s])
+                  ? this.$element.on(
+                      "click." + this.type,
+                      this.options.selector,
+                      e.proxy(this.toggle, this)
+                    )
+                  : "manual" != l &&
+                    ((a = "hover" == l ? "mouseenter" : "focus"),
+                    (o = "hover" == l ? "mouseleave" : "blur"),
+                    this.$element.on(
+                      a + "." + this.type,
+                      this.options.selector,
+                      e.proxy(this.enter, this)
+                    ),
+                    this.$element.on(
+                      o + "." + this.type,
+                      this.options.selector,
+                      e.proxy(this.leave, this)
+                    ));
+              this.options.selector
+                ? (this._options = e.extend({}, this.options, {
+                    trigger: "manual",
+                    selector: "",
+                  }))
+                : this.fixTitle();
+            },
+            getOptions: function (t) {
+              return (
+                (t = e.extend(
+                  {},
+                  e.fn[this.type].defaults,
+                  this.$element.data(),
+                  t
+                )).delay &&
+                  "number" == typeof t.delay &&
+                  (t.delay = { show: t.delay, hide: t.delay }),
+                t
+              );
+            },
+            enter: function (t) {
+              var n,
+                r = e.fn[this.type].defaults,
+                a = {};
+              if (
+                (this._options &&
+                  e.each(
+                    this._options,
+                    function (e, t) {
+                      r[e] != t && (a[e] = t);
+                    },
+                    this
+                  ),
+                !(n = e(t.currentTarget)[this.type](a).data(this.type)).options
+                  .delay || !n.options.delay.show)
+              )
+                return n.show();
+              clearTimeout(this.timeout),
+                (n.hoverState = "in"),
+                (this.timeout = setTimeout(function () {
+                  "in" == n.hoverState && n.show();
+                }, n.options.delay.show));
+            },
+            leave: function (t) {
+              var n = e(t.currentTarget)
+                [this.type](this._options)
+                .data(this.type);
+              if (
+                (this.timeout && clearTimeout(this.timeout),
+                !n.options.delay || !n.options.delay.hide)
+              )
+                return n.hide();
+              (n.hoverState = "out"),
+                (this.timeout = setTimeout(function () {
+                  "out" == n.hoverState && n.hide();
+                }, n.options.delay.hide));
+            },
+            show: function () {
+              var t,
+                n,
+                r,
+                a,
+                o,
+                i,
+                l = e.Event("show");
+              if (this.hasContent() && this.enabled) {
+                if ((this.$element.trigger(l), l.isDefaultPrevented())) return;
+                switch (
+                  ((t = this.tip()),
+                  this.setContent(),
+                  this.options.animation && t.addClass("fade"),
+                  (o =
+                    "function" == typeof this.options.placement
+                      ? this.options.placement.call(
+                          this,
+                          t[0],
+                          this.$element[0]
+                        )
+                      : this.options.placement),
+                  t.detach().css({ top: 0, left: 0, display: "block" }),
+                  this.options.container
+                    ? t.appendTo(this.options.container)
+                    : t.insertAfter(this.$element),
+                  (n = this.getPosition()),
+                  (r = t[0].offsetWidth),
+                  (a = t[0].offsetHeight),
+                  o)
+                ) {
+                  case "bottom":
+                    i = {
+                      top: n.top + n.height,
+                      left: n.left + n.width / 2 - r / 2,
+                    };
+                    break;
+                  case "top":
+                    i = { top: n.top - a, left: n.left + n.width / 2 - r / 2 };
+                    break;
+                  case "left":
+                    i = { top: n.top + n.height / 2 - a / 2, left: n.left - r };
+                    break;
+                  case "right":
+                    i = {
+                      top: n.top + n.height / 2 - a / 2,
+                      left: n.left + n.width,
+                    };
+                    break;
+                  case "topLeft":
+                    i = {
+                      top: n.top - a,
+                      left: n.left + n.width / 2 - 0.1 * r,
+                    };
+                    break;
+                  case "topRight":
+                    i = {
+                      top: n.top - a,
+                      left: n.left + n.width / 2 - 0.9 * r,
+                    };
+                    break;
+                  case "rightTop":
+                    i = {
+                      top: n.top + n.height / 2 - 0.1 * a,
+                      left: n.left + n.width,
+                    };
+                    break;
+                  case "rightBottom":
+                    i = {
+                      top: n.top + n.height / 2 - 0.9 * a,
+                      left: n.left + n.width,
+                    };
+                    break;
+                  case "bottomLeft":
+                    i = {
+                      top: n.top + n.height,
+                      left: n.left + n.width / 2 - 0.1 * r,
+                    };
+                    break;
+                  case "bottomRight":
+                    i = {
+                      top: n.top + n.height,
+                      left: n.left + n.width / 2 - 0.9 * r,
+                    };
+                    break;
+                  case "leftTop":
+                    i = {
+                      top: n.top + n.height / 2 - 0.1 * a,
+                      left: n.left - r,
+                    };
+                    break;
+                  case "leftBottom":
+                    i = {
+                      top: n.top + n.height / 2 - 0.9 * a,
+                      left: n.left - r,
+                    };
+                }
+                this.applyPlacement(i, o), this.$element.trigger("shown");
+              }
+            },
+            applyPlacement: function (e, t) {
+              var n,
+                r,
+                a,
+                o,
+                i = this.tip(),
+                l = i[0].offsetWidth,
+                s = i[0].offsetHeight;
+              i.offset(e).addClass(t).addClass("in"),
+                (n = i[0].offsetWidth),
+                (r = i[0].offsetHeight),
+                "top" == t && r != s && ((e.top = e.top + s - r), (o = !0)),
+                "bottom" == t || "top" == t
+                  ? ((a = 0),
+                    e.left < 0 &&
+                      ((a = -2 * e.left),
+                      (e.left = 0),
+                      i.offset(e),
+                      (n = i[0].offsetWidth),
+                      (r = i[0].offsetHeight)),
+                    this.replaceArrow(a - l + n, n, "left"))
+                  : this.replaceArrow(r - s, r, "top"),
+                o && i.offset(e);
+            },
+            replaceArrow: function (e, t, n) {
+              this.arrow().css(n, e ? 50 * (1 - e / t) + "%" : "");
+            },
+            setContent: function () {
+              var e = this.tip(),
+                t = this.getTitle();
+              e.find(".tooltip-inner")[this.options.html ? "html" : "text"](t),
+                e.removeClass("fade in top bottom left right");
+            },
+            hide: function () {
+              var t,
+                n = this.tip(),
+                r = e.Event("hide");
+              if ((this.$element.trigger(r), !r.isDefaultPrevented()))
+                return (
+                  n.removeClass("in"),
+                  e.support.transition && this.$tip.hasClass("fade")
+                    ? ((t = setTimeout(function () {
+                        n.off(e.support.transition.end).detach();
+                      }, 500)),
+                      n.one(e.support.transition.end, function () {
+                        clearTimeout(t), n.detach();
+                      }))
+                    : n.detach(),
+                  this.$element.trigger("hidden"),
+                  this
+                );
+            },
+            fixTitle: function () {
+              var e = this.$element;
+              (e.attr("title") ||
+                "string" != typeof e.attr("data-original-title")) &&
+                e
+                  .attr("data-original-title", e.attr("title") || "")
+                  .attr("title", "");
+            },
+            hasContent: function () {
+              return this.getTitle();
+            },
+            getPosition: function () {
+              var t = this.$element[0];
+              return e.extend(
+                {},
+                "function" == typeof t.getBoundingClientRect
+                  ? t.getBoundingClientRect()
+                  : { width: t.offsetWidth, height: t.offsetHeight },
+                this.$element.offset()
+              );
+            },
+            getTitle: function () {
+              var e = this.$element,
+                t = this.options;
+              return (
+                e.attr("data-original-title") ||
+                ("function" == typeof t.title ? t.title.call(e[0]) : t.title)
+              );
+            },
+            tip: function () {
+              return (this.$tip = this.$tip || e(this.options.template));
+            },
+            arrow: function () {
+              return (this.$arrow =
+                this.$arrow || this.tip().find(".tooltip-arrow"));
+            },
+            validate: function () {
+              this.$element[0].parentNode ||
+                (this.hide(), (this.$element = null), (this.options = null));
+            },
+            enable: function () {
+              this.enabled = !0;
+            },
+            disable: function () {
+              this.enabled = !1;
+            },
+            toggleEnabled: function () {
+              this.enabled = !this.enabled;
+            },
+            toggle: function (t) {
+              var n = t
+                ? e(t.currentTarget)[this.type](this._options).data(this.type)
+                : this;
+              n.tip().hasClass("in") ? n.hide() : n.show();
+            },
+            destroy: function () {
+              this.hide()
+                .$element.off("." + this.type)
+                .removeData(this.type);
+            },
+          };
+          var n = e.fn.tooltip;
+          (e.fn.tooltip = function (n) {
+            return this.each(function () {
+              var r = e(this),
+                a = r.data("tooltip"),
+                o = "object" == typeof n && n;
+              a || r.data("tooltip", (a = new t(this, o))),
+                "string" == typeof n && a[n]();
+            });
+          }),
+            (e.fn.tooltip.Constructor = t),
+            (e.fn.tooltip.defaults = {
+              animation: !0,
+              placement: "top",
+              selector: !1,
+              template:
+                '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
+              trigger: "hover focus",
+              title: "",
+              delay: 0,
+              html: !1,
+              container: !1,
+            }),
+            (e.fn.tooltip.noConflict = function () {
+              return (e.fn.tooltip = n), this;
+            });
+        })(window.jQuery),
+        (function (e) {
+          "use strict";
+          var t = function (t) {
+            this.element = e(t);
+          };
+          t.prototype = {
+            constructor: t,
+            show: function () {
+              var t,
+                n,
+                r,
+                a = this.element,
+                o = a.closest("ul:not(.dropdown-menu)"),
+                i = a.attr("data-target");
+              i ||
+                (i = (i = a.attr("href")) && i.replace(/.*(?=#[^\s]*$)/, "")),
+                a.parent("li").hasClass("active") ||
+                  ((t = o.find(".active:last a")[0]),
+                  (r = e.Event("show", { relatedTarget: t })),
+                  a.trigger(r),
+                  r.isDefaultPrevented() ||
+                    ((n = e(i)),
+                    this.activate(a.parent("li"), o),
+                    this.activate(n, n.parent(), function () {
+                      a.trigger({ type: "shown", relatedTarget: t });
+                    })));
+            },
+            activate: function (t, n, r) {
+              var a = n.find("> .active"),
+                o = r && e.support.transition && a.hasClass("fade");
+              function i() {
+                a
+                  .removeClass("active")
+                  .find("> .dropdown-menu > .active")
+                  .removeClass("active"),
+                  t.addClass("active"),
+                  o
+                    ? (t[0].offsetWidth, t.addClass("in"))
+                    : t.removeClass("fade"),
+                  t.parent(".dropdown-menu") &&
+                    t.closest("li.dropdown").addClass("active"),
+                  r && r();
+              }
+              o ? a.one(e.support.transition.end, i) : i(), a.removeClass("in");
+            },
+          };
+          var n = e.fn.tab;
+          (e.fn.tab = function (n) {
+            return this.each(function () {
+              var r = e(this),
+                a = r.data("tab");
+              a || r.data("tab", (a = new t(this))),
+                "string" == typeof n && a[n]();
+            });
+          }),
+            (e.fn.tab.Constructor = t),
+            (e.fn.tab.noConflict = function () {
+              return (e.fn.tab = n), this;
+            }),
+            e(document).on(
+              "click.tab.data-api",
+              '[data-toggle="tab"], [data-toggle="pill"]',
+              function (t) {
+                t.preventDefault(), e(this).tab("show");
+              }
+            );
+        })(window.jQuery),
+        (function (e) {
+          "use strict";
+          var t = function (t, n) {
+            (this.$element = e(t)),
+              (this.options = e.extend({}, e.fn.typeahead.defaults, n)),
+              (this.matcher = this.options.matcher || this.matcher),
+              (this.sorter = this.options.sorter || this.sorter),
+              (this.highlighter = this.options.highlighter || this.highlighter),
+              (this.updater = this.options.updater || this.updater),
+              (this.source = this.options.source),
+              (this.$menu = e(this.options.menu)),
+              (this.shown = !1),
+              this.listen();
+          };
+          t.prototype = {
+            constructor: t,
+            select: function () {
+              var e =
+                this.$menu.find(".active").attr("data-value") ||
+                this.$element.val();
+              return this.$element.val(this.updater(e)).change(), this.hide();
+            },
+            updater: function (e) {
+              return e;
+            },
+            show: function () {
+              var t = e.extend({}, this.$element.position(), {
+                height: this.$element[0].offsetHeight,
+              });
+              return (
+                this.$menu
+                  .insertAfter(this.$element)
+                  .css({ top: t.top + t.height, left: t.left })
+                  .show(),
+                (this.shown = !0),
+                this
+              );
+            },
+            hide: function () {
+              return this.$menu.hide(), (this.shown = !1), this;
+            },
+            lookup: function (t) {
+              var n;
+              return (
+                (this.query = this.$element.val()),
+                !this.query || this.query.length < this.options.minLength
+                  ? this.shown
+                    ? this.hide()
+                    : this
+                  : (n = e.isFunction(this.source)
+                      ? this.source(this.query, e.proxy(this.process, this))
+                      : this.source)
+                  ? this.process(n)
+                  : this
+              );
+            },
+            process: function (t) {
+              var n = this;
+              return (
+                (t = e.grep(t, function (e) {
+                  return n.matcher(e);
+                })),
+                (t = this.sorter(t)).length
+                  ? this.render(t.slice(0, this.options.items)).show()
+                  : this.shown
+                  ? this.hide()
+                  : this
+              );
+            },
+            matcher: function (e) {
+              return ~e.toLowerCase().indexOf(this.query.toLowerCase());
+            },
+            sorter: function (e) {
+              for (var t, n = [], r = [], a = []; (t = e.shift()); )
+                t.toLowerCase().indexOf(this.query.toLowerCase())
+                  ? ~t.indexOf(this.query)
+                    ? r.push(t)
+                    : a.push(t)
+                  : n.push(t);
+              return n.concat(r, a);
+            },
+            highlighter: function (e) {
+              var t = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&");
+              return t
+                ? e.replace(new RegExp("(" + t + ")", "ig"), function (e, t) {
+                    return "<strong>" + t + "</strong>";
+                  })
+                : e;
+            },
+            render: function (t) {
+              var n = this;
+              return (
+                (t = e(t).map(function (t, r) {
+                  return (
+                    (t = e(n.options.item).attr("data-value", r))
+                      .find("a")
+                      .html(n.highlighter(r)),
+                    t[0]
+                  );
+                })),
+                this.$menu.html(t),
+                this
+              );
+            },
+            next: function (t) {
+              var n = this.$menu.find(".active").removeClass("active").next();
+              n.length || (n = e(this.$menu.find("li")[0])),
+                n.addClass("active");
+            },
+            prev: function (e) {
+              var t = this.$menu.find(".active").removeClass("active").prev();
+              t.length || (t = this.$menu.find("li").last()),
+                t.addClass("active");
+            },
+            listen: function () {
+              this.$element
+                .on("focus", e.proxy(this.focus, this))
+                .on("blur", e.proxy(this.blur, this))
+                .on("keypress", e.proxy(this.keypress, this))
+                .on("keyup", e.proxy(this.keyup, this)),
+                this.eventSupported("keydown") &&
+                  this.$element.on("keydown", e.proxy(this.keydown, this)),
+                this.$menu
+                  .on("click", e.proxy(this.click, this))
+                  .on("mouseenter", "li", e.proxy(this.mouseenter, this))
+                  .on("mouseleave", "li", e.proxy(this.mouseleave, this));
+            },
+            destroy: function () {
+              this.$element.off().removeData("typeahead"), this.$menu.off();
+            },
+            eventSupported: function (e) {
+              var t = e in this.$element;
+              return (
+                t ||
+                  (this.$element.setAttribute(e, "return;"),
+                  (t = "function" == typeof this.$element[e])),
+                t
+              );
+            },
+            move: function (e) {
+              if (this.shown && (!e.shiftKey || 40 !== e.keyCode)) {
+                switch (e.keyCode) {
+                  case 9:
+                  case 13:
+                  case 27:
+                    e.preventDefault();
+                    break;
+                  case 38:
+                    e.preventDefault(), this.prev();
+                    break;
+                  case 40:
+                    e.preventDefault(), this.next();
+                }
+                e.stopPropagation();
+              }
+            },
+            keydown: function (t) {
+              (this.suppressKeyPressRepeat = ~e.inArray(t.keyCode, [
+                40,
+                38,
+                9,
+                13,
+                27,
+                57,
+              ])),
+                this.move(t);
+            },
+            keypress: function (e) {
+              this.suppressKeyPressRepeat || this.move(e);
+            },
+            keyup: function (e) {
+              switch (e.keyCode) {
+                case 40:
+                case 38:
+                case 16:
+                case 17:
+                case 18:
+                  break;
+                case 9:
+                case 13:
+                  if (!this.shown) return;
+                  this.select();
+                  break;
+                case 27:
+                  if (!this.shown) return;
+                  this.hide();
+                  break;
+                default:
+                  this.lookup();
+              }
+              13 === e.keyCode &&
+              void 0 === this.$menu.find(".active").attr("data-value")
+                ? this.$element.submit()
+                : (e.stopPropagation(), e.preventDefault());
+            },
+            focus: function (e) {
+              this.focused = !0;
+            },
+            blur: function (e) {
+              (this.focused = !1),
+                !this.mousedover && this.shown && this.hide();
+            },
+            click: function (e) {
+              e.stopPropagation(),
+                e.preventDefault(),
+                this.select(),
+                this.$element.focus();
+            },
+            mouseenter: function (t) {
+              (this.mousedover = !0),
+                this.$menu.find(".active").removeClass("active"),
+                e(t.currentTarget).addClass("active");
+            },
+            mouseleave: function (e) {
+              (this.mousedover = !1),
+                !this.focused && this.shown && this.hide();
+            },
+          };
+          var n = e.fn.typeahead;
+          (e.fn.typeahead = function (n) {
+            return this.each(function () {
+              var r = e(this),
+                a = r.data("typeahead"),
+                o = "object" == typeof n && n;
+              a || r.data("typeahead", (a = new t(this, o))),
+                "string" == typeof n && a[n]();
+            });
+          }),
+            (e.fn.typeahead.defaults = {
+              source: [],
+              items: 8,
+              menu: '<ul class="typeahead dropdown-menu"></ul>',
+              item: '<li><a href="#"></a></li>',
+              minLength: 1,
+            }),
+            (e.fn.typeahead.Constructor = t),
+            (e.fn.typeahead.noConflict = function () {
+              return (e.fn.typeahead = n), this;
+            }),
+            e(document).on(
+              "focus.typeahead.data-api",
+              '[data-provide="typeahead"]',
+              function (t) {
+                var n = e(this);
+                n.data("typeahead") || n.typeahead(n.data());
+              }
+            );
+        })(window.jQuery),
+        (function (e) {
+          "use strict";
+          var t = function (t, n) {
+            (this.options = e.extend({}, e.fn.affix.defaults, n)),
+              (this.$window = e(window)
+                .on("scroll.affix.data-api", e.proxy(this.checkPosition, this))
+                .on(
+                  "click.affix.data-api",
+                  e.proxy(function () {
+                    setTimeout(e.proxy(this.checkPosition, this), 1);
+                  }, this)
+                )),
+              (this.$element = e(t)),
+              this.checkPosition();
+          };
+          t.prototype.checkPosition = function () {
+            if (this.$element.is(":visible")) {
+              var t,
+                n = e(document).height(),
+                r = this.$window.scrollTop(),
+                a = this.$element.offset(),
+                o = this.options.offset,
+                i = o.bottom,
+                l = o.top;
+              "object" != typeof o && (i = l = o),
+                "function" == typeof l && (l = o.top()),
+                "function" == typeof i && (i = o.bottom()),
+                (t =
+                  !(null != this.unpin && r + this.unpin <= a.top) &&
+                  (null != i && a.top + this.$element.height() >= n - i
+                    ? "bottom"
+                    : null != l && r <= l && "top")),
+                this.affixed !== t &&
+                  ((this.affixed = t),
+                  (this.unpin = "bottom" == t ? a.top - r : null),
+                  this.$element
+                    .removeClass("affix affix-top affix-bottom")
+                    .addClass("affix" + (t ? "-" + t : "")));
+            }
+          };
+          var n = e.fn.affix;
+          (e.fn.affix = function (n) {
+            return this.each(function () {
+              var r = e(this),
+                a = r.data("affix"),
+                o = "object" == typeof n && n;
+              a || r.data("affix", (a = new t(this, o))),
+                "string" == typeof n && a[n]();
+            });
+          }),
+            (e.fn.affix.Constructor = t),
+            (e.fn.affix.defaults = { offset: 0 }),
+            (e.fn.affix.noConflict = function () {
+              return (e.fn.affix = n), this;
+            }),
+            e(window).on("load", function () {
+              e('[data-spy="affix"]').each(function () {
+                var t = e(this),
+                  n = t.data();
+                (n.offset = n.offset || {}),
+                  n.offsetBottom && (n.offset.bottom = n.offsetBottom),
+                  n.offsetTop && (n.offset.top = n.offsetTop),
+                  t.affix(n);
+              });
+            });
+        })(window.jQuery);
+    },
+    kYRH: function (e, t) {
+      !(function (e) {
+        "use strict";
+        e.plot.plugins.push({
+          init: function (t) {
+            t.hooks.drawSeries.push(function (t, n, r) {
+              var a, o, i, l, s, c, u;
+              function f(e, t) {
+                n.beginPath(),
+                  n.moveTo(r.xaxis.p2c(e) + c.left, r.yaxis.p2c(t) + c.top);
+              }
+              function d(e, t) {
+                console.assert(
+                  t > e,
+                  "expects the end index to be greater than the start index"
+                );
+                var n,
+                  r,
+                  a = 0 === e || null === i[e - 1] || null === s[e - 1],
+                  c = !1;
+                for (n = e; n < t; n++)
+                  if (null === i[n * o + 1] || null === s[n * o + 1])
+                    (c = !1), (a = !0);
+                  else if (i[n * o + 1] === s[n * l + 1]) (c = !0), (a = !1);
+                  else {
+                    if (i[n * o + 1] > s[n * l + 1])
+                      return (
+                        a
+                          ? f(i[n * o], i[n * o + 1])
+                          : c
+                          ? f(i[(n - 1) * o], i[(n - 1) * o + 1])
+                          : f((r = p(n))[0], r[1]),
+                        void m(n, t)
+                      );
+                    (a = !1), (c = !1);
+                  }
+              }
+              function p(e) {
+                var t, n, r, a, c, u, f, d, p, h, m, g, b, v, y, w;
+                for (
+                  console.assert(
+                    e > 0,
+                    "expects the second point in the series line segment"
+                  ),
+                    t = 1;
+                  t < s.length / l;
+                  t++
+                )
+                  if (
+                    ((r = i[(e - 1) * o]),
+                    (a = i[(e - 1) * o + 1]),
+                    (c = i[e * o]),
+                    (u = i[e * o + 1]),
+                    (f = s[(t - 1) * l]),
+                    (d = s[(t - 1) * l + 1]),
+                    (p = s[t * l]),
+                    (h = s[t * l + 1]),
+                    (m = void 0),
+                    (g = void 0),
+                    (b = void 0),
+                    (v = void 0),
+                    (y = void 0),
+                    (w = void 0),
+                    (w =
+                      ((b = p - f) * (a - d) - (v = h - d) * (r - f)) /
+                      (-b * (g = u - a) + (m = c - r) * v)),
+                    null !==
+                      (n =
+                        (y = (-g * (r - f) + m * (a - d)) / (-b * g + m * v)) >=
+                          0 &&
+                        y <= 1 &&
+                        w >= 0 &&
+                        w <= 1
+                          ? [r + w * m, a + w * g]
+                          : null))
+                  )
+                    return n;
+                console.error(
+                  "intersectionPoint() should only be called when an intersection happens"
+                );
+              }
+              function h(e, t) {
+                var r;
+                for (
+                  console.assert(
+                    e >= t,
+                    "the start should be the rightmost point, and the end should be the leftmost (excluding the equal or intersecting point)"
+                  ),
+                    r = e;
+                  r >= t;
+                  r--
+                )
+                  n.lineTo(
+                    a.xaxis.p2c(s[r * l]) + c.left,
+                    a.yaxis.p2c(s[r * l + 1]) + c.top
+                  );
+                n.closePath(), n.fill();
+              }
+              function m(e, t) {
+                var a, u;
+                for (
+                  console.assert(
+                    e <= t,
+                    "the start should be the rightmost point, and the end should be the leftmost (excluding the equal or intersecting point)"
+                  ),
+                    a = e;
+                  a < t;
+                  a++
+                ) {
+                  if (null === i[a * o + 1] && a > e)
+                    return h(a - 1, e), void d(a, t);
+                  if (i[a * o + 1] === s[a * l + 1])
+                    return h(a, e), void d(a, t);
+                  if (i[a * o + 1] < s[a * l + 1])
+                    return (
+                      (u = p(a)),
+                      n.lineTo(
+                        r.xaxis.p2c(u[0]) + c.left,
+                        r.yaxis.p2c(u[1]) + c.top
+                      ),
+                      h(a, e),
+                      void d(a, t)
+                    );
+                  n.lineTo(
+                    r.xaxis.p2c(i[a * o]) + c.left,
+                    r.yaxis.p2c(i[a * o + 1]) + c.top
+                  );
+                }
+                h(t, e);
+              }
+              null !== r.fillBelowTo &&
+                (a = (function (e, t) {
+                  var n;
+                  for (n = 0; n < t.length; ++n)
+                    if (t[n].id === e.fillBelowTo) return t[n];
+                  return null;
+                })(r, t.getData())) &&
+                ((o = r.datapoints.pointsize),
+                (i = r.datapoints.points),
+                (l = a.datapoints.pointsize),
+                (s = a.datapoints.points),
+                (c = t.getPlotOffset()),
+                (function () {
+                  if (i.length / o != s.length / l)
+                    return (
+                      console.error(
+                        "Refusing to graph inconsistent number of points"
+                      ),
+                      !1
+                    );
+                  var e;
+                  for (e = 0; e < i.length / o; e++)
+                    if (
+                      null !== i[e * o] &&
+                      null !== s[e * l] &&
+                      i[e * o] !== s[e * l]
+                    )
+                      return (
+                        console.error(
+                          "Refusing to graph points without matching value"
+                        ),
+                        !1
+                      );
+                  return !0;
+                })() &&
+                  (((u = e.color.parse(r.color)).a = 0.4),
+                  u.normalize(),
+                  (n.fillStyle = u.toString()),
+                  d(0, i.length / o)));
+            });
+          },
+          options: { series: { fillBelowTo: null } },
+          name: "fillbelow",
+          version: "0.1.0",
+        });
+      })(jQuery);
+    },
+    krwA: function (e, t) {
+      var n = "public/app/features/playlist/partials/playlist.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body" ng-form=ctrl.playlistEditForm>\n\n\t<h3 class=page-sub-heading ng-hide=ctrl.isNew>Edit Playlist</h3>\n\t<h3 class=page-sub-heading ng-show=ctrl.isNew>New Playlist</h3>\n\n\t<p class=playlist-description>A playlist rotates through a pre-selected list of Dashboards. A Playlist can be a great way to build situational awareness, or just show off your metrics to your team or visitors.</p>\n\n\t<div class=gf-form-group>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-7">Name</span>\n\t\t\t<input type=text required ng-model=ctrl.playlist.name class="gf-form-input max-width-21">\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<span class="gf-form-label width-7">Interval</span>\n\t\t\t<input type=text required ng-model=ctrl.playlist.interval placeholder=5m class="gf-form-input max-width-21">\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-group>\n\t\t<h3 class=page-headering>Dashboards</h3>\n\n\t\t<table class="filter-table playlist-available-list">\n\t\t\t<tr ng-repeat="playlistItem in ctrl.playlistItems">\n\t\t\t\t<td ng-if="playlistItem.type === \'dashboard_by_id\'">\n\t\t\t\t\t<i class="gicon gicon-dashboard"></i>&nbsp;&nbsp;{{playlistItem.title}}\n\t\t\t\t</td>\n\t\t\t\t<td ng-if="playlistItem.type === \'dashboard_by_tag\'">\n\t\t\t\t\t<a class="search-result-tag label label-tag" tag-color-from-name=playlistItem.title>\n\t\t\t\t\t\t<i class="fa fa-tag"></i>\n\t\t\t\t\t\t<span>{{playlistItem.title}}</span>\n\t\t\t\t\t</a>\n\t\t\t\t</td>\n\n\t\t\t\t<td class=selected-playlistitem-settings>\n\t\t\t\t\t<button class="btn btn-inverse btn-small" ng-hide=$first ng-click=ctrl.movePlaylistItemUp(playlistItem)>\n\t\t\t\t\t\t<i class="fa fa-arrow-up"></i>\n\t\t\t\t\t</button>\n\t\t\t\t\t<button class="btn btn-inverse btn-small" ng-hide=$last ng-click=ctrl.movePlaylistItemDown(playlistItem)>\n\t\t\t\t\t\t<i class="fa fa-arrow-down"></i>\n\t\t\t\t\t</button>\n\t\t\t\t\t<button class="btn btn-inverse btn-small" ng-click=ctrl.removePlaylistItem(playlistItem)>\n\t\t\t\t\t\t<i class="fa fa-remove"></i>\n\t\t\t\t\t</button>\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t\t<tr ng-if="ctrl.playlistItems.length === 0">\n\t\t\t\t<td><em>Playlist is empty, add dashboards below.</em></td>\n\t\t\t</tr>\n\t\t</table>\n\t</div>\n\n\t<div class=gf-form-group>\n\t\t<h3 class=page-headering>Add dashboards</h3>\n\t\t<playlist-search class=playlist-search-container search-started=ctrl.searchStarted(promise)></playlist-search>\n\n\t\t<div ng-if="ctrl.filteredDashboards.length > 0">\n\t\t\t<table class="filter-table playlist-available-list">\n\t\t\t\t<tr ng-repeat="playlistItem in ctrl.filteredDashboards">\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<i class="gicon gicon-dashboard"></i>\n\t\t\t\t\t\t&nbsp;&nbsp;{{playlistItem.title}}\n\t\t\t\t\t\t<i class="fa fa-star" ng-show=playlistItem.isStarred></i>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td class=add-dashboard>\n\t\t\t\t\t\t<button class="btn btn-inverse btn-small pull-right" ng-click=ctrl.addPlaylistItem(playlistItem)>\n\t\t\t\t\t\t\t<i class="fa fa-plus"></i>\n\t\t\t\t\t\t\tAdd to playlist\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</table>\n\t\t</div>\n\t\t<div class=playlist-search-results-container ng-if="ctrl.filteredTags.length > 0;">\n\t\t\t<table class="filter-table playlist-available-list">\n\t\t\t\t<tr ng-repeat="tag in ctrl.filteredTags">\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<a class="search-result-tag label label-tag" tag-color-from-name=tag.term>\n\t\t\t\t\t\t\t<i class="fa fa-tag"></i>\n\t\t\t\t\t\t\t<span>{{tag.term}} &nbsp;({{tag.count}})</span>\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td class=add-dashboard>\n\t\t\t\t\t\t<button class="btn btn-inverse btn-small pull-right" ng-click=ctrl.addTagPlaylistItem(tag)>\n\t\t\t\t\t\t\t<i class="fa fa-plus"></i>\n\t\t\t\t\t\t\tAdd to playlist\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</table>\n\t\t</div>\n\t</div>\n\n\t<div class=clearfix></div>\n\n\t<div class=gf-form-button-row>\n\t\t<a class="btn btn-primary" ng-show=ctrl.isNew ng-disabled="ctrl.playlistEditForm.$invalid || ctrl.isPlaylistEmpty()" ng-click="ctrl.savePlaylist(ctrl.playlist, ctrl.playlistItems)">Create</a>\n\t\t<a class="btn btn-primary" ng-show=!ctrl.isNew ng-disabled="ctrl.playlistEditForm.$invalid || ctrl.isPlaylistEmpty()" ng-click="ctrl.savePlaylist(ctrl.playlist, ctrl.playlistItems)">Save</a>\n\t\t<a class=btn-text ng-click=ctrl.backToList()>Cancel</a>\n\t</div>\n</div>\n\n<footer/>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    lJbD: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return c;
+      }),
+        n.d(t, "b", function () {
+          return u;
+        });
+      var r = n("txxJ"),
+        a = n("ZFWI"),
+        o = n("LvDl"),
+        i = n.n(o);
+      function l(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var s = (function () {
+        function e() {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.navItems = a.b.bootData.navTree);
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "getCfgNode",
+              value: function () {
+                return i.a.find(this.navItems, { id: "cfg" });
+              },
+            },
+            {
+              key: "getNav",
+              value: function () {
+                for (
+                  var e = this.navItems,
+                    t = { breadcrumbs: [] },
+                    n = arguments.length,
+                    r = new Array(n),
+                    a = 0;
+                  a < n;
+                  a++
+                )
+                  r[a] = arguments[a];
+                for (var o = 0, l = r; o < l.length; o++) {
+                  var s = l[o];
+                  if (i.a.isNumber(s)) {
+                    t.main = t.breadcrumbs[s];
+                    break;
+                  }
+                  var c = i.a.find(e, { id: s });
+                  t.breadcrumbs.push(c),
+                    (t.node = c),
+                    (t.main = c),
+                    (e = c.children);
+                }
+                if (t.main.children) {
+                  var u = !0,
+                    f = !1,
+                    d = void 0;
+                  try {
+                    for (
+                      var p, h = t.main.children[Symbol.iterator]();
+                      !(u = (p = h.next()).done);
+                      u = !0
+                    ) {
+                      var m = p.value;
+                      (m.active = !1), m.url === t.node.url && (m.active = !0);
+                    }
+                  } catch (e) {
+                    (f = !0), (d = e);
+                  } finally {
+                    try {
+                      u || null == h.return || h.return();
+                    } finally {
+                      if (f) throw d;
+                    }
+                  }
+                }
+                return t;
+              },
+            },
+            {
+              key: "getNotFoundNav",
+              value: function () {
+                return c();
+              },
+            },
+          ]) && l(t.prototype, n),
+          r && l(t, r),
+          e
+        );
+      })();
+      function c() {
+        return u("Page not found", "404 Error");
+      }
+      function u(e, t) {
+        var n = { text: e, subTitle: t, icon: "fa fa-fw fa-warning" };
+        return { breadcrumbs: [n], node: n, main: n };
+      }
+      r.c.service("navModelSrv", s);
+    },
+    lcef: function (e, t, n) {
+      "use strict";
+      var r = n("MHX4"),
+        a = n("MIBK"),
+        o = n("drYJ"),
+        i = n("q1tI"),
+        l = n.n(i),
+        s = n("kDDq");
+      function c() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })([
+          "\n      font-size: ",
+          ";\n      font-weight: ",
+          ";\n      margin: ",
+          ";\n      color: ",
+          ";\n    ",
+        ]);
+        return (
+          (c = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      var u = Object(a.g)(function (e) {
+          return {
+            legend: Object(s.css)(
+              c(),
+              e.typography.heading.h3,
+              e.typography.weight.regular,
+              e.spacing.formLegendMargin,
+              e.colors.formLegend
+            ),
+          };
+        }),
+        f = n("VEkI"),
+        d = n("oEIk"),
+        p = n("6iRR"),
+        h = n("mNz5"),
+        m = n.n(h),
+        g = n("4Qg+");
+      function b() {
+        return (b =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function v(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function y() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })([
+          "\n      width: 32px;\n      height: 16px;\n      position: relative;\n\n      input {\n        opacity: 0;\n        left: -100vw;\n        z-index: -1000;\n        position: absolute;\n\n        &:disabled + label {\n          background: ",
+          ";\n          cursor: not-allowed;\n        }\n\n        &:checked + label {\n          background: ",
+          ";\n\n          &:hover {\n            background: ",
+          ";\n          }\n\n          &::after {\n            transform: translate3d(18px, -50%, 0);\n          }\n        }\n\n        &:focus + label {\n          ",
+          ";\n        }\n      }\n\n      label {\n        width: 100%;\n        height: 100%;\n        cursor: pointer;\n        border: none;\n        border-radius: 50px;\n        background: ",
+          ";\n        transition: all 0.3s ease;\n\n        &:hover {\n          background: ",
+          ";\n        }\n\n        &::after {\n          position: absolute;\n          display: block;\n          content: '';\n          width: 12px;\n          height: 12px;\n          border-radius: 6px;\n          background: ",
+          ";\n          top: 50%;\n          transform: translate3d(2px, -50%, 0);\n          transition: transform 0.2s cubic-bezier(0.19, 1, 0.22, 1);\n        }\n      }\n    }\n    ",
+        ]);
+        return (
+          (y = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      var w = Object(a.g)(function (e) {
+          return {
+            switch: Object(s.css)(
+              y(),
+              e.colors.formSwitchBgDisabled,
+              e.colors.formSwitchBgActive,
+              e.colors.formSwitchBgActiveHover,
+              Object(g.a)(e),
+              e.colors.formSwitchBg,
+              e.colors.formSwitchBgHover,
+              e.colors.formSwitchDot
+            ),
+          };
+        }),
+        O = l.a.forwardRef(function (e, t) {
+          var n = e.value,
+            r = (e.checked, e.disabled),
+            o = void 0 !== r && r,
+            i = e.onChange,
+            c = v(e, ["value", "checked", "disabled", "onChange"]),
+            u = Object(a.h)(),
+            f = w(u),
+            d = m()("switch-");
+          return l.a.createElement(
+            "div",
+            { className: Object(s.cx)(f.switch) },
+            l.a.createElement(
+              "input",
+              b(
+                {
+                  type: "checkbox",
+                  disabled: o,
+                  checked: n,
+                  onChange: function (e) {
+                    null == i || i(e);
+                  },
+                  id: d,
+                },
+                c,
+                { ref: t }
+              )
+            ),
+            l.a.createElement("label", { htmlFor: d })
+          );
+        });
+      function x() {
+        return (x =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function k(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function j() {
+        var e = T([
+          "\n      display: inline-block;\n      width: ",
+          ";\n      height: ",
+          ";\n      border-radius: ",
+          ";\n      margin-right: ",
+          "px;\n      background: ",
+          ";\n      border: 1px solid ",
+          ";\n      position: absolute;\n      top: 1px;\n      left: 0;\n      &:hover {\n        cursor: pointer;\n        border-color: ",
+          ";\n      }\n    ",
+        ]);
+        return (
+          (j = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function S() {
+        var e = T([
+          "\n      position: absolute;\n      top: 0;\n      left: 0;\n      width: 100%;\n      height: 100%;\n      opacity: 0;\n      &:focus + span {\n        ",
+          "\n      }\n\n      /**\n       * Using adjacent sibling selector to style checked state.\n       * Primarily to limit the classes necessary to use when these classes will be used\n       * for angular components styling\n       * */\n      &:checked + span {\n        background: blue;\n        background: ",
+          ";\n        border: none;\n        &:hover {\n          background: ",
+          ";\n        }\n        &:after {\n          content: '';\n          position: absolute;\n          left: 5px;\n          top: 1px;\n          width: 6px;\n          height: 12px;\n          border: solid ",
+          ";\n          border-width: 0 3px 3px 0;\n          transform: rotate(45deg);\n        }\n      }\n    ",
+        ]);
+        return (
+          (S = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function E() {
+        var e = T([
+          "\n      position: relative;\n      padding-left: ",
+          ";\n      vertical-align: middle;\n    ",
+        ]);
+        return (
+          (E = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function C() {
+        var e = T(["\n        padding-left: ", "px;\n      "]);
+        return (
+          (C = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function P() {
+        var e = T(["\n        padding-left: ", "px;\n      "]);
+        return (
+          (P = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function T(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var D = Object(a.g)(function (e) {
+          var t = Object(o.b)(e);
+          return {
+            label: Object(s.cx)(
+              t.label,
+              Object(s.css)(P(), e.spacing.formSpacingBase)
+            ),
+            description: Object(s.cx)(
+              t.description,
+              Object(s.css)(C(), e.spacing.formSpacingBase)
+            ),
+            wrapper: Object(s.css)(E(), "16px"),
+            input: Object(s.css)(
+              S(),
+              Object(g.a)(e),
+              e.colors.formCheckboxBgChecked,
+              e.colors.formCheckboxBgCheckedHover,
+              e.colors.formCheckboxCheckmark
+            ),
+            checkmark: Object(s.css)(
+              j(),
+              "16px",
+              "16px",
+              e.border.radius.sm,
+              e.spacing.formSpacingBase,
+              e.colors.formCheckboxBg,
+              e.colors.formInputBorder,
+              e.colors.formInputBorderHover
+            ),
+          };
+        }),
+        A = l.a.forwardRef(function (e, t) {
+          var n = e.label,
+            r = e.description,
+            o = e.value,
+            s = e.onChange,
+            c = e.disabled,
+            u = k(e, ["label", "description", "value", "onChange", "disabled"]),
+            f = Object(a.h)(),
+            d = Object(i.useCallback)(
+              function (e) {
+                s && s(e);
+              },
+              [s]
+            ),
+            p = D(f);
+          return l.a.createElement(
+            "label",
+            { className: p.wrapper },
+            l.a.createElement(
+              "input",
+              x(
+                {
+                  type: "checkbox",
+                  className: p.input,
+                  checked: o,
+                  disabled: c,
+                  onChange: d,
+                },
+                u,
+                { ref: t }
+              )
+            ),
+            l.a.createElement("span", { className: p.checkmark }),
+            n && l.a.createElement("span", { className: p.label }, n),
+            r &&
+              l.a.createElement(
+                l.a.Fragment,
+                null,
+                l.a.createElement("br", null),
+                l.a.createElement("span", { className: p.description }, r)
+              )
+          );
+        });
+      A.displayName = "Checkbox";
+      var _ = Object(a.g)(function (e, t) {
+          return {
+            label: Object(o.b)(e),
+            legend: u(e),
+            fieldValidationMessage: Object(f.b)(e),
+            button: Object(d.d)({ theme: e, variant: t.variant, size: t.size }),
+            input: Object(p.b)({ theme: e, invalid: t.invalid }),
+            switch: w(e),
+            checkbox: D(e),
+          };
+        }),
+        N = n("FgzG"),
+        M = n("Vt59");
+      function I() {
+        return (I =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function R() {
+        var e = V([
+          "\n        padding-left: ",
+          ";\n        margin-left: ",
+          ";\n        margin-right: -",
+          ";\n        height: 100%;\n      ",
+        ]);
+        return (
+          (R = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function F() {
+        var e = V(["\n        padding: 0 15px 0 0;\n      "]);
+        return (
+          (F = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function L() {
+        var e = V([
+          "\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n        max-width: 200px;\n        text-overflow: ellipsis;\n      ",
+        ]);
+        return (
+          (L = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function V(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      function B(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      var $ = l.a.forwardRef(function (e, t) {
+        var n = e.icon,
+          r = e.children,
+          o = e.isOpen,
+          i = B(e, ["icon", "children", "isOpen"]),
+          c = Object(a.g)(function (e) {
+            return {
+              wrapper: Object(s.css)(L()),
+              iconWrap: Object(s.css)(F()),
+              caretWrap: Object(s.css)(
+                R(),
+                e.spacing.sm,
+                e.spacing.sm,
+                e.spacing.sm
+              ),
+            };
+          })(Object(a.h)()),
+          u = "fa fa-".concat(n),
+          f = o ? "caret-up" : "caret-down";
+        return l.a.createElement(
+          d.a,
+          I({}, i, { ref: t, icon: u }),
+          l.a.createElement(
+            "span",
+            { className: c.wrapper },
+            l.a.createElement("span", null, r),
+            l.a.createElement(
+              "span",
+              { className: c.caretWrap },
+              l.a.createElement(M.a, { name: f })
+            )
+          )
+        );
+      });
+      var q = n("NnAq"),
+        U = n("ZYew");
+      function z(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function H(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var G = n("DR0N");
+      function W() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })([
+          "\n        border-radius: ",
+          ";\n        padding: ",
+          "px ",
+          "px;\n        width: 100%;\n        border-color: ",
+          ";\n      ",
+        ]);
+        return (
+          (W = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function Q() {
+        return (Q =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function Y(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      var K = l.a.forwardRef(function (e, t) {
+          var n = e.invalid,
+            r = e.size,
+            o = void 0 === r ? "auto" : r,
+            i = Y(e, ["invalid", "size"]),
+            s = Object(a.h)(),
+            c = J(s, n);
+          return l.a.createElement(
+            "div",
+            { className: Object(g.d)()[o] },
+            l.a.createElement(
+              "textarea",
+              Q({ className: c.textarea }, i, { ref: t })
+            )
+          );
+        }),
+        J = Object(a.g)(function (e) {
+          var t =
+            arguments.length > 1 && void 0 !== arguments[1] && arguments[1];
+          return {
+            textarea: Object(s.cx)(
+              Object(g.f)(e),
+              Object(g.b)(e),
+              Object(s.css)(
+                W(),
+                e.border.radius.sm,
+                e.spacing.formSpacingBase / 4,
+                e.spacing.formSpacingBase,
+                t ? e.colors.redBase : e.colors.formInputBorder
+              )
+            ),
+          };
+        });
+      n.d(t, "a", function () {
+        return d.ButtonVariant;
+      });
+      var Z = {
+        RadioButtonGroup: q.a,
+        Switch: O,
+        getFormStyles: _,
+        Label: o.a,
+        Input: p.a,
+        Form: function (e) {
+          var t = e.defaultValues,
+            n = e.onSubmit,
+            a = e.children,
+            o = e.validateOn,
+            s = void 0 === o ? "onSubmit" : o,
+            c = Object(r.b)({ mode: s, defaultValues: t }),
+            u = c.handleSubmit,
+            f = c.register,
+            d = c.errors,
+            p = c.control,
+            h = c.reset,
+            m = c.getValues;
+          return (
+            Object(i.useEffect)(
+              function () {
+                h(
+                  (function (e) {
+                    for (var t = 1; t < arguments.length; t++) {
+                      var n = null != arguments[t] ? arguments[t] : {};
+                      t % 2
+                        ? z(Object(n), !0).forEach(function (t) {
+                            H(e, t, n[t]);
+                          })
+                        : Object.getOwnPropertyDescriptors
+                        ? Object.defineProperties(
+                            e,
+                            Object.getOwnPropertyDescriptors(n)
+                          )
+                        : z(Object(n)).forEach(function (t) {
+                            Object.defineProperty(
+                              e,
+                              t,
+                              Object.getOwnPropertyDescriptor(n, t)
+                            );
+                          });
+                    }
+                    return e;
+                  })({}, m(), {}, t)
+                );
+              },
+              [t]
+            ),
+            l.a.createElement(
+              "form",
+              { onSubmit: u(n) },
+              a({ register: f, errors: d, control: p })
+            )
+          );
+        },
+        Field: G.a,
+        Button: d.a,
+        LinkButton: d.c,
+        Select: U.b,
+        ButtonSelect: function (e) {
+          var t = e.placeholder,
+            n = e.icon,
+            r = e.variant,
+            a = void 0 === r ? "primary" : r,
+            o = e.size,
+            i = void 0 === o ? "md" : o,
+            s = e.className,
+            c = e.disabled,
+            u = B(e, [
+              "placeholder",
+              "icon",
+              "variant",
+              "size",
+              "className",
+              "disabled",
+            ]),
+            f = { icon: n, variant: a, size: i, className: s, disabled: c };
+          return l.a.createElement(
+            N.a,
+            I({}, u, {
+              renderControl: l.a.forwardRef(function (e, n) {
+                var r = e.onBlur,
+                  a = e.onClick,
+                  o = e.value,
+                  i = e.isOpen;
+                return l.a.createElement(
+                  $,
+                  I({}, f, { ref: n, onBlur: r, onClick: a, isOpen: i }),
+                  o ? o.label : t
+                );
+              }),
+            })
+          );
+        },
+        InputControl: r.a,
+        AsyncSelect: U.a,
+        TextArea: K,
+        Checkbox: A,
+      };
+      t.b = Z;
+    },
+    lhB2: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return a;
+      });
+      var r = {},
+        a = function (e, t, n) {
+          var a = "[Deprecation warning] "
+            .concat(e, ": ")
+            .concat(t, " is deprecated");
+          n && (a += ".  Use ".concat(n, " instead"));
+          var o = Date.now(),
+            i = r[a];
+          (!i || o - i > 1e4) && (console.warn(a), (r[a] = o));
+        };
+    },
+    lonE: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return g;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDDq"),
+        i = n("MIBK");
+      function l(e) {
+        return (l =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function s(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function c(e, t) {
+        return !t || ("object" !== l(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function u(e) {
+        return (u = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function f(e, t) {
+        return (f =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      function d() {
+        var e = h(["\n    display: ", ";\n  "]);
+        return (
+          (d = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function p() {
+        var e = h([
+          "\n    list-style-type: none;\n    margin: 0;\n    padding: 0;\n  ",
+        ]);
+        return (
+          (p = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function h(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var m = Object(i.g)(function () {
+          var e =
+            arguments.length > 0 && void 0 !== arguments[0] && arguments[0];
+          return {
+            list: Object(o.css)(p()),
+            item: Object(o.css)(d(), e ? "inline-block" : "block"),
+          };
+        }),
+        g = (function (e) {
+          function t(e) {
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              c(this, u(t).call(this, e))
+            );
+          }
+          var n, r, i;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && f(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.items,
+                    n = e.renderItem,
+                    r = e.getItemKey,
+                    i = e.className,
+                    l = e.inline,
+                    s = m(l);
+                  return a.a.createElement(
+                    "ul",
+                    { className: Object(o.cx)(s.list, i) },
+                    t.map(function (e, t) {
+                      return a.a.createElement(
+                        "li",
+                        { className: s.item, key: r ? r(e) : t },
+                        n(e, t)
+                      );
+                    })
+                  );
+                },
+              },
+            ]) && s(n.prototype, r),
+            i && s(n, i),
+            t
+          );
+        })(a.a.PureComponent);
+    },
+    "lpb/": function (e, t) {
+      var n = "public/app/features/admin/partials/users.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body">\n\t<div class=page-action-bar>\n    <label class="gf-form gf-form--grow gf-form--has-input-icon">\n      <input type=text class="gf-form-input max-width-30" placeholder="Find user by name/login/email" tabindex=1 give-focus=true ng-model=ctrl.query ng-model-options="{ debounce: 500 }" spellcheck=false ng-change=ctrl.getUsers() />\n      <i class="gf-form-input-icon fa fa-search"></i>\n    </label>\n    <div class=page-action-bar__spacer></div>\n    <a class="btn btn-primary" href=admin/users/create>\n      New user\n    </a>\n  </div>\n\n  <div class=admin-list-table>\n    <table class="filter-table form-inline filter-table--hover">\n      <thead>\n        <tr>\n          <th></th>\n          <th>Login</th>\n          <th>Email</th>\n          <th>\n            Seen\n            <tip>Time since user was seen using Grafana</tip>\n          </th>\n          <th></th>\n          <th style=width:1%></th>\n        </tr>\n      </thead>\n      <tbody>\n        <tr ng-repeat="user in ctrl.users">\n          <td class="width-4 text-center link-td">\n            <a href=admin/users/edit/{{user.id}}>\n              <img class=filter-table__avatar ng-src={{user.avatarUrl}}>\n            </a>\n          </td>\n          <td class=link-td>\n            <a href=admin/users/edit/{{user.id}}>\n              {{user.login}}\n            </a>\n          </td>\n          <td class=link-td>\n            <a href=admin/users/edit/{{user.id}}>\n              {{user.email}}\n            </a>\n          </td>\n          <td class=link-td>\n            <a href=admin/users/edit/{{user.id}}>\n              {{user.lastSeenAtAge}}\n            </a>\n          </td>\n          <td class=link-td>\n            <a href=admin/users/edit/{{user.id}}>\n              <i class="fa fa-shield" ng-show=user.isAdmin bs-tooltip="\'Grafana Admin\'"></i>\n            </a>\n          </td>\n          <td class=text-right>\n            <span class="label label-tag" ng-style=user.authLabelStyle ng-if=user.authLabel>\n              {{user.authLabel}}\n            </span>\n          </td>\n          <td class=text-right>\n            <span class="label label-tag label-tag--gray" ng-if=user.isDisabled>Disabled</span>\n          </td>\n        </tr>\n      </tbody>\n\n    </table>\n  </div>\n\n  <div class=admin-list-paging ng-if=ctrl.showPaging>\n    <ol>\n      <li ng-repeat="page in ctrl.pages">\n        <button class="btn btn-small" ng-class="{\'btn-secondary\': page.current, \'btn-inverse\': !page.current}" ng-click=ctrl.navigateToPage(page)>{{page.page}}</button>\n      </li>\n    </ol>\n  </div>\n</div>\n\n<footer/>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    lzJ5: function (e, t, n) {
+      "use strict";
+      function r(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function a(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? r(Object(n), !0).forEach(function (t) {
+                o(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : r(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function o(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function i(e, t, n) {
+        if (e[t]) {
+          var r = e[t],
+            o = a({}, r.parentItem);
+          return (
+            (o.children = o.children.map(function (e) {
+              return a({}, e, { active: e.url === r.url });
+            })),
+            { node: r, main: o }
+          );
+        }
+        return (
+          n ||
+          (function () {
+            var e = {
+              id: "not-found",
+              text: "Page not found",
+              icon: "fa fa-fw fa-warning",
+              subTitle: "404 Error",
+              url: "not-found",
+            };
+            return { node: e, main: e };
+          })()
+        );
+      }
+      n.d(t, "a", function () {
+        return i;
+      }),
+        n.d(t, "b", function () {
+          return l;
+        });
+      var l = function (e) {
+        return ""
+          .concat(e.main.text)
+          .concat(e.node.text ? ": " + e.node.text : "");
+      };
+    },
+    "m+sf": function (e, t, n) {
+      "use strict";
+      n.d(t, "c", function () {
+        return f;
+      }),
+        n.d(t, "b", function () {
+          return d;
+        }),
+        n.d(t, "f", function () {
+          return h;
+        }),
+        n.d(t, "a", function () {
+          return m;
+        }),
+        n.d(t, "e", function () {
+          return g;
+        }),
+        n.d(t, "d", function () {
+          return b;
+        }),
+        n.d(t, "g", function () {
+          return v;
+        });
+      var r,
+        a = n("TYy9"),
+        o = n.n(a),
+        i = n("Zss7"),
+        l = n.n(i),
+        s = n("UcAx");
+      function c(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      var u = function (e, t, n, r) {
+          var a = c(n, 2);
+          return {
+            hue: e,
+            name: t,
+            variants: { light: a[0], dark: a[1] },
+            isPrimary: !!r,
+          };
+        },
+        f = function (e) {
+          return o()(Array.from(v().values())).filter(function (t) {
+            return t.name === e;
+          })[0];
+        },
+        d = function (e, t) {
+          return o()(Array.from(v().values())).filter(function (n) {
+            return n.variants[t] === e;
+          })[0];
+        },
+        p = function (e) {
+          return /^((0x){0,1}|#{0,1})([0-9A-F]{8}|[0-9A-F]{6}|[0-9A-F]{3})$/gi.test(
+            e
+          );
+        },
+        h = function (e, t) {
+          if (e && !(e.indexOf("rgb") > -1)) {
+            if (p(e)) {
+              var n = d(e, t || s.a.Dark);
+              return n ? n.name : void 0;
+            }
+            return e;
+          }
+        },
+        m = function (e) {
+          var t = o()(Array.from(v().values())).filter(function (t) {
+            return t.name === e;
+          });
+          return t.length > 0 ? t[0] : void 0;
+        },
+        g = function (e, t) {
+          if (e.indexOf("rgb") > -1 || p(e)) return e;
+          var n = m(e);
+          return n
+            ? t
+              ? n.variants[t]
+              : n.variants.dark
+            : new l.a(e).toHexString();
+        },
+        b = function (e, t) {
+          return t ? e.variants[t] : e.variants.dark;
+        },
+        v = function () {
+          return (
+            r ||
+            ((e = new Map()),
+            (t = [
+              u("green", "green", ["#56A64B", "#73BF69"], !0),
+              u("green", "dark-green", ["#19730E", "#37872D"]),
+              u("green", "semi-dark-green", ["#37872D", "#56A64B"]),
+              u("green", "light-green", ["#73BF69", "#96D98D"]),
+              u("green", "super-light-green", ["#96D98D", "#C8F2C2"]),
+            ]),
+            (n = [
+              u("yellow", "yellow", ["#F2CC0C", "#FADE2A"], !0),
+              u("yellow", "dark-yellow", ["#CC9D00", "#E0B400"]),
+              u("yellow", "semi-dark-yellow", ["#E0B400", "#F2CC0C"]),
+              u("yellow", "light-yellow", ["#FADE2A", "#FFEE52"]),
+              u("yellow", "super-light-yellow", ["#FFEE52", "#FFF899"]),
+            ]),
+            (a = [
+              u("red", "red", ["#E02F44", "#F2495C"], !0),
+              u("red", "dark-red", ["#AD0317", "#C4162A"]),
+              u("red", "semi-dark-red", ["#C4162A", "#E02F44"]),
+              u("red", "light-red", ["#F2495C", "#FF7383"]),
+              u("red", "super-light-red", ["#FF7383", "#FFA6B0"]),
+            ]),
+            (o = [
+              u("blue", "blue", ["#3274D9", "#5794F2"], !0),
+              u("blue", "dark-blue", ["#1250B0", "#1F60C4"]),
+              u("blue", "semi-dark-blue", ["#1F60C4", "#3274D9"]),
+              u("blue", "light-blue", ["#5794F2", "#8AB8FF"]),
+              u("blue", "super-light-blue", ["#8AB8FF", "#C0D8FF"]),
+            ]),
+            (i = [
+              u("orange", "orange", ["#FF780A", "#FF9830"], !0),
+              u("orange", "dark-orange", ["#E55400", "#FA6400"]),
+              u("orange", "semi-dark-orange", ["#FA6400", "#FF780A"]),
+              u("orange", "light-orange", ["#FF9830", "#FFB357"]),
+              u("orange", "super-light-orange", ["#FFB357", "#FFCB7D"]),
+            ]),
+            (l = [
+              u("purple", "purple", ["#A352CC", "#B877D9"], !0),
+              u("purple", "dark-purple", ["#7C2EA3", "#8F3BB8"]),
+              u("purple", "semi-dark-purple", ["#8F3BB8", "#A352CC"]),
+              u("purple", "light-purple", ["#B877D9", "#CA95E5"]),
+              u("purple", "super-light-purple", ["#CA95E5", "#DEB6F2"]),
+            ]),
+            e.set("green", t),
+            e.set("yellow", n),
+            e.set("red", a),
+            e.set("blue", o),
+            e.set("orange", i),
+            e.set("purple", l),
+            (r = e))
+          );
+          var e, t, n, a, o, i, l;
+        };
+    },
+    m257: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return w;
+      }),
+        n.d(t, "b", function () {
+          return O;
+        }),
+        n.d(t, "q", function () {
+          return x;
+        }),
+        n.d(t, "k", function () {
+          return k;
+        }),
+        n.d(t, "d", function () {
+          return S;
+        }),
+        n.d(t, "e", function () {
+          return P;
+        }),
+        n.d(t, "t", function () {
+          return D;
+        }),
+        n.d(t, "r", function () {
+          return A;
+        }),
+        n.d(t, "u", function () {
+          return _;
+        }),
+        n.d(t, "i", function () {
+          return M;
+        }),
+        n.d(t, "j", function () {
+          return I;
+        }),
+        n.d(t, "h", function () {
+          return R;
+        }),
+        n.d(t, "p", function () {
+          return L;
+        }),
+        n.d(t, "y", function () {
+          return V;
+        }),
+        n.d(t, "m", function () {
+          return $;
+        }),
+        n.d(t, "n", function () {
+          return q;
+        }),
+        n.d(t, "o", function () {
+          return z;
+        }),
+        n.d(t, "v", function () {
+          return H;
+        }),
+        n.d(t, "c", function () {
+          return B;
+        }),
+        n.d(t, "s", function () {
+          return W;
+        }),
+        n.d(t, "w", function () {
+          return Q;
+        }),
+        n.d(t, "f", function () {
+          return Y;
+        }),
+        n.d(t, "x", function () {
+          return K;
+        }),
+        n.d(t, "g", function () {
+          return J;
+        }),
+        n.d(t, "l", function () {
+          return Z;
+        });
+      var r = n("LvDl"),
+        a = n.n(r),
+        o = n("Obii"),
+        i = n("0Mjz"),
+        l = n("SMGL"),
+        s = n("PbtU"),
+        c = n("bMS5"),
+        u = n("kDLi"),
+        f = n("ZFWI");
+      function d(e) {
+        return (d =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function p(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function h(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function m(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function g(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? m(Object(n), !0).forEach(function (t) {
+                b(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : m(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function b(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function v(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function y(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              v(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              v(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      var w = { from: "now-1h", to: "now" },
+        O = {
+          showingTable: !0,
+          showingGraph: !0,
+          showingLogs: !0,
+          dedupStrategy: o.LogsDedupStrategy.none,
+        },
+        x = function (e) {
+          return "".concat("grafana.explore.datasource", ".").concat(e);
+        };
+      function k(e) {
+        return j.apply(this, arguments);
+      }
+      function j() {
+        return (j = y(
+          regeneratorRuntime.mark(function e(t) {
+            var n, r, a, o, l, s, c, u, f, d, p, h, m, b, v, y, w, O;
+            return regeneratorRuntime.wrap(
+              function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      if (
+                        ((n = t.panel),
+                        (r = t.panelTargets),
+                        (a = t.panelDatasource),
+                        (o = t.datasourceSrv),
+                        (l = t.timeSrv),
+                        (s = a),
+                        (c = r),
+                        "mixed" !== a.meta.id || !c)
+                      ) {
+                        e.next = 32;
+                        break;
+                      }
+                      (f = !0),
+                        (d = !1),
+                        (p = void 0),
+                        (e.prev = 7),
+                        (h = regeneratorRuntime.mark(function e() {
+                          var t, n;
+                          return regeneratorRuntime.wrap(function (e) {
+                            for (;;)
+                              switch ((e.prev = e.next)) {
+                                case 0:
+                                  return (
+                                    (t = b.value),
+                                    (e.next = 3),
+                                    o.get(t.datasource)
+                                  );
+                                case 3:
+                                  if (!(n = e.sent)) {
+                                    e.next = 8;
+                                    break;
+                                  }
+                                  return (
+                                    (s = n),
+                                    (c = r.filter(function (e) {
+                                      return e.datasource === n.name;
+                                    })),
+                                    e.abrupt("return", "break")
+                                  );
+                                case 8:
+                                case "end":
+                                  return e.stop();
+                              }
+                          }, e);
+                        })),
+                        (m = c[Symbol.iterator]());
+                    case 10:
+                      if ((f = (b = m.next()).done)) {
+                        e.next = 18;
+                        break;
+                      }
+                      return e.delegateYield(h(), "t0", 12);
+                    case 12:
+                      if ("break" !== e.t0) {
+                        e.next = 15;
+                        break;
+                      }
+                      return e.abrupt("break", 18);
+                    case 15:
+                      (f = !0), (e.next = 10);
+                      break;
+                    case 18:
+                      e.next = 24;
+                      break;
+                    case 20:
+                      (e.prev = 20), (e.t1 = e.catch(7)), (d = !0), (p = e.t1);
+                    case 24:
+                      (e.prev = 24),
+                        (e.prev = 25),
+                        f || null == m.return || m.return();
+                    case 27:
+                      if (((e.prev = 27), !d)) {
+                        e.next = 30;
+                        break;
+                      }
+                      throw p;
+                    case 30:
+                      return e.finish(27);
+                    case 31:
+                      return e.finish(24);
+                    case 32:
+                      return (
+                        s &&
+                          ((v = l.timeRangeForUrl()),
+                          (y = { range: v }),
+                          s.interpolateVariablesInQueries
+                            ? ((w = n.scopedVars || {}),
+                              (y = g({}, y, {
+                                datasource: s.name,
+                                context: "explore",
+                                queries: s.interpolateVariablesInQueries(c, w),
+                              })))
+                            : (y = g({}, y, {
+                                datasource: s.name,
+                                context: "explore",
+                                queries: c.map(function (e) {
+                                  return g({}, e, { datasource: s.name });
+                                }),
+                              })),
+                          (O = JSON.stringify(
+                            g({}, y, { originPanelId: n.id })
+                          )),
+                          (u = Object(i.c)("/explore", { left: O }))),
+                        e.abrupt("return", u)
+                      );
+                    case 34:
+                    case "end":
+                      return e.stop();
+                  }
+              },
+              e,
+              null,
+              [
+                [7, 20, 24, 32],
+                [25, , 27, 31],
+              ]
+            );
+          })
+        )).apply(this, arguments);
+      }
+      function S(e, t, n, r) {
+        var a = e.map(function (e) {
+            return g({}, e, {}, t);
+          }),
+          i = e.reduce(function (e, t) {
+            return (e += t.key);
+          }, ""),
+          l = (function (e, t, n) {
+            if (!n) return { interval: "1s", intervalMs: 1e3 };
+            return s.a.calculateInterval(e, n, t);
+          })(n, t.minInterval, t.maxDataPoints),
+          c = l.interval,
+          u = l.intervalMs,
+          f = "".concat(i);
+        return {
+          queries: e,
+          request: {
+            app: o.CoreApp.Explore,
+            dashboardId: 0,
+            timezone: o.DefaultTimeZone,
+            startTime: Date.now(),
+            interval: c,
+            intervalMs: u,
+            panelId: f,
+            targets: a,
+            range: n,
+            requestId: "explore",
+            rangeRaw: n.raw,
+            scopedVars: {
+              __interval: { text: c, value: c },
+              __interval_ms: { text: u, value: u },
+            },
+            maxDataPoints: t.maxDataPoints,
+            exploreMode: t.mode,
+          },
+          scanning: r,
+          id: N(),
+          done: !1,
+          latency: 0,
+        };
+      }
+      var E,
+        C,
+        P = function (e) {
+          e.key, e.refId;
+          return h(e, ["key", "refId"]);
+        },
+        T = function (e) {
+          for (
+            var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1;
+            r < t;
+            r++
+          )
+            n[r - 1] = arguments[r];
+          return n.some(function (t) {
+            return e.hasOwnProperty(t);
+          });
+        };
+      !(function (e) {
+        (e[(e.RangeFrom = 0)] = "RangeFrom"),
+          (e[(e.RangeTo = 1)] = "RangeTo"),
+          (e[(e.Datasource = 2)] = "Datasource"),
+          (e[(e.SegmentsStart = 3)] = "SegmentsStart");
+      })(E || (E = {})),
+        (function (e) {
+          (e[(e.Graph = 0)] = "Graph"),
+            (e[(e.Logs = 1)] = "Logs"),
+            (e[(e.Table = 2)] = "Table"),
+            (e[(e.Strategy = 3)] = "Strategy");
+        })(C || (C = {}));
+      var D = function (e, t) {
+        if (!e) return "";
+        try {
+          return JSON.stringify(e, null, t);
+        } catch (e) {
+          console.error(e);
+        }
+        return "";
+      };
+      function A(e) {
+        var t = (function (e) {
+            if (e)
+              try {
+                return JSON.parse(decodeURI(e));
+              } catch (e) {
+                console.error(e);
+              }
+          })(e),
+          n = {
+            datasource: null,
+            queries: [],
+            range: w,
+            ui: O,
+            mode: null,
+            originPanelId: null,
+          };
+        if (!t) return n;
+        if (!Array.isArray(t)) return t;
+        if (t.length <= E.SegmentsStart)
+          return (
+            console.error("Error parsing compact URL state for Explore."), n
+          );
+        var r = { from: t[E.RangeFrom], to: t[E.RangeTo] },
+          a = t[E.Datasource],
+          i = t.slice(E.SegmentsStart),
+          l = ["expr", "target", "datasource", "query"],
+          s = i.filter(function (e) {
+            return T.apply(void 0, [e].concat(l));
+          }),
+          c = i.filter(function (e) {
+            return T(e, "mode");
+          })[0],
+          u = c ? c.mode : o.ExploreMode.Metrics,
+          f = i.filter(function (e) {
+            return T(e, "ui");
+          })[0];
+        return {
+          datasource: a,
+          queries: s,
+          range: r,
+          ui: f
+            ? {
+                showingGraph: f.ui[C.Graph],
+                showingLogs: f.ui[C.Logs],
+                showingTable: f.ui[C.Table],
+                dedupStrategy: f.ui[C.Strategy],
+              }
+            : O,
+          mode: u,
+          originPanelId: i.filter(function (e) {
+            return T(e, "originPanelId");
+          })[0],
+        };
+      }
+      function _(e, t) {
+        return t
+          ? JSON.stringify(
+              [e.range.from, e.range.to, e.datasource].concat(p(e.queries), [
+                { mode: e.mode },
+                {
+                  ui: [
+                    !!e.ui.showingGraph,
+                    !!e.ui.showingLogs,
+                    !!e.ui.showingTable,
+                    e.ui.dedupStrategy,
+                  ],
+                },
+              ])
+            )
+          : JSON.stringify(e);
+      }
+      function N() {
+        var e =
+          arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0;
+        return "Q-"
+          .concat(Date.now(), "-")
+          .concat(Math.random(), "-")
+          .concat(e);
+      }
+      function M(e) {
+        var t =
+          arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0;
+        return { refId: Object(c.b)(e), key: N(t) };
+      }
+      var I = function (e, t) {
+        var n =
+            arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0,
+          r = N(n),
+          a = e.refId || Object(c.b)(t);
+        return g({}, e, { refId: a, key: r });
+      };
+      function R(e) {
+        if (e && "object" === d(e) && e.length > 0) {
+          for (var t = [], n = 0; n < e.length; n++) {
+            var r = e[n],
+              a = N(n),
+              o = r.refId;
+            o || (o = Object(c.b)(t)), t.push(g({}, r, { refId: o, key: a }));
+          }
+          return t;
+        }
+        return [g({}, M(e))];
+      }
+      var F = ["refId", "key", "context"];
+      function L(e) {
+        return (
+          e &&
+          e.some(function (e) {
+            return (
+              Object.keys(e)
+                .filter(function (e) {
+                  return -1 === F.indexOf(e);
+                })
+                .map(function (t) {
+                  return e[t];
+                })
+                .filter(function (e) {
+                  return e;
+                }).length > 0
+            );
+          })
+        );
+      }
+      function V(e, t, n) {
+        var r = Date.now();
+        n.forEach(function (t) {
+          e = [{ query: t, ts: r }].concat(p(e));
+        }),
+          e.length > 100 && (e = e.slice(0, 100));
+        var a = "grafana.explore.history.".concat(t);
+        return l.a.setObject(a, e), e;
+      }
+      var B,
+        $ = function (e, t) {
+          return e.reduce(function (e, n, r) {
+            var a = t && t.name ? t.name : n.key;
+            return e.concat("".concat(a, "-").concat(r));
+          }, []);
+        },
+        q = function (e, t) {
+          return {
+            from: o.dateMath.parse(t.from, !1, e),
+            to: o.dateMath.parse(t.to, !0, e),
+            raw: t,
+          };
+        },
+        U = function (e) {
+          if (null === e) return null;
+          if (-1 !== e.indexOf("now")) return e;
+          if (8 === e.length) return Object(o.toUtc)(e, "YYYYMMDD");
+          if (15 === e.length) return Object(o.toUtc)(e, "YYYYMMDDTHHmmss");
+          if (19 === e.length) return Object(o.toUtc)(e, "YYYY-MM-DD HH:mm:ss");
+          if (!isNaN(e)) {
+            var t = parseInt(e, 10);
+            return Object(o.toUtc)(t);
+          }
+          return null;
+        },
+        z = function (e, t) {
+          var n = { from: U(e.from), to: U(e.to) };
+          return {
+            from: o.dateMath.parse(n.from, !1, t),
+            to: o.dateMath.parse(n.to, !0, t),
+            raw: n,
+          };
+        },
+        H = function (e, t) {
+          return e.timeEpochMs < t.timeEpochMs
+            ? -1
+            : e.timeEpochMs > t.timeEpochMs
+            ? 1
+            : 0;
+        },
+        G = function (e, t) {
+          return e.timeEpochMs > t.timeEpochMs
+            ? -1
+            : e.timeEpochMs < t.timeEpochMs
+            ? 1
+            : 0;
+        };
+      !(function (e) {
+        (e.Descending = "Descending"),
+          (e.Ascending = "Ascending"),
+          (e.DatasourceAZ = "Datasource A-Z"),
+          (e.DatasourceZA = "Datasource Z-A");
+      })(B || (B = {}));
+      var W = function (e) {
+          return u.RefreshPicker.isLive(e) ? B.Ascending : B.Descending;
+        },
+        Q = function (e, t) {
+          var n = e ? e.rows : [];
+          return (
+            t === B.Ascending ? n.sort(H) : n.sort(G),
+            e ? g({}, e, { rows: n }) : { hasUniqueLabels: !1, rows: n }
+          );
+        },
+        Y = function (e) {
+          var t = "https:" === window.location.protocol ? "wss://" : "ws://",
+            n = "".concat(t).concat(window.location.host).concat(f.a.appSubUrl);
+          return (
+            n.endsWith("/") && (n = n.slice(0, -1)), "".concat(n).concat(e)
+          );
+        },
+        K = function (e) {
+          e && e.unsubscribe();
+        };
+      function J(e) {
+        return a.a.uniqBy(e, "uid");
+      }
+      var Z = function (e) {
+        return (function e(t) {
+          if (t && "object" === d(t)) {
+            if (t.refId) return t;
+            for (var n = Object.keys(t), r = 0; r < n.length; r++) {
+              var a = e(t[n[r]]);
+              if (a) return a;
+            }
+          }
+        })(e)
+          ? null
+          : (function (e) {
+              if (e)
+                return e.filter(function (e) {
+                  return !e || !e.refId;
+                })[0];
+            })(e);
+      };
+    },
+    mCU5: function (e, t) {
+      var n = "public/app/plugins/panel/heatmap/partials/display_editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=editor-row>\n  <div class="section gf-form-group">\n    <h5 class=section-heading>Colors</h5>\n    <div class=gf-form>\n      <label class="gf-form-label width-9">Mode</label>\n      <div class="gf-form-select-wrapper width-8">\n        <select class="input-small gf-form-input" ng-model=ctrl.panel.color.mode ng-options="s for s in ctrl.colorModes" ng-change=ctrl.render()></select>\n      </div>\n    </div>\n\n    <div ng-show="ctrl.panel.color.mode === \'opacity\'">\n      <div class=gf-form>\n        <label class="gf-form-label width-9">Color</label>\n        <span class=gf-form-label>\n          <color-picker color=ctrl.panel.color.cardColor onchange=ctrl.onCardColorChange></color-picker>\n        </span>\n      </div>\n      <div class=gf-form>\n        <label class="gf-form-label width-9">Scale</label>\n        <div class="gf-form-select-wrapper width-8">\n          <select class="input-small gf-form-input" ng-model=ctrl.panel.color.colorScale ng-options="s for s in ctrl.opacityScales" ng-change=ctrl.render()></select>\n        </div>\n      </div>\n      <div class=gf-form ng-if="ctrl.panel.color.colorScale === \'sqrt\'">\n        <label class="gf-form-label width-9">Exponent</label>\n        <input type=number class="gf-form-input width-8" placeholder=auto data-placement=right bs-tooltip="\'\'" ng-model=ctrl.panel.color.exponent ng-change=ctrl.refresh() ng-model-onblur>\n      </div>\n    </div>\n\n    <div ng-show="ctrl.panel.color.mode === \'spectrum\'">\n      <div class=gf-form>\n        <label class="gf-form-label width-9">Scheme</label>\n        <div class="gf-form-select-wrapper width-8">\n          <select class="input-small gf-form-input" ng-model=ctrl.panel.color.colorScheme ng-options="s.value as s.name for s in ctrl.colorSchemes" ng-change=ctrl.render()></select>\n        </div>\n      </div>\n    </div>\n\n    <div class=gf-form>\n      <color-legend></color-legend>\n    </div>\n  </div>\n\n  <div class="section gf-form-group">\n    <h5 class=section-heading>Color scale</h5>\n    <div class=gf-form>\n      <label class="gf-form-label width-8">Min</label>\n      <input type=number ng-model=ctrl.panel.color.min class="gf-form-input width-5" placeholder=auto data-placement=right bs-tooltip="\'\'" ng-change=ctrl.refresh() ng-model-onblur>\n    </div>\n    <div class=gf-form>\n      <label class="gf-form-label width-8">Max</label>\n      <input type=number ng-model=ctrl.panel.color.max class="gf-form-input width-5" placeholder=auto data-placement=right bs-tooltip="\'\'" ng-change=ctrl.refresh() ng-model-onblur>\n    </div>\n  </div>\n\n  <div class="section gf-form-group">\n    <h5 class=section-heading>Legend</h5>\n    <gf-form-switch class=gf-form label-class=width-8 label="Show legend" checked=ctrl.panel.legend.show on-change=ctrl.render()>\n    </gf-form-switch>\n  </div>\n\n  <div class="section gf-form-group">\n    <h5 class=section-heading>Buckets</h5>\n    <gf-form-switch class=gf-form label-class=width-8 label="Hide zero" checked=ctrl.panel.hideZeroBuckets on-change=ctrl.render()>\n    </gf-form-switch>\n    <div class=gf-form>\n      <label class="gf-form-label width-8">Space</label>\n      <input type=number class="gf-form-input width-5" placeholder=auto data-placement=right bs-tooltip="\'\'" ng-model=ctrl.panel.cards.cardPadding ng-change=ctrl.refresh() ng-model-onblur>\n    </div>\n    <div class=gf-form>\n      <label class="gf-form-label width-8">Round</label>\n      <input type=number class="gf-form-input width-5" placeholder=auto data-placement=right bs-tooltip="\'\'" ng-model=ctrl.panel.cards.cardRound ng-change=ctrl.refresh() ng-model-onblur>\n    </div>\n  </div>\n\n  <div class="section gf-form-group">\n    <h5 class=section-heading>Tooltip</h5>\n    <gf-form-switch class=gf-form label-class=width-8 label="Show tooltip" checked=ctrl.panel.tooltip.show on-change=ctrl.render()>\n    </gf-form-switch>\n    <div ng-if=ctrl.panel.tooltip.show>\n      <gf-form-switch class=gf-form label-class=width-8 label=Histogram checked=ctrl.panel.tooltip.showHistogram on-change=ctrl.render()>\n      </gf-form-switch>\n      <div class=gf-form>\n        <label class="gf-form-label width-8">Decimals</label>\n        <input type=number class="gf-form-input width-5" placeholder=auto data-placement=right bs-tooltip="\'Max decimal precision for tooltip.\'" ng-model=ctrl.panel.tooltipDecimals ng-change=ctrl.render() ng-model-onblur>\n      </div>\n    </div>\n  </div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    mHLn: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return b;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDLi"),
+        i = n("NXk7");
+      function l(e) {
+        return (l =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function s(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function c(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function u(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              c(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              c(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function f(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function d(e, t) {
+        return !t || ("object" !== l(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function p(e) {
+        return (p = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function h(e, t) {
+        return (h =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var m = [
+          { value: "", label: "Default" },
+          { value: "dark", label: "Dark" },
+          { value: "light", label: "Light" },
+        ],
+        g = [
+          { value: "", label: "Default" },
+          { value: "browser", label: "Local browser time" },
+          { value: "utc", label: "UTC" },
+        ],
+        b = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = d(this, p(t).call(this, e))).backendSrv = i.b),
+              (n.onSubmitForm = (function () {
+                var e = u(
+                  regeneratorRuntime.mark(function e(t) {
+                    var r, a, o, l;
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            return (
+                              t.preventDefault(),
+                              (r = n.state),
+                              (a = r.homeDashboardId),
+                              (o = r.theme),
+                              (l = r.timezone),
+                              (e.next = 4),
+                              i.b.put(
+                                "/api/".concat(
+                                  n.props.resourceUri,
+                                  "/preferences"
+                                ),
+                                { homeDashboardId: a, theme: o, timezone: l }
+                              )
+                            );
+                          case 4:
+                            window.location.reload();
+                          case 5:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                );
+                return function (t) {
+                  return e.apply(this, arguments);
+                };
+              })()),
+              (n.onThemeChanged = function (e) {
+                n.setState({ theme: e });
+              }),
+              (n.onTimeZoneChanged = function (e) {
+                n.setState({ timezone: e });
+              }),
+              (n.onHomeDashboardChanged = function (e) {
+                n.setState({ homeDashboardId: e });
+              }),
+              (n.getFullDashName = function (e) {
+                return void 0 === e.folderTitle || "" === e.folderTitle
+                  ? e.title
+                  : e.folderTitle + " / " + e.title;
+              }),
+              (n.state = {
+                homeDashboardId: 0,
+                theme: "",
+                timezone: "",
+                dashboards: [],
+              }),
+              n
+            );
+          }
+          var n, r, l, c;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && h(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value:
+                  ((c = u(
+                    regeneratorRuntime.mark(function e() {
+                      var t, n, r, a;
+                      return regeneratorRuntime.wrap(
+                        function (e) {
+                          for (;;)
+                            switch ((e.prev = e.next)) {
+                              case 0:
+                                return (
+                                  (e.next = 2),
+                                  i.b.get(
+                                    "/api/".concat(
+                                      this.props.resourceUri,
+                                      "/preferences"
+                                    )
+                                  )
+                                );
+                              case 2:
+                                return (
+                                  (t = e.sent),
+                                  (e.next = 5),
+                                  i.b.search({ starred: !0 })
+                                );
+                              case 5:
+                                if (
+                                  ((n = e.sent),
+                                  (r = {
+                                    id: 0,
+                                    title: "Default",
+                                    tags: [],
+                                    type: "",
+                                    uid: "",
+                                    uri: "",
+                                    url: "",
+                                    folderId: 0,
+                                    folderTitle: "",
+                                    folderUid: "",
+                                    folderUrl: "",
+                                    isStarred: !1,
+                                    slug: "",
+                                  }),
+                                  !(t.homeDashboardId > 0) ||
+                                    n.find(function (e) {
+                                      return e.id === t.homeDashboardId;
+                                    }))
+                                ) {
+                                  e.next = 12;
+                                  break;
+                                }
+                                return (
+                                  (e.next = 10),
+                                  i.b.search({
+                                    dashboardIds: [t.homeDashboardId],
+                                  })
+                                );
+                              case 10:
+                                (a = e.sent) && a.length > 0 && n.push(a[0]);
+                              case 12:
+                                this.setState({
+                                  homeDashboardId: t.homeDashboardId,
+                                  theme: t.theme,
+                                  timezone: t.timezone,
+                                  dashboards: [r].concat(s(n)),
+                                });
+                              case 13:
+                              case "end":
+                                return e.stop();
+                            }
+                        },
+                        e,
+                        this
+                      );
+                    })
+                  )),
+                  function () {
+                    return c.apply(this, arguments);
+                  }),
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this,
+                    t = this.state,
+                    n = t.theme,
+                    r = t.timezone,
+                    i = t.homeDashboardId,
+                    l = t.dashboards;
+                  return a.a.createElement(
+                    "form",
+                    {
+                      className: "section gf-form-group",
+                      onSubmit: this.onSubmitForm,
+                    },
+                    a.a.createElement(
+                      "h3",
+                      { className: "page-heading" },
+                      "Preferences"
+                    ),
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form" },
+                      a.a.createElement(
+                        "span",
+                        { className: "gf-form-label width-11" },
+                        "UI Theme"
+                      ),
+                      a.a.createElement(o.Select, {
+                        isSearchable: !1,
+                        value: m.find(function (e) {
+                          return e.value === n;
+                        }),
+                        options: m,
+                        onChange: function (t) {
+                          return e.onThemeChanged(t.value);
+                        },
+                        width: 20,
+                      })
+                    ),
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form" },
+                      a.a.createElement(
+                        o.FormLabel,
+                        {
+                          width: 11,
+                          tooltip:
+                            "Not finding dashboard you want? Star it first, then it should appear in this select box.",
+                        },
+                        "Home Dashboard"
+                      ),
+                      a.a.createElement(o.Select, {
+                        value: l.find(function (e) {
+                          return e.id === i;
+                        }),
+                        getOptionValue: function (e) {
+                          return e.id;
+                        },
+                        getOptionLabel: this.getFullDashName,
+                        onChange: function (t) {
+                          return e.onHomeDashboardChanged(t.id);
+                        },
+                        options: l,
+                        placeholder: "Choose default dashboard",
+                        width: 20,
+                      })
+                    ),
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form" },
+                      a.a.createElement(
+                        "label",
+                        { className: "gf-form-label width-11" },
+                        "Timezone"
+                      ),
+                      a.a.createElement(o.Select, {
+                        isSearchable: !1,
+                        value: g.find(function (e) {
+                          return e.value === r;
+                        }),
+                        onChange: function (t) {
+                          return e.onTimeZoneChanged(t.value);
+                        },
+                        options: g,
+                        width: 20,
+                      })
+                    ),
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form-button-row" },
+                      a.a.createElement(
+                        "button",
+                        { type: "submit", className: "btn btn-primary" },
+                        "Save"
+                      )
+                    )
+                  );
+                },
+              },
+            ]) && f(n.prototype, r),
+            l && f(n, l),
+            t
+          );
+        })(r.PureComponent);
+      t.b = b;
+    },
+    maUf: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return x;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("Obii"),
+        i = n("kDDq"),
+        l = n("GQ3c"),
+        s = n("kDLi"),
+        c = n("3Tvq"),
+        u = n("NPB1"),
+        f = n("8YUl"),
+        d = n("HJRA");
+      function p(e) {
+        return (p =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function h(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function m(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function g(e, t) {
+        return !t || ("object" !== p(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function b(e) {
+        return (b = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function v(e, t) {
+        return (v =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      function y() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })(["\n      position: relative;\n      display: flex;\n    "]);
+        return (
+          (y = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      var w = Object(s.stylesFactory)(function (e) {
+          return { container: Object(i.css)(y()) };
+        }),
+        O = (function (e) {
+          function t() {
+            var e, n;
+            h(this, t);
+            for (var r = arguments.length, a = new Array(r), i = 0; i < r; i++)
+              a[i] = arguments[i];
+            return (
+              ((n = g(
+                this,
+                (e = b(t)).call.apply(e, [this].concat(a))
+              )).triggerForceUpdate = function () {
+                n.forceUpdate();
+              }),
+              (n.onChangeRefreshInterval = function (e) {
+                Object(u.a)().setAutoRefresh(e), n.forceUpdate();
+              }),
+              (n.onRefresh = function () {
+                return Object(u.a)().refreshDashboard(), Promise.resolve();
+              }),
+              (n.onMoveBack = function () {
+                d.a.emit(l.CoreEvents.shiftTime, -1);
+              }),
+              (n.onMoveForward = function () {
+                d.a.emit(l.CoreEvents.shiftTime, 1);
+              }),
+              (n.onChangeTimePicker = function (e) {
+                var t = n.props.dashboard.timepicker,
+                  r = t.nowDelay && "now" === e.raw.to,
+                  a = o.dateMath.isMathString(e.raw.from) ? e.raw.from : e.from,
+                  i = o.dateMath.isMathString(e.raw.to) ? e.raw.to : e.to,
+                  l = { from: a, to: r ? "now-" + t.nowDelay : i };
+                Object(u.a)().setTime(l);
+              }),
+              (n.onZoom = function () {
+                d.a.emit(l.CoreEvents.zoomOut, 2);
+              }),
+              n
+            );
+          }
+          var n, r, i;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && v(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value: function () {
+                  this.props.dashboard.on(
+                    l.CoreEvents.timeRangeUpdated,
+                    this.triggerForceUpdate
+                  );
+                },
+              },
+              {
+                key: "componentWillUnmount",
+                value: function () {
+                  this.props.dashboard.off(
+                    l.CoreEvents.timeRangeUpdated,
+                    this.triggerForceUpdate
+                  );
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.dashboard,
+                    n = e.theme,
+                    r = t.timepicker.refresh_intervals,
+                    o = Object(u.a)().getValidIntervals(r || f.b),
+                    i = Object(u.a)().timeRange(),
+                    l = t.getTimezone(),
+                    d = w(n);
+                  return a.a.createElement(
+                    "div",
+                    { className: d.container },
+                    a.a.createElement(c.a, {
+                      value: i,
+                      onChange: this.onChangeTimePicker,
+                      timeZone: l,
+                      onMoveBackward: this.onMoveBack,
+                      onMoveForward: this.onMoveForward,
+                      onZoom: this.onZoom,
+                    }),
+                    a.a.createElement(s.RefreshPicker, {
+                      onIntervalChanged: this.onChangeRefreshInterval,
+                      onRefresh: this.onRefresh,
+                      value: t.refresh,
+                      intervals: o,
+                      tooltip: "Refresh dashboard",
+                    })
+                  );
+                },
+              },
+              {
+                key: "refreshParamInUrl",
+                get: function () {
+                  return this.props.location.query.refresh;
+                },
+              },
+            ]) && m(n.prototype, r),
+            i && m(n, i),
+            t
+          );
+        })(r.Component),
+        x = Object(s.withTheme)(O);
+    },
+    mbvD: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return y;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDDq"),
+        i = n("MIBK");
+      function l(e) {
+        return (l =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function s(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function c(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function u(e, t) {
+        return !t || ("object" !== l(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function f(e) {
+        return (f = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function d(e, t) {
+        return (d =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      function p() {
+        var e = g(["\n      padding-right: 2px;\n    "]);
+        return (
+          (p = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function h() {
+        var e = g(["\n      flex-grow: 1;\n    "]);
+        return (
+          (h = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function m() {
+        var e = g([
+          "\n      display: flex;\n      align-items: center;\n      justify-content: flex-start;\n      justify-items: center;\n      cursor: pointer;\n      padding: 7px 10px;\n      width: 100%;\n      border-bottom: 1px solid ",
+          ";\n      text-transform: capitalize;\n    ",
+        ]);
+        return (
+          (m = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function g(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var b = Object(i.g)(function (e) {
+          var t = Object(i.e)(
+            { light: e.colors.gray4, dark: e.colors.dark9 },
+            e.type
+          );
+          return {
+            header: Object(o.css)(m(), t),
+            label: Object(o.css)(h()),
+            icon: Object(o.css)(p()),
+          };
+        }),
+        v = (function (e) {
+          function t() {
+            var e, n;
+            s(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = u(
+                this,
+                (e = f(t)).call.apply(e, [this].concat(a))
+              )).state = { expanded: !1 }),
+              (n.onToggleChildren = function () {
+                n.setState(function (e) {
+                  return { expanded: !e.expanded };
+                });
+              }),
+              n
+            );
+          }
+          var n, r, i;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && d(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value: function () {
+                  if (this.props.data.expanded) this.setState({ expanded: !0 });
+                  else if (
+                    this.props.selectProps &&
+                    this.props.selectProps.value
+                  ) {
+                    var e = this.props.selectProps.value.value;
+                    e &&
+                      this.props.options.some(function (t) {
+                        return t.value === e;
+                      }) &&
+                      this.setState({ expanded: !0 });
+                  }
+                },
+              },
+              {
+                key: "componentDidUpdate",
+                value: function (e) {
+                  "" !== e.selectProps.inputValue &&
+                    this.setState({ expanded: !0 });
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.children,
+                    n = e.label,
+                    r = e.theme,
+                    i = this.state.expanded,
+                    l = b(r),
+                    s = i ? "fa-caret-left" : "fa-caret-down";
+                  return a.a.createElement(
+                    "div",
+                    null,
+                    a.a.createElement(
+                      "div",
+                      { className: l.header, onClick: this.onToggleChildren },
+                      a.a.createElement("span", { className: l.label }, n),
+                      a.a.createElement("i", {
+                        className: Object(o.cx)("fa", s, l.icon),
+                      }),
+                      " "
+                    ),
+                    i && t
+                  );
+                },
+              },
+            ]) && c(n.prototype, r),
+            i && c(n, i),
+            t
+          );
+        })(r.PureComponent),
+        y = Object(i.i)(v);
+    },
+    mgzm: function (e, t, n) {
+      "use strict";
+      var r;
+      n.d(t, "a", function () {
+        return r;
+      }),
+        (function (e) {
+          (e.Absolute = "absolute"), (e.Percentage = "percentage");
+        })(r || (r = {}));
+    },
+    mpro: function (e, t, n) {
+      "use strict";
+      var r = n("i7Pf"),
+        a = n("BkRI"),
+        o = n.n(a),
+        i = n("buVq"),
+        l = n("+CPp"),
+        s = n("dcGt");
+      var c = function e() {
+          var t = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.resolve = null),
+            (this.reject = null),
+            (this.promise = new Promise(function (e, n) {
+              (t.resolve = e), (t.reject = n);
+            })),
+            Object.freeze(this);
+        },
+        u = n("gKd5"),
+        f = n("P20H"),
+        d = n("EcEN");
+      function p(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function h(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? p(Object(n), !0).forEach(function (t) {
+                m(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : p(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function m(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      n.d(t, "k", function () {
+        return b;
+      }),
+        n.d(t, "a", function () {
+          return y;
+        }),
+        n.d(t, "h", function () {
+          return w;
+        }),
+        n.d(t, "b", function () {
+          return O;
+        }),
+        n.d(t, "d", function () {
+          return x;
+        }),
+        n.d(t, "c", function () {
+          return k;
+        }),
+        n.d(t, "l", function () {
+          return j;
+        }),
+        n.d(t, "f", function () {
+          return S;
+        }),
+        n.d(t, "j", function () {
+          return E;
+        }),
+        n.d(t, "e", function () {
+          return C;
+        }),
+        n.d(t, "g", function () {
+          return P;
+        }),
+        n.d(t, "i", function () {
+          return T;
+        });
+      var g = Object(r.c)({
+          name: "templating/shared",
+          initialState: u.a,
+          reducers: {
+            addVariable: function (e, t) {
+              var n,
+                r =
+                  null !== (n = t.payload.uuid) && void 0 !== n
+                    ? n
+                    : Object(d.v4)();
+              (e[r] = h(
+                {},
+                o()(l.a.get(t.payload.type).initialState),
+                {},
+                t.payload.data.model
+              )),
+                (e[r].uuid = r),
+                (e[r].index = t.payload.data.index),
+                (e[r].global = t.payload.data.global);
+            },
+            addInitLock: function (e, t) {
+              Object(i.f)(e, t.payload.uuid).initLock = new c();
+            },
+            resolveInitLock: function (e, t) {
+              var n;
+              null === (n = Object(i.f)(e, t.payload.uuid).initLock) ||
+                void 0 === n ||
+                n.resolve();
+            },
+            removeInitLock: function (e, t) {
+              Object(i.f)(e, t.payload.uuid).initLock = null;
+            },
+            removeVariable: function (e, t) {
+              if ((delete e[t.payload.uuid], t.payload.data.reIndex))
+                for (var n = Object.values(e), r = 0; r < n.length; r++)
+                  n[r].index = r;
+            },
+            duplicateVariable: function (e, t) {
+              var n,
+                r,
+                a =
+                  null !==
+                    (n =
+                      null === (r = t.payload.data) || void 0 === r
+                        ? void 0
+                        : r.newUuid) && void 0 !== n
+                    ? n
+                    : Object(d.v4)(),
+                i = o()(e[t.payload.uuid]),
+                s = Object.keys(e).length,
+                c = "copy_of_".concat(i.name);
+              e[a] = h({}, o()(l.a.get(t.payload.type).initialState), {}, i, {
+                uuid: a,
+                name: c,
+                index: s,
+              });
+            },
+            changeVariableOrder: function (e, t) {
+              var n = Object.values(e).map(function (e) {
+                  return e;
+                }),
+                r = n.find(function (e) {
+                  return e.index === t.payload.data.fromIndex;
+                }),
+                a = n.find(function (e) {
+                  return e.index === t.payload.data.toIndex;
+                });
+              r && (e[r.uuid].index = t.payload.data.toIndex),
+                a && (e[a.uuid].index = t.payload.data.fromIndex);
+            },
+            storeNewVariable: function (e, t) {
+              var n = t.payload.uuid,
+                r = o()(e[i.c]);
+              e[n] = h({}, o()(l.a.get(t.payload.type).initialState), {}, r, {
+                uuid: n,
+                index: r.index,
+              });
+            },
+            changeVariableType: function (e, t) {
+              var n = t.payload.uuid,
+                r = e[n],
+                a = r.label,
+                i = r.name,
+                s = r.index;
+              e[n] = h({}, o()(l.a.get(t.payload.data.newType).initialState), {
+                uuid: n,
+                label: a,
+                name: i,
+                index: s,
+              });
+            },
+            setCurrentVariableValue: function (e, t) {
+              var n = Object(i.f)(e, t.payload.uuid),
+                r = h({}, t.payload.data.option);
+              if (
+                (Array.isArray(r.text) && r.text.length > 0
+                  ? (r.text = r.text.join(" + "))
+                  : Array.isArray(r.value) &&
+                    r.value[0] !== i.b &&
+                    (r.text = r.value.join(" + ")),
+                (n.current = r),
+                (n.options = n.options.map(function (e) {
+                  var t = !1;
+                  if (Array.isArray(r.value))
+                    for (var n = 0; n < r.value.length; n++) {
+                      var a = r.value[n];
+                      if (e.value === a) {
+                        t = !0;
+                        break;
+                      }
+                    }
+                  else e.value === r.value && (t = !0);
+                  return (e.selected = t), e;
+                })),
+                D(r) && Object(f.a)(n))
+              ) {
+                var a = r.tags.reduce(function (e, t) {
+                  return (e[t.text.toString()] = t.selected), e;
+                }, {});
+                n.tags = n.tags.map(function (e) {
+                  var t = e.text.toString();
+                  return (e.selected = a[t]), e;
+                });
+              }
+            },
+            changeVariableProp: function (e, t) {
+              Object(i.f)(e, t.payload.uuid)[t.payload.data.propName] =
+                t.payload.data.propValue;
+            },
+          },
+          extraReducers: function (e) {
+            return e.addCase(s.d, function (e, t) {
+              Object(i.f)(e, t.payload.uuid).name = t.payload.data;
+            });
+          },
+        }),
+        b = g.reducer,
+        v = g.actions,
+        y = v.addInitLock,
+        w = v.removeVariable,
+        O = v.addVariable,
+        x = v.changeVariableProp,
+        k = v.changeVariableOrder,
+        j = v.storeNewVariable,
+        S = v.duplicateVariable,
+        E = v.setCurrentVariableValue,
+        C = v.changeVariableType,
+        P = v.removeInitLock,
+        T = v.resolveInitLock,
+        D = function (e) {
+          return Array.isArray(e.tags);
+        };
+    },
+    nABS: function (e, t, n) {
+      "use strict";
+      n.d(t, "b", function () {
+        return f;
+      }),
+        n.d(t, "c", function () {
+          return d;
+        }),
+        n.d(t, "d", function () {
+          return p;
+        });
+      var r = n("i7Pf"),
+        a = n("ZFWI");
+      function o(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function i(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? o(Object(n), !0).forEach(function (t) {
+                l(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : o(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function l(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var s = {
+          invitees: [],
+          users: [],
+          searchQuery: "",
+          canInvite: !a.b.externalUserMngLinkName,
+          externalUserMngInfo: a.b.externalUserMngInfo,
+          externalUserMngLinkName: a.b.externalUserMngLinkName,
+          externalUserMngLinkUrl: a.b.externalUserMngLinkUrl,
+          hasFetched: !1,
+        },
+        c = Object(r.c)({
+          name: "users",
+          initialState: s,
+          reducers: {
+            usersLoaded: function (e, t) {
+              return i({}, e, { hasFetched: !0, users: t.payload });
+            },
+            inviteesLoaded: function (e, t) {
+              return i({}, e, { hasFetched: !0, invitees: t.payload });
+            },
+            setUsersSearchQuery: function (e, t) {
+              return i({}, e, { searchQuery: t.payload });
+            },
+          },
+        }),
+        u = c.actions,
+        f = u.inviteesLoaded,
+        d = u.setUsersSearchQuery,
+        p = u.usersLoaded,
+        h = c.reducer;
+      t.a = { users: h };
+    },
+    nHyz: function (e, t) {},
+    nfvv: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return r;
+      }),
+        n.d(t, "b", function () {
+          return a;
+        });
+      var r = {
+          keepTime: "__url_time_range",
+          timeRangeFrom: "__from",
+          timeRangeTo: "__to",
+          includeVars: "__all_variables",
+          seriesName: "__series.name",
+          fieldName: "__field.name",
+          valueTime: "__value.time",
+          valueNumeric: "__value.numeric",
+          valueText: "__value.text",
+          valueRaw: "__value.raw",
+          valueCalc: "__value.calc",
+        },
+        a = function (e) {
+          return e.getLinks().map(function (e) {
+            return {
+              label: e.title,
+              url: e.href,
+              target: e.target,
+              icon: "fa ".concat(
+                "_self" === e.target ? "fa-link" : "fa-external-link"
+              ),
+              onClick: e.onClick,
+            };
+          });
+        };
+    },
+    nnkO: function (e, t) {},
+    nvwu: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return p;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDLi"),
+        i = n("kDDq");
+      function l(e) {
+        return (l =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function s(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function c(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function u(e, t) {
+        return !t || ("object" !== l(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function f(e) {
+        return (f = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function d(e, t) {
+        return (d =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var p = (function (e) {
+        function t() {
+          var e, n;
+          s(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = u(this, (e = f(t)).call.apply(e, [this].concat(a)))).state = {
+              isEditing: !1,
+              currentAdminOption: n.props.isGrafanaAdmin ? "YES" : "NO",
+            }),
+            (n.onChangeClick = function () {
+              n.setState({ isEditing: !0 });
+            }),
+            (n.onCancelClick = function () {
+              n.setState({
+                isEditing: !1,
+                currentAdminOption: n.props.isGrafanaAdmin ? "YES" : "NO",
+              });
+            }),
+            (n.onGrafanaAdminChange = function () {
+              var e = "YES" === n.state.currentAdminOption;
+              n.props.onGrafanaAdminChange(e);
+            }),
+            (n.onAdminOptionSelect = function (e) {
+              n.setState({ currentAdminOption: e.target.value });
+            }),
+            n
+          );
+        }
+        var n, r, l;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && d(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e = this.props.isGrafanaAdmin,
+                  t = this.state,
+                  n = t.isEditing,
+                  r = t.currentAdminOption,
+                  l = Object(i.cx)("pull-right");
+                return a.a.createElement(
+                  a.a.Fragment,
+                  null,
+                  a.a.createElement(
+                    "h3",
+                    { className: "page-heading" },
+                    "Permissions"
+                  ),
+                  a.a.createElement(
+                    "div",
+                    { className: "gf-form-group" },
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form" },
+                      a.a.createElement(
+                        "table",
+                        { className: "filter-table form-inline" },
+                        a.a.createElement(
+                          "tbody",
+                          null,
+                          a.a.createElement(
+                            "tr",
+                            null,
+                            a.a.createElement(
+                              "td",
+                              { className: "width-16" },
+                              "Grafana Admin"
+                            ),
+                            n
+                              ? a.a.createElement(
+                                  "td",
+                                  { colSpan: 2 },
+                                  a.a.createElement(
+                                    "div",
+                                    {
+                                      className:
+                                        "gf-form-select-wrapper width-8",
+                                    },
+                                    a.a.createElement(
+                                      "select",
+                                      {
+                                        value: r,
+                                        className: "gf-form-input",
+                                        onChange: this.onAdminOptionSelect,
+                                      },
+                                      ["YES", "NO"].map(function (e, t) {
+                                        return a.a.createElement(
+                                          "option",
+                                          {
+                                            value: e,
+                                            key: "".concat(e, "-").concat(t),
+                                          },
+                                          e
+                                        );
+                                      })
+                                    )
+                                  )
+                                )
+                              : a.a.createElement(
+                                  "td",
+                                  { colSpan: 2 },
+                                  e
+                                    ? a.a.createElement(
+                                        a.a.Fragment,
+                                        null,
+                                        a.a.createElement("i", {
+                                          className: "gicon gicon-shield",
+                                        }),
+                                        " Yes"
+                                      )
+                                    : a.a.createElement(
+                                        a.a.Fragment,
+                                        null,
+                                        "No"
+                                      )
+                                ),
+                            a.a.createElement(
+                              "td",
+                              null,
+                              a.a.createElement(
+                                "div",
+                                { className: l },
+                                a.a.createElement(
+                                  o.ConfirmButton,
+                                  {
+                                    className: "pull-right",
+                                    onClick: this.onChangeClick,
+                                    onConfirm: this.onGrafanaAdminChange,
+                                    onCancel: this.onCancelClick,
+                                    confirmText: "Change",
+                                  },
+                                  "Change"
+                                )
+                              )
+                            )
+                          )
+                        )
+                      )
+                    )
+                  )
+                );
+              },
+            },
+          ]) && c(n.prototype, r),
+          l && c(n, l),
+          t
+        );
+      })(r.PureComponent);
+    },
+    nwiq: function (e, t, n) {
+      "use strict";
+      function r(e, t, n) {
+        var r = Math.sqrt(50),
+          a = Math.sqrt(10),
+          o = Math.sqrt(2),
+          i = Math.abs(t - e) / Math.max(0, n),
+          l = Math.pow(10, Math.floor(Math.log(i) / Math.LN10)),
+          s = i / l;
+        return (
+          s >= r ? (l *= 10) : s >= a ? (l *= 5) : s >= o && (l *= 2),
+          t < e ? -l : l
+        );
+      }
+      function a(e, t) {
+        return e - Math.floor(Math.log(t) / Math.LN10);
+      }
+      function o(e, t, n, r) {
+        var a,
+          o = (t - e) / n,
+          i = -Math.floor(Math.log(o) / Math.LN10),
+          l = r,
+          s = Math.pow(10, -i),
+          c = o / s;
+        return (
+          c < 1.5
+            ? (a = 1)
+            : c < 3
+            ? ((a = 2),
+              c > 2.25 && (null == l || i + 1 <= l) && ((a = 2.5), ++i))
+            : (a = c < 7.5 ? 5 : 10),
+          (a *= s)
+        );
+      }
+      function i(e, t, n, r) {
+        var a = +(null != e ? e : n),
+          o = +(null != t ? t : r),
+          i = o - a;
+        if (0 === i) {
+          var l = Math.abs(0 === o ? 1 : 0.25 * o);
+          null === e && (a -= l), (null != t && null == e) || (o += l);
+        } else {
+          null == e && (a -= 0.02 * i) < 0 && null != n && n >= 0 && (a = 0),
+            null == t && (o += 0.02 * i) > 0 && null != r && r <= 0 && (o = 0);
+        }
+        return { min: a, max: o };
+      }
+      function l(e, t, n, r) {
+        var a,
+          o = i(n.min, n.max, e, t),
+          l = o.min,
+          s = (o.max - l) / (0.3 * Math.sqrt(r)),
+          c = -Math.floor(Math.log(s) / Math.LN10),
+          u = Math.pow(10, -c),
+          f = s / u;
+        f < 1.5
+          ? (a = 1)
+          : f < 3
+          ? ((a = 2), f > 2.25 && (a = 2.5))
+          : (a = f < 7.5 ? 5 : 10),
+          (a *= u);
+        var d = Math.max(0, 1 - Math.floor(Math.log(s) / Math.LN10));
+        return {
+          tickDecimals: d,
+          scaledDecimals: d - Math.floor(Math.log(a) / Math.LN10),
+        };
+      }
+      function s(e, t, n) {
+        if (t && n && e) {
+          var r = n - t,
+            a = r / e / 1e3;
+          return a <= 45
+            ? "%H:%M:%S"
+            : a <= 7200 || r <= 864e5
+            ? "%H:%M"
+            : a <= 8e4
+            ? p() + " %H:%M"
+            : a <= 2419200 || r <= 31536e6
+            ? p()
+            : (function () {
+                var e = d({
+                  year: "numeric",
+                  month: "numeric",
+                  timeZone: "UTC",
+                });
+                if (!e) return "%Y-%m";
+                return e.replace("1977", "%Y").replace("12", "%m");
+              })();
+        }
+        return "%H:%M";
+      }
+      function c(e, t) {
+        return Math.log(e) / Math.log(t);
+      }
+      function u(e) {
+        return f(e.toString());
+      }
+      function f(e) {
+        if (isNaN(e)) return 0;
+        var t = e.indexOf(".");
+        return -1 === t ? 0 : e.length - t - 1;
+      }
+      function d(e) {
+        var t = navigator.languages
+          ? navigator.languages[0]
+          : navigator.language || "en-GB";
+        try {
+          return new Date(Date.UTC(1977, 11, 20, 0, 0, 0)).toLocaleDateString(
+            t,
+            e
+          );
+        } catch (e) {
+          if ("RangeError" !== e.name) return "";
+        }
+        return "";
+      }
+      function p() {
+        var e = d({ month: "numeric", day: "numeric", timeZone: "UTC" });
+        return e ? e.replace("12", "%m").replace("20", "%d") : "%d-%m";
+      }
+      n.r(t),
+        n.d(t, "tickStep", function () {
+          return r;
+        }),
+        n.d(t, "getScaledDecimals", function () {
+          return a;
+        }),
+        n.d(t, "getFlotTickSize", function () {
+          return o;
+        }),
+        n.d(t, "getFlotRange", function () {
+          return i;
+        }),
+        n.d(t, "getFlotTickDecimals", function () {
+          return l;
+        }),
+        n.d(t, "grafanaTimeFormat", function () {
+          return s;
+        }),
+        n.d(t, "logp", function () {
+          return c;
+        }),
+        n.d(t, "getPrecision", function () {
+          return u;
+        }),
+        n.d(t, "getStringPrecision", function () {
+          return f;
+        });
+    },
+    o85q: function (e, t) {},
+    oEIk: function (e, t, n) {
+      "use strict";
+      n.d(t, "d", function () {
+        return x;
+      }),
+        n.d(t, "a", function () {
+          return k;
+        }),
+        n.d(t, "c", function () {
+          return j;
+        });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDDq"),
+        i = n("Zss7"),
+        l = n.n(i),
+        s = n("MIBK"),
+        c = n("oeKk"),
+        u = n("4Qg+");
+      function f() {
+        return (f =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function d(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function p() {
+        var e = w([
+          "\n      label: button-icon-wrap;\n      & + * {\n        margin-left: ",
+          ";\n      }\n    ",
+        ]);
+        return (
+          (p = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function h() {
+        var e = w(["\n      padding-right: 0;\n    "]);
+        return (
+          (h = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function m() {
+        var e = w(["\n      padding-left: ", ";\n    "]);
+        return (
+          (m = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function g() {
+        var e = w(["\n        ", "\n      "]);
+        return (
+          (g = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function b() {
+        var e = w([
+          "\n        label: button;\n        display: inline-flex;\n        align-items: center;\n        font-weight: ",
+          ";\n        font-family: ",
+          ";\n        line-height: ",
+          ";\n        font-size: ",
+          ";\n        padding: ",
+          ";\n        height: ",
+          ";\n        vertical-align: middle;\n        cursor: pointer;\n        border: 1px solid ",
+          ";\n        border-radius: ",
+          ";\n        ",
+          ";\n\n        &[disabled],\n        &:disabled {\n          cursor: not-allowed;\n          opacity: 0.65;\n          box-shadow: none;\n        }\n      ",
+        ]);
+        return (
+          (b = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function v() {
+        var e = w([
+          "\n          &:focus {\n            outline: none;\n            box-shadow: none;\n          }\n        ",
+        ]);
+        return (
+          (v = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function y() {
+        var e = w([
+          "\n  background: linear-gradient(180deg, ",
+          " 0%, ",
+          " 100%);\n  color: ",
+          ";\n  &:hover {\n    background: ",
+          ";\n    color: ",
+          ";\n  }\n\n  &:focus {\n    background: ",
+          ";\n    outline: none;\n  }\n",
+        ]);
+        return (
+          (y = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function w(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var O = function (e, t, n) {
+          return Object(o.css)(y(), e, t, n, e, n, e);
+        },
+        x = Object(s.g)(function (e) {
+          var t = e.theme,
+            n = e.size,
+            r = e.variant,
+            a = Object(u.c)(t, n),
+            i = a.padding,
+            c = a.fontSize,
+            f = a.height,
+            d = (function (e, t) {
+              switch (t) {
+                case "secondary":
+                  var n = Object(s.e)(
+                      { light: e.colors.gray7, dark: e.colors.gray15 },
+                      e.type
+                    ),
+                    r = Object(s.e)(
+                      {
+                        light: l()(n).darken(5).toString(),
+                        dark: l()(n).lighten(4).toString(),
+                      },
+                      e.type
+                    );
+                  return {
+                    borderColor: Object(s.e)(
+                      { light: e.colors.gray85, dark: e.colors.gray25 },
+                      e.type
+                    ),
+                    background: O(
+                      n,
+                      r,
+                      Object(s.e)(
+                        { light: e.colors.gray25, dark: e.colors.gray4 },
+                        e.type
+                      )
+                    ),
+                  };
+                case "destructive":
+                  return {
+                    borderColor: e.colors.redShade,
+                    background: O(
+                      e.colors.redBase,
+                      e.colors.redShade,
+                      e.colors.white
+                    ),
+                  };
+                case "link":
+                  return {
+                    borderColor: "transparent",
+                    background: O(
+                      "transparent",
+                      "transparent",
+                      e.colors.linkExternal
+                    ),
+                    variantStyles: Object(o.css)(v()),
+                  };
+                case "primary":
+                default:
+                  return {
+                    borderColor: e.colors.blueShade,
+                    background: O(
+                      e.colors.blueBase,
+                      e.colors.blueShade,
+                      e.colors.white
+                    ),
+                  };
+              }
+            })(t, r),
+            y = d.background,
+            w = d.borderColor,
+            x = d.variantStyles;
+          return {
+            button: Object(o.cx)(
+              Object(o.css)(
+                b(),
+                t.typography.weight.semibold,
+                t.typography.fontFamily.sansSerif,
+                t.typography.lineHeight.sm,
+                c,
+                i,
+                f,
+                w,
+                t.border.radius.sm,
+                y
+              ),
+              Object(u.b)(t),
+              Object(o.css)(g(), x)
+            ),
+            buttonWithIcon: Object(o.css)(m(), t.spacing.sm),
+            iconButton: Object(o.css)(h()),
+            iconWrap: Object(o.css)(p(), t.spacing.sm),
+          };
+        }),
+        k = a.a.forwardRef(function (e, t) {
+          var n = e.variant,
+            o = d(e, ["variant"]),
+            i = Object(r.useContext)(s.a),
+            l = x({ theme: i, size: o.size || "md", variant: n || "primary" });
+          return a.a.createElement(
+            c.a,
+            f({}, o, { variant: n, styles: l, ref: t })
+          );
+        }),
+        j = a.a.forwardRef(function (e, t) {
+          var n = e.variant,
+            o = d(e, ["variant"]),
+            i = Object(r.useContext)(s.a),
+            l = x({ theme: i, size: o.size || "md", variant: n || "primary" });
+          return a.a.createElement(
+            c.b,
+            f({}, o, { variant: n, styles: l, ref: t })
+          );
+        });
+    },
+    oEL2: function (e, t) {
+      var n = "public/app/features/panel/partials/query_editor_row.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(n, "<div ng-transclude class=gf-form-query-content></div>\n\n");
+        },
+      ]),
+        (e.exports = n);
+    },
+    oOjz: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return a;
+      }),
+        n.d(t, "h", function () {
+          return o;
+        }),
+        n.d(t, "b", function () {
+          return i;
+        }),
+        n.d(t, "c", function () {
+          return l;
+        }),
+        n.d(t, "d", function () {
+          return s;
+        }),
+        n.d(t, "g", function () {
+          return c;
+        }),
+        n.d(t, "f", function () {
+          return u;
+        }),
+        n.d(t, "e", function () {
+          return f;
+        });
+      var r = [
+          "(",
+          "[",
+          "{",
+          "}",
+          "]",
+          ")",
+          "|",
+          "*",
+          "+",
+          "-",
+          ".",
+          "?",
+          "<",
+          ">",
+          "#",
+          "&",
+          "^",
+          "$",
+        ],
+        a = function (e) {
+          return e
+            ? r.reduce(function (e, t) {
+                return e.replace(t, "\\" + t);
+              }, e)
+            : e;
+        },
+        o = function (e) {
+          return e
+            ? r.reduce(function (e, t) {
+                return e.replace("\\" + t, t);
+              }, e)
+            : e;
+        };
+      function i(e) {
+        return !!e && "/" === e[0];
+      }
+      function l(e) {
+        if (!i(e)) return new RegExp("^".concat(e, "$"));
+        var t = e.match(new RegExp("^/(.*?)/(g?i?m?y?)$"));
+        if (!t)
+          throw new Error(
+            "'".concat(e, "' is not a valid regular expression.")
+          );
+        return new RegExp(t[1], t[2]);
+      }
+      function s(e) {
+        if (!e) return 0;
+        var t = parseInt(e, 10),
+          n = e.substr(String(t).length);
+        switch (n) {
+          case "s":
+            return 1e3 * t;
+          case "m":
+            return 6e4 * t;
+          case "h":
+            return 36e5 * t;
+          case "d":
+            return 864e5 * t;
+          default:
+            if (!n) return isNaN(t) ? 0 : t;
+            throw new Error("Not supported unit: " + n);
+        }
+      }
+      function c(e) {
+        return null != e && Number.isFinite(e) ? e.toString() : "";
+      }
+      function u(e) {
+        if (e) {
+          var t = parseInt(e, 10);
+          return isNaN(t) ? void 0 : t;
+        }
+      }
+      function f(e) {
+        if (e) {
+          var t = parseFloat(e);
+          return isNaN(t) ? void 0 : t;
+        }
+      }
+    },
+    oZti: function (e, t) {
+      var n = "public/app/features/panel/partials/panelTime.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=gf-form-group>\n\t<div class=gf-form>\n\t\t<span class=gf-form-label>\n\t\t\t<i class="fa fa-clock-o"></i>\n\t\t</span>\n\n\t\t<span class="gf-form-label width-12">Override relative time</span>\n\t\t<span class="gf-form-label width-6">Last</span>\n\n\t\t<input type=text class="gf-form-input max-width-8" placeholder=1h empty-to-null ng-model=ctrl.panel.timeFrom valid-time-span ng-change=ctrl.refresh() ng-model-onblur>\n\t</div>\n\n\t<div class=gf-form>\n\t\t<span class=gf-form-label>\n\t\t\t<i class="fa fa-clock-o"></i>\n\t\t</span>\n\t\t<span class="gf-form-label width-12">Add time shift</span>\n\t\t<span class="gf-form-label width-6">Amount</span>\n\t\t<input type=text class="gf-form-input max-width-8" placeholder=1h empty-to-null ng-model=ctrl.panel.timeShift valid-time-span ng-change=ctrl.refresh() ng-model-onblur>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<span class=gf-form-label>\n\t\t\t\t<i class="fa fa-clock-o"></i>\n\t\t\t</span>\n\t\t</div>\n\t\t<gf-form-switch class="gf-form max-width-30" label="Hide time override info" label-class=width-12 checked=ctrl.panel.hideTimeOverride switch-class=max-width-6 on-change=ctrl.refresh()>\n\t\t</gf-form-switch>\n\t</div>\n</div>\n\n\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    oeKk: function (e, t, n) {
+      "use strict";
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("MIBK"),
+        i = n("Zss7"),
+        l = n.n(i),
+        s = n("kDDq");
+      function c() {
+        var e = h([
+          "\n      label: button-icon-wrap;\n      & + * {\n        margin-left: ",
+          ";\n      }\n    ",
+        ]);
+        return (
+          (c = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function u() {
+        var e = h([
+          "\n      label: button;\n      display: inline-flex;\n      align-items: center;\n      font-weight: ",
+          ";\n      font-size: ",
+          ";\n      font-family: ",
+          ";\n      line-height: ",
+          ";\n      padding: ",
+          ";\n      vertical-align: middle;\n      cursor: pointer;\n      border: none;\n      height: ",
+          ";\n      border-radius: ",
+          ";\n      ",
+          ";\n\n      &[disabled],\n      &:disabled {\n        cursor: not-allowed;\n        opacity: 0.65;\n        box-shadow: none;\n      }\n    ",
+        ]);
+        return (
+          (u = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function f() {
+        var e = h([
+          "\n        ",
+          ";\n        background: transparent;\n      ",
+        ]);
+        return (
+          (f = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function d() {
+        var e = h([
+          "\n        ",
+          ";\n        background: transparent;\n      ",
+        ]);
+        return (
+          (d = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function p() {
+        var e = h([
+          "\n  background: linear-gradient(to bottom, ",
+          ", ",
+          ");\n  color: ",
+          ";\n  text-shadow: 0 ",
+          " ",
+          ";\n  &:hover {\n    background: ",
+          ";\n    color: ",
+          ";\n  }\n\n  &:focus {\n    background: ",
+          ";\n    outline: none;\n  }\n",
+        ]);
+        return (
+          (p = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function h(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var m = function (e, t, n) {
+          var r =
+              arguments.length > 3 && void 0 !== arguments[3]
+                ? arguments[3]
+                : "rgba(0, 0, 0, 0.1)",
+            a = arguments.length > 4 && void 0 !== arguments[4] && arguments[4];
+          return Object(s.css)(p(), e, t, n, a ? "1px" : "-1px", r, e, n, e);
+        },
+        g = Object(o.g)(function (e) {
+          var t,
+            n = e.theme,
+            r = e.size,
+            a = e.variant,
+            i = e.textAndIcon,
+            p = n.border.radius.sm,
+            h = b(n, r, !!i),
+            g = h.padding,
+            v = h.fontSize,
+            y = h.height,
+            w = h.fontWeight;
+          switch (a) {
+            case "primary":
+              t = m(n.colors.greenBase, n.colors.greenShade, n.colors.white);
+              break;
+            case "secondary":
+              t = m(n.colors.blueBase, n.colors.blueShade, n.colors.white);
+              break;
+            case "danger":
+              t = m(n.colors.redBase, n.colors.redShade, n.colors.white);
+              break;
+            case "inverse":
+              var O = Object(o.e)(
+                  { light: n.colors.gray5, dark: n.colors.dark6 },
+                  n.type
+                ),
+                x = Object(o.e)(
+                  {
+                    light: l()(O).darken(5).toString(),
+                    dark: l()(O).lighten(4).toString(),
+                  },
+                  n.type
+                );
+              t = m(O, x, n.colors.link, "rgba(0, 0, 0, 0.1)", !0);
+              break;
+            case "transparent":
+              t = Object(s.css)(
+                d(),
+                m("", "", n.colors.link, "rgba(0, 0, 0, 0.1)", !0)
+              );
+              break;
+            case "link":
+              t = Object(s.css)(
+                f(),
+                m("", "", n.colors.linkExternal, "rgba(0, 0, 0, 0.1)", !0)
+              );
+          }
+          return {
+            button: Object(s.css)(
+              u(),
+              w,
+              v,
+              n.typography.fontFamily.sansSerif,
+              n.typography.lineHeight.xs,
+              g,
+              y,
+              p,
+              t
+            ),
+            iconWrap: Object(s.css)(c(), n.spacing.sm),
+          };
+        }),
+        b = function (e, t, n) {
+          switch (t) {
+            case "sm":
+              return {
+                padding: "".concat(e.spacing.xs, " ").concat(e.spacing.sm),
+                fontSize: e.typography.size.sm,
+                height: e.height.sm,
+                fontWeight: e.typography.weight.semibold,
+              };
+            case "md":
+              var r = n ? e.spacing.sm : e.spacing.md;
+              return {
+                padding: ""
+                  .concat(e.spacing.sm, " ")
+                  .concat(e.spacing.md, " ")
+                  .concat(e.spacing.sm, " ")
+                  .concat(r),
+                fontSize: e.typography.size.md,
+                height: e.height.md,
+                fontWeight: e.typography.weight.semibold,
+              };
+            case "lg":
+              var a = n ? e.spacing.md : e.spacing.lg;
+              return {
+                padding: ""
+                  .concat(e.spacing.md, " ")
+                  .concat(e.spacing.lg, " ")
+                  .concat(e.spacing.md, " ")
+                  .concat(a),
+                fontSize: e.typography.size.lg,
+                height: e.height.lg,
+                fontWeight: e.typography.weight.regular,
+              };
+            default:
+              var o = n ? e.spacing.sm : e.spacing.md;
+              return {
+                padding: ""
+                  .concat(e.spacing.sm, " ")
+                  .concat(e.spacing.md, " ")
+                  .concat(e.spacing.sm, " ")
+                  .concat(o),
+                fontSize: e.typography.size.base,
+                height: e.height.md,
+                fontWeight: e.typography.weight.regular,
+              };
+          }
+        };
+      function v() {
+        var e = w([
+          "\n    position: relative;\n    top: 1px;\n    & + * {\n      margin-left: ",
+          ";\n    }\n  ",
+        ]);
+        return (
+          (v = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function y() {
+        var e = w([
+          "\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    white-space: nowrap;\n    height: 100%;\n  ",
+        ]);
+        return (
+          (y = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function w(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      var O = Object(o.g)(function (e) {
+        return {
+          content: Object(s.css)(y()),
+          icon: Object(s.css)(v(), e.spacing.sm),
+        };
+      });
+      function x(e) {
+        var t = e.icon,
+          n = e.children,
+          r = Object(o.h)(),
+          i = O(r);
+        if (!n)
+          return a.a.createElement(
+            "span",
+            { className: i.content },
+            a.a.createElement("i", { className: t })
+          );
+        var l =
+          t &&
+          a.a.createElement(
+            "span",
+            { className: i.icon },
+            a.a.createElement("i", { className: t })
+          );
+        return a.a.createElement(
+          "span",
+          { className: i.content },
+          l,
+          a.a.createElement("span", null, n)
+        );
+      }
+      function k() {
+        return (k =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function j(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      n.d(t, "a", function () {
+        return S;
+      }),
+        n.d(t, "b", function () {
+          return E;
+        });
+      var S = a.a.forwardRef(function (e, t) {
+        var n = Object(r.useContext)(o.a),
+          i = e.size,
+          l = e.variant,
+          c = e.icon,
+          u = e.children,
+          f = e.className,
+          d = e.styles,
+          p = j(e, [
+            "size",
+            "variant",
+            "icon",
+            "children",
+            "className",
+            "styles",
+          ]);
+        p.type = p.type || "button";
+        var h =
+          d ||
+          g({
+            theme: n,
+            size: i || "md",
+            variant: l || "primary",
+            textAndIcon: !(!u || !c),
+          });
+        return a.a.createElement(
+          "button",
+          k({ className: Object(s.cx)(h.button, f) }, p, { ref: t }),
+          a.a.createElement(x, { icon: c }, u)
+        );
+      });
+      S.displayName = "Button";
+      var E = a.a.forwardRef(function (e, t) {
+        var n = Object(r.useContext)(o.a),
+          i = e.size,
+          l = e.variant,
+          c = e.icon,
+          u = e.children,
+          f = e.className,
+          d = e.styles,
+          p = j(e, [
+            "size",
+            "variant",
+            "icon",
+            "children",
+            "className",
+            "styles",
+          ]),
+          h =
+            d ||
+            g({
+              theme: n,
+              size: i || "md",
+              variant: l || "primary",
+              textAndIcon: !(!u || !c),
+            });
+        return a.a.createElement(
+          "a",
+          k({ className: Object(s.cx)(h.button, f) }, p, { ref: t }),
+          a.a.createElement(x, { icon: c }, u)
+        );
+      });
+      E.displayName = "LinkButton";
+    },
+    okuo: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return o;
+      });
+      var r = n("t8hP"),
+        a = {};
+      function o(e) {
+        var t = a[e];
+        return t
+          ? Promise.resolve(t)
+          : Object(r.getBackendSrv)()
+              .get("/api/plugins/".concat(e, "/settings"))
+              .then(function (t) {
+                return (a[e] = t), t;
+              })
+              .catch(function (e) {
+                return Promise.reject("Unknown Plugin");
+              });
+      }
+    },
+    "p+Sq": function (e, t, n) {
+      "use strict";
+      n.d(t, "b", function () {
+        return g;
+      }),
+        n.d(t, "a", function () {
+          return b;
+        });
+      var r = n("Obii"),
+        a = n("txxJ"),
+        o = n("Xmxp"),
+        i = n("rd46"),
+        l = n("+JUD"),
+        s = n("GQ3c"),
+        c = n("NXk7"),
+        u = n("2KQq");
+      function f(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function d(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function p(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var h,
+        m = (function () {
+          function e(t, n) {
+            var a = this;
+            !(function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, e),
+              (this.$rootScope = t),
+              (this.$location = n),
+              (this.onRemovePanel = function (e) {
+                var t = a.getCurrent();
+                Object(l.e)(t, t.getPanelById(e), !0);
+              }),
+              (this.onPanelChangeView = function (e) {
+                var t = e.fullscreen,
+                  n = void 0 !== t && t,
+                  r = e.edit,
+                  o = void 0 !== r && r,
+                  i = e.panelId,
+                  l = a.$location.search();
+                if (n !== l.fullscreen || o !== !!l.edit) {
+                  var s = (function (e) {
+                    for (var t = 1; t < arguments.length; t++) {
+                      var n = null != arguments[t] ? arguments[t] : {};
+                      t % 2
+                        ? f(Object(n), !0).forEach(function (t) {
+                            d(e, t, n[t]);
+                          })
+                        : Object.getOwnPropertyDescriptors
+                        ? Object.defineProperties(
+                            e,
+                            Object.getOwnPropertyDescriptors(n)
+                          )
+                        : f(Object(n)).forEach(function (t) {
+                            Object.defineProperty(
+                              e,
+                              t,
+                              Object.getOwnPropertyDescriptor(n, t)
+                            );
+                          });
+                    }
+                    return e;
+                  })({}, l, {
+                    fullscreen: n || void 0,
+                    edit: o || void 0,
+                    tab: o ? l.tab : void 0,
+                    panelId: i,
+                  });
+                  Object.keys(s).forEach(function (e) {
+                    void 0 === s[e] && delete s[e];
+                  }),
+                    a.$location.search(s);
+                } else {
+                  for (
+                    var c = 0, u = ["fullscreen", "edit", "panelId", "tab"];
+                    c < u.length;
+                    c++
+                  ) {
+                    delete l[u[c]];
+                  }
+                  a.$location.search(l);
+                }
+              }),
+              o.a.on(r.PanelEvents.panelChangeView, this.onPanelChangeView),
+              o.a.on(s.CoreEvents.removePanel, this.onRemovePanel);
+          }
+          var t, n, a;
+          return (
+            (e.$inject = ["$rootScope", "$location"]),
+            (t = e),
+            (n = [
+              {
+                key: "create",
+                value: function (e, t) {
+                  return new i.a(e, t);
+                },
+              },
+              {
+                key: "setCurrent",
+                value: function (e) {
+                  this.dashboard = e;
+                },
+              },
+              {
+                key: "getCurrent",
+                value: function () {
+                  return this.dashboard;
+                },
+              },
+              {
+                key: "saveJSONDashboard",
+                value: function (e) {
+                  var t = JSON.parse(e);
+                  return Object(c.c)().saveDashboard(t, {
+                    folderId: this.dashboard.meta.folderId || t.folderId,
+                  });
+                },
+              },
+              {
+                key: "starDashboard",
+                value: function (e, t) {
+                  var n = this;
+                  return (t
+                    ? Object(u.a)(this.$rootScope)(
+                        c.b
+                          .delete("/api/user/stars/dashboard/" + e)
+                          .then(function () {
+                            return !1;
+                          })
+                      )
+                    : Object(u.a)(this.$rootScope)(
+                        c.b
+                          .post("/api/user/stars/dashboard/" + e)
+                          .then(function () {
+                            return !0;
+                          })
+                      )
+                  ).then(function (t) {
+                    return (
+                      n.dashboard &&
+                        n.dashboard.id === e &&
+                        (n.dashboard.meta.isStarred = t),
+                      t
+                    );
+                  });
+                },
+              },
+            ]) && p(t.prototype, n),
+            a && p(t, a),
+            e
+          );
+        })();
+      function g(e) {
+        h = e;
+      }
+      function b() {
+        return h;
+      }
+      a.c.service("dashboardSrv", m);
+    },
+    "pCo/": function (e, t) {
+      var n =
+        "public/app/plugins/datasource/testdata/partials/query.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<query-editor-row query-ctrl=ctrl has-text-edit-mode=false>\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">Scenario</label>\n\t\t\t<div class="gf-form-select-wrapper width-15">\n\t\t\t\t<select class=gf-form-input ng-model=ctrl.target.scenarioId ng-options="v.id as v.name for v in ctrl.scenarioList" ng-change=ctrl.scenarioChanged() aria-label={{ctrl.selectors.scenarioSelect}}></select>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class="gf-form gf-form gf-form--grow" ng-if=ctrl.scenario.stringInput>\n\t\t\t<label class="gf-form-label query-keyword">String Input</label>\n      <input type=text class=gf-form-input placeholder={{ctrl.scenario.stringInput}} ng-model=ctrl.target.stringInput ng-change=ctrl.refresh() ng-model-onblur>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword">Alias</label>\n\t\t\t<input type=text class="gf-form-input width-14" placeholder=optional ng-model=ctrl.target.alias ng-change=ctrl.refresh() ng-model-onblur>\n\t\t</div>\n\t\t<div ng-if=ctrl.showLabels class="gf-form gf-form--grow">\n\t\t\t<label class="gf-form-label query-keyword">\n\t\t\t\tLabels\n\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\tSet labels using a key=value syntax:<br/>\n\t\t\t\t\t{key="value", key2="value"}<br/>\n\t\t\t\t\tkey="value", key2="value"<br/>\n\t\t\t\t\tkey=value, key2=value<br/>\n\t\t\t\t</info-popover>\n\t\t\t</label>\n\t\t\t<input type=text class="gf-form-input gf-form--grow" placeholder="key=value, key2=value2" ng-model=ctrl.target.labels ng-change=ctrl.refresh() ng-model-onblur>\n\t\t</div>\n\t\t<div ng-if=!ctrl.showLabels class="gf-form gf-form--grow">\n\t\t\t<div class="gf-form-label gf-form-label--grow"></div>\n\t\t</div>\n\t</div>\n\t<div class=gf-form-inline ng-if="ctrl.scenario.id === \'manual_entry\'">\n\t\t<div class="gf-form gf-form">\n\t\t\t<label class="gf-form-label query-keyword width-7">New value</label>\n      <input type=number class="gf-form-input width-15" placeholder=value ng-model=ctrl.newPointValue>\n\t\t\t<label class="gf-form-label query-keyword">Time</label>\n      <input type=string class="gf-form-input width-12" placeholder=time ng-model=ctrl.newPointTime>\n\t\t\t<button class="btn btn-secondary gf-form-btn" ng-click=ctrl.addPoint()>Add</button>\n\t\t\t<label class="gf-form-label query-keyword">All values</label>\n\t\t\t<gf-form-dropdown css-class=width-12 model=ctrl.selectedPoint get-options=ctrl.getPoints() on-change=ctrl.pointSelected($option)>\n\t\t\t</gf-form-dropdown>\n\t\t</div>\n\t\t<div class="gf-form gf-form" ng-if="ctrl.selectedPoint.value !== null">\n\t\t\t<button class="btn btn-danger gf-form-btn" ng-click=ctrl.deletePoint()>Delete</button>\n\t\t</div>\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<div class="gf-form-label gf-form-label--grow"></div>\n\t\t</div>\n\t</div>\n  <div class=gf-form-inline ng-if="ctrl.scenario.id === \'random_walk\'">\n    <div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">Series count</label>\n\t\t\t<input type=number class="gf-form-input width-7" placeholder=1 ng-model=ctrl.target.seriesCount min=1 step=1 ng-change=ctrl.refresh() />\n\t\t</div>\n    <div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">Start value</label>\n\t\t\t<input type=number class="gf-form-input width-6" placeholder=auto ng-model=ctrl.target.startValue step=1 ng-change=ctrl.refresh() />\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">Spread</label>\n\t\t\t<input type=number class="gf-form-input width-6" placeholder=1 ng-model=ctrl.target.spread min=0.5 step=0.1 ng-change=ctrl.refresh() />\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">Noise</label>\n\t\t\t<input type=number class="gf-form-input width-6" placeholder=0 ng-model=ctrl.target.noise min=0 step=0.1 ng-change=ctrl.refresh() />\n\t\t</div>\n    <div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">Min</label>\n\t\t\t<input type=number class="gf-form-input width-6" placeholder=none ng-model=ctrl.target.min step=0.1 ng-change=ctrl.refresh() />\n\t\t</div>\n    <div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">Max</label>\n\t\t\t<input type=number class="gf-form-input width-6" placeholder=none ng-model=ctrl.target.max step=0.1 ng-change=ctrl.refresh() />\n\t\t</div>\n  </div>\n\t<div class=gf-form-inline ng-if="ctrl.scenario.id === \'streaming_client\'">\n\t\t<div class="gf-form gf-form">\n\t\t\t<label class="gf-form-label query-keyword width-7">Type</label>\n\t\t\t<div class=gf-form-select-wrapper>\n\t\t\t\t<select ng-model=ctrl.target.stream.type class=gf-form-input ng-options="type for type in [\'signal\',\'logs\', \'fetch\']" ng-change=ctrl.streamChanged() />\n\t\t\t\t\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword">Speed (ms)</label>\n\t\t\t<input type=number class="gf-form-input width-5" placeholder=value ng-model=ctrl.target.stream.speed min=10 step=10 ng-change=ctrl.streamChanged() />\n\t\t</div>\n\t\t<div class=gf-form ng-if="ctrl.target.stream.type === \'signal\'">\n\t\t\t<label class="gf-form-label query-keyword">Spread</label>\n\t\t\t<input type=number class="gf-form-input width-5" placeholder=value ng-model=ctrl.target.stream.spread min=0.5 step=0.1 ng-change=ctrl.streamChanged() />\n\t\t</div>\n\t\t<div class=gf-form ng-if="ctrl.target.stream.type === \'signal\'">\n\t\t\t<label class="gf-form-label query-keyword">Noise</label>\n\t\t\t<input type=number class="gf-form-input width-5" placeholder=value ng-model=ctrl.target.stream.noise min=0 step=0.1 ng-change=ctrl.streamChanged() />\n\t\t</div>\n\t\t<div class=gf-form ng-if="ctrl.target.stream.type === \'signal\'">\n\t\t\t<label class="gf-form-label query-keyword">Bands</label>\n\t\t\t<input type=number class="gf-form-input width-5" placeholder=bands ng-model=ctrl.target.stream.bands min=0 step=1 ng-change=ctrl.streamChanged() />\n\t\t</div>\n\t\t<div class="gf-form gf-form--grow" ng-if="ctrl.target.stream.type === \'fetch\'">\n\t\t\t<label class="gf-form-label query-keyword">URL</label>\n\t\t\t<input type=string class="gf-form-input gf-form-label--grow" placeholder="Fetch URL" ng-model=ctrl.target.stream.url ng-change=ctrl.streamChanged() ng-model-onblur/>\n\t\t</div>\n\t\t<div class="gf-form gf-form--grow" ng-if="ctrl.target.stream.type !== \'fetch\'">\n\t\t\t<div class="gf-form-label gf-form-label--grow"></div>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-inline ng-if="ctrl.scenario.id === \'logs\'">\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword">Lines</label>\n\t\t\t<input type=number class="gf-form-input width-5" placeholder=10 ng-model=ctrl.target.lines ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<gf-form-switch class=gf-form label=Level label-class="query-keyword width-5" checked=ctrl.target.levelColumn switch-class=max-width-6 on-change=ctrl.refresh()></gf-form-switch>\n\t\t</div>\n\t</div>\n\n\t\x3c!-- Predictable Pulse Scenario Options Form --\x3e\n\t<div class=gf-form-inline ng-if="ctrl.scenario.id === \'predictable_pulse\'">\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">\n\t\t\t\tStep\n\t\t\t\t<info-popover mode=right-normal>The number of seconds between datapoints.</info-popover>\n\t\t\t</label>\n\t\t\t\t<input type=number class="gf-form-input width-5" placeholder=60 ng-model=ctrl.target.pulseWave.timeStep ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">\n\t\t\t\tOn Count\n\t\t\t\t<info-popover mode=right-normal>The number of values within a cycle, at the start of the cycle, that should have the onValue.</info-popover>\n\t\t\t</label>\n\t\t\t<input type=number class="gf-form-input width-3" placeholder=3 ng-model=ctrl.target.pulseWave.onCount ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">\n\t\t\t\tOff Count\n\t\t\t\t<info-popover mode=right-normal>The number of offValues within the cycle.</info-popover>\n\t\t\t</label>\n\t\t\t<input type=number class="gf-form-input width-3" placeholder=6 ng-model=ctrl.target.pulseWave.offCount ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">\n\t\t\t\tOn Value\n\t\t\t\t<info-popover mode=right-normal>The value for "on values", may be a int, float, or null.</info-popover>\n\t\t\t</label>\n\t\t\t<input type=string class="gf-form-input width-5" placeholder=1 ng-model=ctrl.target.pulseWave.onValue ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-7">\n\t\t\t\tOff Value\n\t\t\t\t<info-popover mode=right-normal>The value for "off values", may be a int, float, or null.</info-popover>\n\t\t\t</label>\n\t\t\t<input type=string class="gf-form-input width-5" placeholder=1 ng-model=ctrl.target.pulseWave.offValue ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t</div>\n\t</div>\n\n\t\x3c!-- Predictable CSV Wave Scenario Options Form --\x3e\n\t<div class=gf-form-inline ng-if="ctrl.scenario.id === \'predictable_csv_wave\'">\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class="gf-form-label query-keyword width-7">\n\t\t\t\t\tStep\n\t\t\t\t\t<info-popover mode=right-normal>The number of seconds between datapoints.</info-popover>\n\t\t\t\t</label>\n\t\t\t\t\t<input type=number class="gf-form-input width-5" placeholder=60 ng-model=ctrl.target.csvWave.timeStep ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t\t</div>\n\t\t\t<div class="gf-form gf-form--grow">\n\t\t\t\t\t<label class="gf-form-label query-keyword width-10">\n\t\t\t\t\t\t\tCSV Values\n\t\t\t\t\t\t\t<info-popover mode=right-normal>Comma separated values. Each value may be an int, float, or null and must not be empty. Whitespace and trailing commas are removed.</info-popover>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t<input type=string class="gf-form-input gf-form-label--grow" placeholder=1,2,3,2 ng-model=ctrl.target.csvWave.valuesCSV ng-change=ctrl.refresh() ng-model-onblur/>\n\t\t\t\t</div>\n\t\t</div>\n</query-editor-row>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    pDgv: function (e, t) {
+      var n = "public/app/plugins/panel/graph/time_regions_form.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            "<div class=gf-form-group>\n  <div class=gf-form-inline ng-repeat=\"timeRegion in ctrl.panel.timeRegions\">\n    <div class=gf-form>\n      <label class=gf-form-label>T{{$index+1}}</label>\n    </div>\n\n    <div class=gf-form>\n      <label class=gf-form-label>From</label>\n      <div class=gf-form-select-wrapper>\n        <select class=\"gf-form-input width-6\" ng-model=timeRegion.fromDayOfWeek ng-options=\"f.d as f.value for f in [{d: undefined, value: 'Any'}, {d:1, value: 'Mon'}, {d:2, value: 'Tue'}, {d:3, value: 'Wed'}, {d:4, value: 'Thu'}, {d:5, value: 'Fri'}, {d:6, value: 'Sat'}, {d:7, value: 'Sun'}]\" ng-change=ctrl.render()></select>\n      </div>\n      <input type=text ng-maxlength=5 ng-model=timeRegion.from class=\"gf-form-input width-5\" ng-change=ctrl.render() placeholder=hh:mm>\n      <label class=gf-form-label>To</label>\n      <div class=gf-form-select-wrapper>\n        <select class=\"gf-form-input width-6\" ng-model=timeRegion.toDayOfWeek ng-options=\"f.d as f.value for f in [{d: undefined, value: 'Any'}, {d:1, value: 'Mon'}, {d:2, value: 'Tue'}, {d:3, value: 'Wed'}, {d:4, value: 'Thu'}, {d:5, value: 'Fri'}, {d:6, value: 'Sat'}, {d:7, value: 'Sun'}]\" ng-change=ctrl.render()></select>\n      </div>\n      <input type=text ng-maxlength=5 ng-model=timeRegion.to class=\"gf-form-input width-5\" ng-change=ctrl.render() placeholder=hh:mm>\n    </div>\n\n    <div class=gf-form>\n      <label class=gf-form-label>Color</label>\n      <div class=gf-form-select-wrapper>\n        <select class=gf-form-input ng-model=timeRegion.colorMode ng-options=\"f.key as f.value for f in ctrl.colorModes\" ng-change=ctrl.render()>\n        </select>\n      </div>\n    </div>\n\n    <gf-form-switch class=gf-form label=Fill checked=timeRegion.fill on-change=ctrl.render()></gf-form-switch>\n\n    <div class=gf-form ng-if=\"timeRegion.fill && timeRegion.colorMode === 'custom'\">\n      <label class=gf-form-label>Fill color</label>\n      <span class=gf-form-label>\n        <color-picker color=timeRegion.fillColor onchange=ctrl.onFillColorChange($index)></color-picker>\n      </span>\n    </div>\n\n    <gf-form-switch class=gf-form label=Line checked=timeRegion.line on-change=ctrl.render()></gf-form-switch>\n\n    <div class=gf-form ng-if=\"timeRegion.line && timeRegion.colorMode === 'custom'\">\n      <label class=gf-form-label>Line color</label>\n      <span class=gf-form-label>\n        <color-picker color=timeRegion.lineColor onchange=ctrl.onLineColorChange($index)></color-picker>\n      </span>\n    </div>\n\n    <div class=gf-form>\n      <label class=gf-form-label>\n        <a class=pointer ng-click=ctrl.removeTimeRegion($index)>\n          <i class=\"fa fa-trash\"></i>\n        </a>\n      </label>\n    </div>\n  </div>\n\n  <div class=gf-form-button-row>\n    <button class=\"btn btn-inverse\" ng-click=ctrl.addTimeRegion()>\n      <i class=\"fa fa-plus\"></i>&nbsp;Add time region<tip>All configured time regions refers to UTC time</tip>\n    </button>\n  </div>\n</div>"
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    pFCG: function (e, t, n) {
+      "use strict";
+      var r = n("F03Y");
+      function a(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function o(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var i = (function () {
+          function e() {
+            var t =
+              arguments.length > 0 && void 0 !== arguments[0]
+                ? arguments[0]
+                : 0;
+            a(this, e),
+              (this.length = 0),
+              (this.source = []),
+              (this.length = t);
+          }
+          var t, n, i;
+          return (
+            (t = e),
+            (n = [
+              {
+                key: "setLength",
+                value: function (e) {
+                  if (e > this.length) this.length = e;
+                  else if (e < this.length) {
+                    var t = [],
+                      n = !0,
+                      r = !1,
+                      a = void 0;
+                    try {
+                      for (
+                        var o, i = this.source[Symbol.iterator]();
+                        !(n = (o = i.next()).done);
+                        n = !0
+                      ) {
+                        var l = o.value;
+                        if ((t.push(l), l.end > e)) {
+                          l.end = e;
+                          break;
+                        }
+                      }
+                    } catch (e) {
+                      (r = !0), (a = e);
+                    } finally {
+                      try {
+                        n || null == i.return || i.return();
+                      } finally {
+                        if (r) throw a;
+                      }
+                    }
+                    (this.source = t), (this.length = e);
+                  }
+                },
+              },
+              {
+                key: "append",
+                value: function (e) {
+                  var t = {
+                    start: this.length,
+                    end: this.length + e.length,
+                    values: e,
+                  };
+                  return (this.length = t.end), this.source.push(t), t;
+                },
+              },
+              {
+                key: "get",
+                value: function (e) {
+                  for (var t = 0; t < this.source.length; t++) {
+                    var n = this.source[t];
+                    if (e >= n.start && e < n.end)
+                      return n.values.get(e - n.start);
+                  }
+                },
+              },
+              {
+                key: "toArray",
+                value: function () {
+                  return Object(r.a)(this);
+                },
+              },
+              {
+                key: "toJSON",
+                value: function () {
+                  return Object(r.a)(this);
+                },
+              },
+            ]) && o(t.prototype, n),
+            i && o(t, i),
+            e
+          );
+        })(),
+        l = n("0uOV"),
+        s = n("Rabt");
+      function c(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var u = (function () {
+        function e(t, n) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.value = t),
+            (this.len = n);
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "get",
+              value: function (e) {
+                return this.value;
+              },
+            },
+            {
+              key: "toArray",
+              value: function () {
+                return new Array(this.length).fill(this.value);
+              },
+            },
+            {
+              key: "toJSON",
+              value: function () {
+                return this.toArray();
+              },
+            },
+            {
+              key: "length",
+              get: function () {
+                return this.len;
+              },
+            },
+          ]) && c(t.prototype, n),
+          r && c(t, r),
+          e
+        );
+      })();
+      function f(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var d = (function () {
+          function e(t, n) {
+            !(function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, e),
+              (this.source = t),
+              (this.scale = n);
+          }
+          var t, n, a;
+          return (
+            (t = e),
+            (n = [
+              {
+                key: "get",
+                value: function (e) {
+                  return this.source.get(e) * this.scale;
+                },
+              },
+              {
+                key: "toArray",
+                value: function () {
+                  return Object(r.a)(this);
+                },
+              },
+              {
+                key: "toJSON",
+                value: function () {
+                  return Object(r.a)(this);
+                },
+              },
+              {
+                key: "length",
+                get: function () {
+                  return this.source.length;
+                },
+              },
+            ]) && f(t.prototype, n),
+            a && f(t, a),
+            e
+          );
+        })(),
+        p = n("YmbM");
+      n.d(t, "a", function () {
+        return i;
+      }),
+        n.d(t, "b", function () {
+          return l.a;
+        }),
+        n.d(t, "c", function () {
+          return s.a;
+        }),
+        n.d(t, "d", function () {
+          return u;
+        }),
+        n.d(t, "e", function () {
+          return d;
+        }),
+        n.d(t, "f", function () {
+          return p.a;
+        });
+    },
+    phJb: function (e, t) {
+      var n = "public/app/plugins/panel/alertlist/editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div>\n  <div class="section gf-form-group">\n    <h5 class=section-heading>Options</h5>\n    <div class=gf-form>\n      <span class="gf-form-label width-8">Show</span>\n      <div class="gf-form-select-wrapper max-width-15">\n        <select class=gf-form-input ng-model=ctrl.panel.show ng-options="f.value as f.text for f in ctrl.showOptions" ng-change=ctrl.onRefresh()></select>\n      </div>\n    </div>\n    <div class=gf-form>\n      <span class="gf-form-label width-8">Max items</span>\n      <input type=text class="gf-form-input max-width-15" ng-model=ctrl.panel.limit ng-change=ctrl.onRefresh() />\n    </div>\n    <div class=gf-form ng-show="ctrl.panel.show === \'current\'">\n      <span class="gf-form-label width-8">Sort order</span>\n      <div class="gf-form-select-wrapper max-width-15">\n        <select class=gf-form-input ng-model=ctrl.panel.sortOrder ng-options="f.value as f.text for f in ctrl.sortOrderOptions" ng-change=ctrl.onRefresh()></select>\n      </div>\n    </div>\n    <gf-form-switch class=gf-form label="Alerts from this dashboard" label-class=width-18 checked=ctrl.panel.onlyAlertsOnDashboard on-change=ctrl.updateStateFilter()></gf-form-switch>\n  </div>\n  <div class="section gf-form-group" ng-show="ctrl.panel.show === \'current\'">\n    <h5 class=section-heading>Filter</h5>\n    <div class=gf-form>\n      <span class="gf-form-label width-8">Alert name</span>\n      <input type=text class="gf-form-input max-width-15" ng-model=ctrl.panel.nameFilter placeholder="Alert name query" ng-change=ctrl.onRefresh() />\n    </div>\n    <div class=gf-form>\n      <span class="gf-form-label width-8">Dashboard title</span>\n      <input type=text class=gf-form-input placeholder="Dashboard title query" ng-model=ctrl.panel.dashboardFilter ng-change=ctrl.onRefresh() ng-model-onblur>\n    </div>\n    <div class=gf-form>\n      <folder-picker initial-folder-id=ctrl.panel.folderId on-change=ctrl.onFolderChange label-class=width-8 initial-title="\'All\'" enable-reset=true>\n      </folder-picker>\n    </div>\n    <div class=gf-form>\n      <span class="gf-form-label width-8">Dashboard tags</span>\n      <bootstrap-tagsinput ng-model=ctrl.panel.dashboardTags tagclass="label label-tag" placeholder="add tags" on-tags-updated=ctrl.refresh()>\n      </bootstrap-tagsinput>\n    </div>\n  </div>\n  <div class="section gf-form-group" ng-show="ctrl.panel.show === \'current\'">\n    <h5 class=section-heading>State filter</h5>\n    <gf-form-switch class=gf-form label=Ok label-class=width-10 checked="ctrl.stateFilter[\'ok\']" on-change=ctrl.updateStateFilter()></gf-form-switch>\n    <gf-form-switch class=gf-form label=Paused label-class=width-10 checked="ctrl.stateFilter[\'paused\']" on-change=ctrl.updateStateFilter()></gf-form-switch>\n    <gf-form-switch class=gf-form label="No data" label-class=width-10 checked="ctrl.stateFilter[\'no_data\']" on-change=ctrl.updateStateFilter()></gf-form-switch>\n    <gf-form-switch class=gf-form label="Execution error" label-class=width-10 checked="ctrl.stateFilter[\'execution_error\']" on-change=ctrl.updateStateFilter()></gf-form-switch>\n    <gf-form-switch class=gf-form label=Alerting label-class=width-10 checked="ctrl.stateFilter[\'alerting\']" on-change=ctrl.updateStateFilter()></gf-form-switch>\n    <gf-form-switch class=gf-form label=Pending label-class=width-10 checked="ctrl.stateFilter[\'pending\']" on-change=ctrl.updateStateFilter()></gf-form-switch>\n  </div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    pu3h: function (e, t) {},
+    qOGI: function (e, t, n) {
+      "use strict";
+      n.d(t, "b", function () {
+        return f;
+      }),
+        n.d(t, "c", function () {
+          return d;
+        }),
+        n.d(t, "d", function () {
+          return p;
+        });
+      var r = n("3ulR"),
+        a = n("Obii"),
+        o = n("i7Pf");
+      function i(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function l(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? i(Object(n), !0).forEach(function (t) {
+                s(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : i(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function s(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var c = Object(o.c)({
+          name: "alertRules",
+          initialState: { items: [], searchQuery: "", isLoading: !1 },
+          reducers: {
+            loadAlertRules: function (e) {
+              return l({}, e, { isLoading: !0 });
+            },
+            loadedAlertRules: function (e, t) {
+              var n = t.payload.map(function (e) {
+                return (function (e, t) {
+                  var n = r.a.getStateDisplayModel(t),
+                    o = l({}, e, {
+                      stateText: n.text,
+                      stateIcon: n.iconClass,
+                      stateClass: n.stateClass,
+                      stateAge: Object(a.dateTime)(e.newStateDate).fromNow(!0),
+                    });
+                  return (
+                    "paused" !== o.state &&
+                      (o.executionError &&
+                        (o.info = "Execution Error: " + o.executionError),
+                      o.evalData &&
+                        o.evalData.noData &&
+                        (o.info = "Query returned no data")),
+                    o
+                  );
+                })(e, e.state);
+              });
+              return l({}, e, { items: n, isLoading: !1 });
+            },
+            setSearchQuery: function (e, t) {
+              return l({}, e, { searchQuery: t.payload });
+            },
+          },
+        }),
+        u = c.actions,
+        f = u.loadAlertRules,
+        d = u.loadedAlertRules,
+        p = u.setSearchQuery,
+        h = c.reducer;
+      t.a = { alertRules: h };
+    },
+    qQGB: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return a;
+      });
+      var r = n("Wwog");
+      function a(e) {
+        return Object(r.a)(e);
+      }
+    },
+    qrvd: function (e, t) {
+      var n =
+        "public/app/features/dashboard/components/ExportDataModal/template.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=modal-body>\n  <div class=modal-header>\n    <h2 class=modal-header-title>\n      Export CSV\n    </h2>\n\n    <a class=modal-header-close ng-click=ctrl.dismiss();>\n      <i class="fa fa-remove"></i>\n    </a>\n  </div>\n\n  <div class=modal-content>\n    <div class=p-t-2>\n      <div class=gf-form ng-hide="ctrl.panel === \'table\'">\n        <label class="gf-form-label width-10">Mode</label>\n        <div class=gf-form-select-wrapper>\n          <select class=gf-form-input ng-model=ctrl.asRows ng-options="f.value as f.text for f in [{text: \'Series as rows\', value: true}, {text: \'Series as columns\', value: false}]">\n          </select>\n        </div>\n      </div>\n      <div class=gf-form ng-hide="ctrl.panel === \'table\'">\n        <label class="gf-form-label width-10">Date Time Format</label>\n        <input type=text class=gf-form-input ng-model=ctrl.dateTimeFormat>\n      </div>\n      <gf-form-switch class=gf-form label="Excel CSV Dialect" label-class=width-10 switch-class=max-width-6 checked=ctrl.excel>\n      </gf-form-switch>\n    </div>\n\n    <div class="gf-form-button-row text-center">\n      <a class="btn btn-primary" ng-click=ctrl.export();>Export</a>\n      <a class=btn-text ng-click=ctrl.dismiss();>Cancel</a>\n    </div>\n  </div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    rCnR: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return f;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDLi");
+      function i(e) {
+        return (i =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function l(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function s(e, t) {
+        return !t || ("object" !== i(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function c(e) {
+        return (c = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function u(e, t) {
+        return (u =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var f = (function (e) {
+        function t(e) {
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            s(this, c(t).call(this, e))
+          );
+        }
+        var n, r, i;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && u(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.label,
+                  n = e.removeIcon,
+                  r = e.count,
+                  i = Object(o.getTagColorsFromName)(t),
+                  l = { backgroundColor: i.color, borderColor: i.borderColor },
+                  s =
+                    0 !== r &&
+                    a.a.createElement(
+                      "span",
+                      { className: "tag-count-label" },
+                      "(".concat(r, ")")
+                    );
+                return a.a.createElement(
+                  "span",
+                  { className: "label label-tag", style: l },
+                  n && a.a.createElement("i", { className: "fa fa-remove" }),
+                  t,
+                  " ",
+                  s
+                );
+              },
+            },
+          ]) && l(n.prototype, r),
+          i && l(n, i),
+          t
+        );
+      })(a.a.Component);
+    },
+    rEbV: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return d;
+      });
+      var r = n("q1tI");
+      function a(e) {
+        return (a =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function o(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function i(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? o(Object(n), !0).forEach(function (t) {
+                l(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : o(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function l(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function s(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function c(e, t) {
+        return !t || ("object" !== a(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function u(e) {
+        return (u = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function f(e, t) {
+        return (f =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var d = (function (e) {
+        function t(e) {
+          var n;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            ((n = c(this, u(t).call(this, e))).showPopper = function () {
+              n.hideTimeout && clearTimeout(n.hideTimeout),
+                n.setState(function (e) {
+                  return i({}, e, { show: !0 });
+                });
+            }),
+            (n.hidePopper = function () {
+              0 === n.props.hideAfter
+                ? n.setState(function (e) {
+                    return i({}, e, { show: !1 });
+                  })
+                : (n.hideTimeout = setTimeout(function () {
+                    n.setState(function (e) {
+                      return i({}, e, { show: !1 });
+                    });
+                  }, n.props.hideAfter));
+            }),
+            (n.state = { placement: n.props.placement || "auto", show: !1 }),
+            n
+          );
+        }
+        var n, r, a;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && f(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "UNSAFE_componentWillReceiveProps",
+              value: function (e) {
+                e.placement &&
+                  e.placement !== this.state.placement &&
+                  this.setState(function (t) {
+                    return i({}, t, { placement: e.placement || "auto" });
+                  });
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.children,
+                  n = e.content,
+                  r = this.state,
+                  a = r.show,
+                  o = r.placement;
+                return t(this.showPopper, this.hidePopper, {
+                  show: a,
+                  placement: o,
+                  content: n,
+                });
+              },
+            },
+          ]) && s(n.prototype, r),
+          a && s(n, a),
+          t
+        );
+      })(n.n(r).a.Component);
+    },
+    rd46: function (e, t, n) {
+      "use strict";
+      var r = n("LvDl"),
+        a = n.n(r),
+        o = n("kDLi"),
+        i = n("eXZ6"),
+        l = n("1524"),
+        s = n("umNM");
+      function c(e) {
+        if (a.a.isArray(e)) return e.map(c);
+        if (a.a.isPlainObject(e)) {
+          var t = {},
+            n = !0,
+            r = !1,
+            o = void 0;
+          try {
+            for (
+              var i, l = a.a.keys(e).sort()[Symbol.iterator]();
+              !(n = (i = l.next()).done);
+              n = !0
+            ) {
+              var s = i.value;
+              t[s] = c(e[s]);
+            }
+          } catch (e) {
+            (r = !0), (o = e);
+          } finally {
+            try {
+              n || null == l.return || l.return();
+            } finally {
+              if (r) throw o;
+            }
+          }
+          return t;
+        }
+        return e;
+      }
+      var u = n("K47g");
+      var f = n("0Mjz"),
+        d = n("PbtU");
+      function p(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function h(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? p(Object(n), !0).forEach(function (t) {
+                m(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : p(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function m(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function g(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function b(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function v(e, t, n) {
+        return t && b(e.prototype, t), n && b(e, n), e;
+      }
+      var y = (function () {
+        function e(t) {
+          g(this, e), (this.dashboard = t);
+        }
+        return (
+          v(e, [
+            {
+              key: "updateSchema",
+              value: function (e) {
+                var t,
+                  n,
+                  r,
+                  o,
+                  l = this.dashboard.schemaVersion,
+                  s = [];
+                if (
+                  ((this.dashboard.schemaVersion = 22),
+                  l !== this.dashboard.schemaVersion)
+                ) {
+                  if (
+                    (l < 2 &&
+                      (e.services &&
+                        e.services.filter &&
+                        ((this.dashboard.time = e.services.filter.time),
+                        (this.dashboard.templating.list =
+                          e.services.filter.list || [])),
+                      s.push(function (e) {
+                        "graphite" === e.type && (e.type = "graph"),
+                          "graph" === e.type &&
+                            (a.a.isBoolean(e.legend) &&
+                              (e.legend = { show: e.legend }),
+                            e.grid &&
+                              (e.grid.min &&
+                                ((e.grid.leftMin = e.grid.min),
+                                delete e.grid.min),
+                              e.grid.max &&
+                                ((e.grid.leftMax = e.grid.max),
+                                delete e.grid.max)),
+                            e.y_format &&
+                              (e.y_formats || (e.y_formats = []),
+                              (e.y_formats[0] = e.y_format),
+                              delete e.y_format),
+                            e.y2_format &&
+                              (e.y_formats || (e.y_formats = []),
+                              (e.y_formats[1] = e.y2_format),
+                              delete e.y2_format));
+                      })),
+                    l < 3)
+                  ) {
+                    var c = this.dashboard.getNextPanelId();
+                    s.push(function (e) {
+                      e.id || ((e.id = c), (c += 1));
+                    });
+                  }
+                  if (
+                    (l < 4 &&
+                      s.push(function (e) {
+                        "graph" === e.type &&
+                          (a.a.each(e.aliasYAxis, function (t, n) {
+                            e.seriesOverrides = [{ alias: n, yaxis: t }];
+                          }),
+                          delete e.aliasYAxis);
+                      }),
+                    l < 6)
+                  ) {
+                    var u = a.a.find(e.pulldowns, { type: "annotations" });
+                    u &&
+                      (this.dashboard.annotations = {
+                        list: u.annotations || [],
+                      });
+                    var f = this.dashboard.getVariables();
+                    for (t = 0; t < f.length; t++) {
+                      var d = f[t];
+                      void 0 === d.datasource && (d.datasource = null),
+                        "filter" === d.type && (d.type = "query"),
+                        void 0 === d.type && (d.type = "query"),
+                        void 0 === d.allFormat && (d.allFormat = "glob");
+                    }
+                  }
+                  if (
+                    (l < 7 &&
+                      (e.nav &&
+                        e.nav.length &&
+                        (this.dashboard.timepicker = e.nav[0]),
+                      s.push(function (e) {
+                        a.a.each(e.targets, function (t) {
+                          t.refId ||
+                            (t.refId =
+                              e.getNextQueryLetter && e.getNextQueryLetter());
+                        });
+                      })),
+                    l < 8 &&
+                      s.push(function (e) {
+                        a.a.each(e.targets, function (e) {
+                          e.fields &&
+                            e.tags &&
+                            e.groupBy &&
+                            (e.rawQuery
+                              ? (delete e.fields, delete e.fill)
+                              : ((e.select = a.a.map(e.fields, function (e) {
+                                  var t = [];
+                                  return (
+                                    t.push({ type: "field", params: [e.name] }),
+                                    t.push({ type: e.func, params: [] }),
+                                    e.mathExpr &&
+                                      t.push({
+                                        type: "math",
+                                        params: [e.mathExpr],
+                                      }),
+                                    e.asExpr &&
+                                      t.push({
+                                        type: "alias",
+                                        params: [e.asExpr],
+                                      }),
+                                    t
+                                  );
+                                })),
+                                delete e.fields,
+                                a.a.each(e.groupBy, function (e) {
+                                  "time" === e.type &&
+                                    e.interval &&
+                                    ((e.params = [e.interval]),
+                                    delete e.interval),
+                                    "tag" === e.type &&
+                                      e.key &&
+                                      ((e.params = [e.key]), delete e.key);
+                                }),
+                                e.fill &&
+                                  (e.groupBy.push({
+                                    type: "fill",
+                                    params: [e.fill],
+                                  }),
+                                  delete e.fill)));
+                        });
+                      }),
+                    l < 9 &&
+                      s.push(function (e) {
+                        if (
+                          ("singlestat" === e.type || "" === e.thresholds) &&
+                          e.thresholds
+                        ) {
+                          var t = e.thresholds.split(",");
+                          t.length >= 3 &&
+                            (t.shift(), (e.thresholds = t.join(",")));
+                        }
+                      }),
+                    l < 10 &&
+                      s.push(function (e) {
+                        "table" === e.type &&
+                          a.a.each(e.styles, function (e) {
+                            if (e.thresholds && e.thresholds.length >= 3) {
+                              var t = e.thresholds;
+                              t.shift(), (e.thresholds = t);
+                            }
+                          });
+                      }),
+                    l < 12 &&
+                      a.a.each(this.dashboard.getVariables(), function (e) {
+                        e.refresh && (e.refresh = 1),
+                          e.refresh || (e.refresh = 0),
+                          e.hideVariable
+                            ? (e.hide = 2)
+                            : e.hideLabel && (e.hide = 1);
+                      }),
+                    l < 12 &&
+                      s.push(function (e) {
+                        "graph" === e.type &&
+                          e.grid &&
+                          (e.yaxes ||
+                            ((e.yaxes = [
+                              {
+                                show: e["y-axis"],
+                                min: e.grid.leftMin,
+                                max: e.grid.leftMax,
+                                logBase: e.grid.leftLogBase,
+                                format: e.y_formats[0],
+                                label: e.leftYAxisLabel,
+                              },
+                              {
+                                show: e["y-axis"],
+                                min: e.grid.rightMin,
+                                max: e.grid.rightMax,
+                                logBase: e.grid.rightLogBase,
+                                format: e.y_formats[1],
+                                label: e.rightYAxisLabel,
+                              },
+                            ]),
+                            (e.xaxis = { show: e["x-axis"] }),
+                            delete e.grid.leftMin,
+                            delete e.grid.leftMax,
+                            delete e.grid.leftLogBase,
+                            delete e.grid.rightMin,
+                            delete e.grid.rightMax,
+                            delete e.grid.rightLogBase,
+                            delete e.y_formats,
+                            delete e.leftYAxisLabel,
+                            delete e.rightYAxisLabel,
+                            delete e["y-axis"],
+                            delete e["x-axis"]));
+                      }),
+                    l < 13 &&
+                      s.push(function (e) {
+                        if ("graph" === e.type && e.grid) {
+                          e.thresholds || (e.thresholds = []);
+                          var t = {},
+                            n = {};
+                          null !== e.grid.threshold1 &&
+                            ((t.value = e.grid.threshold1),
+                            e.grid.thresholdLine
+                              ? ((t.line = !0),
+                                (t.lineColor = e.grid.threshold1Color),
+                                (t.colorMode = "custom"))
+                              : ((t.fill = !0),
+                                (t.fillColor = e.grid.threshold1Color),
+                                (t.colorMode = "custom"))),
+                            null !== e.grid.threshold2 &&
+                              ((n.value = e.grid.threshold2),
+                              e.grid.thresholdLine
+                                ? ((n.line = !0),
+                                  (n.lineColor = e.grid.threshold2Color),
+                                  (n.colorMode = "custom"))
+                                : ((n.fill = !0),
+                                  (n.fillColor = e.grid.threshold2Color),
+                                  (n.colorMode = "custom"))),
+                            a.a.isNumber(t.value) &&
+                              (a.a.isNumber(n.value)
+                                ? t.value > n.value
+                                  ? ((t.op = n.op = "lt"),
+                                    e.thresholds.push(t),
+                                    e.thresholds.push(n))
+                                  : ((t.op = n.op = "gt"),
+                                    e.thresholds.push(t),
+                                    e.thresholds.push(n))
+                                : ((t.op = "gt"), e.thresholds.push(t))),
+                            delete e.grid.threshold1,
+                            delete e.grid.threshold1Color,
+                            delete e.grid.threshold2,
+                            delete e.grid.threshold2Color,
+                            delete e.grid.thresholdLine;
+                        }
+                      }),
+                    l < 14 &&
+                      (this.dashboard.graphTooltip = e.sharedCrosshair ? 1 : 0),
+                    l < 16 && this.upgradeToGridLayout(e),
+                    l < 17 &&
+                      s.push(function (e) {
+                        if (e.minSpan) {
+                          var t = i.f / e.minSpan,
+                            n =
+                              ((r = i.f),
+                              Array.from(new Array(r + 1), function (e, t) {
+                                return t;
+                              }).filter(function (e) {
+                                return r % e == 0;
+                              }));
+                          e.maxPerRow =
+                            n[
+                              a.a.findIndex(n, function (e) {
+                                return e > t;
+                              }) - 1
+                            ];
+                        }
+                        var r;
+                        delete e.minSpan;
+                      }),
+                    l < 18 &&
+                      s.push(function (e) {
+                        e["options-gauge"] &&
+                          ((e.options = e["options-gauge"]),
+                          (e.options.valueOptions = {
+                            unit: e.options.unit,
+                            stat: e.options.stat,
+                            decimals: e.options.decimals,
+                            prefix: e.options.prefix,
+                            suffix: e.options.suffix,
+                          }),
+                          e.options.thresholds &&
+                            e.options.thresholds.reverse(),
+                          delete e.options.options,
+                          delete e.options.unit,
+                          delete e.options.stat,
+                          delete e.options.decimals,
+                          delete e.options.prefix,
+                          delete e.options.suffix,
+                          delete e["options-gauge"]);
+                      }),
+                    l < 19 &&
+                      s.push(function (e) {
+                        e.links &&
+                          a.a.isArray(e.links) &&
+                          (e.links = e.links.map(x));
+                      }),
+                    l < 20)
+                  ) {
+                    var p = function (e) {
+                      return h({}, e, { url: k(e.url) });
+                    };
+                    s.push(function (e) {
+                      e.options &&
+                        e.options.dataLinks &&
+                        a.a.isArray(e.options.dataLinks) &&
+                        (e.options.dataLinks = e.options.dataLinks.map(p)),
+                        e.options &&
+                          e.options.fieldOptions &&
+                          e.options.fieldOptions.defaults &&
+                          (e.options.fieldOptions.defaults.links &&
+                            a.a.isArray(
+                              e.options.fieldOptions.defaults.links
+                            ) &&
+                            (e.options.fieldOptions.defaults.links = e.options.fieldOptions.defaults.links.map(
+                              p
+                            )),
+                          e.options.fieldOptions.defaults.title &&
+                            (e.options.fieldOptions.defaults.title = k(
+                              e.options.fieldOptions.defaults.title
+                            )));
+                    });
+                  }
+                  if (l < 21) {
+                    var m = function (e) {
+                      return h({}, e, {
+                        url: e.url.replace(
+                          /__series.labels/g,
+                          "__field.labels"
+                        ),
+                      });
+                    };
+                    s.push(function (e) {
+                      e.options &&
+                        e.options.dataLinks &&
+                        a.a.isArray(e.options.dataLinks) &&
+                        (e.options.dataLinks = e.options.dataLinks.map(m)),
+                        e.options &&
+                          e.options.fieldOptions &&
+                          e.options.fieldOptions.defaults &&
+                          e.options.fieldOptions.defaults.links &&
+                          a.a.isArray(e.options.fieldOptions.defaults.links) &&
+                          (e.options.fieldOptions.defaults.links = e.options.fieldOptions.defaults.links.map(
+                            m
+                          ));
+                    });
+                  }
+                  if (
+                    (l < 22 &&
+                      s.push(function (e) {
+                        "table" === e.type &&
+                          a.a.each(e.styles, function (e) {
+                            e.align = "auto";
+                          });
+                      }),
+                    0 !== s.length)
+                  )
+                    for (n = 0; n < this.dashboard.panels.length; n++)
+                      for (r = 0; r < s.length; r++)
+                        if (
+                          (s[r].call(this, this.dashboard.panels[n]),
+                          this.dashboard.panels[n].panels)
+                        )
+                          for (
+                            o = 0;
+                            o < this.dashboard.panels[n].panels.length;
+                            o++
+                          )
+                            s[r].call(this, this.dashboard.panels[n].panels[o]);
+                }
+              },
+            },
+            {
+              key: "upgradeToGridLayout",
+              value: function (e) {
+                var t = 0,
+                  n = i.f / 12,
+                  r =
+                    a.a.max(
+                      a.a.flattenDeep(
+                        a.a.map(e.rows, function (e) {
+                          return a.a.map(e.panels, "id");
+                        })
+                      )
+                    ) + 1;
+                if (e.rows) {
+                  var o = a.a.some(e.rows, function (e) {
+                      return e.collapse || e.showTitle || e.repeat;
+                    }),
+                    l = !0,
+                    s = !1,
+                    c = void 0;
+                  try {
+                    for (
+                      var f, d = e.rows[Symbol.iterator]();
+                      !(l = (f = d.next()).done);
+                      l = !0
+                    ) {
+                      var p = f.value;
+                      if (!p.repeatIteration) {
+                        var h = w(p.height || i.b),
+                          m = {},
+                          g = void 0;
+                        o &&
+                          ((m.id = r),
+                          (m.type = "row"),
+                          (m.title = p.title),
+                          (m.collapsed = p.collapse),
+                          (m.repeat = p.repeat),
+                          (m.panels = []),
+                          (m.gridPos = { x: 0, y: t, w: i.f, h: h }),
+                          (g = new u.a(m)),
+                          r++,
+                          t++);
+                        var b = new O(h, i.f, t),
+                          v = !0,
+                          y = !1,
+                          x = void 0;
+                        try {
+                          for (
+                            var k, j = p.panels[Symbol.iterator]();
+                            !(v = (k = j.next()).done);
+                            v = !0
+                          ) {
+                            var S = k.value;
+                            (S.span = S.span || i.a),
+                              S.minSpan &&
+                                (S.minSpan = Math.min(
+                                  i.f,
+                                  (i.f / 12) * S.minSpan
+                                ));
+                            var E = Math.floor(S.span) * n,
+                              C = S.height ? w(S.height) : h,
+                              P = b.getPanelPosition(C, E);
+                            (t = b.yPos),
+                              (S.gridPos = { x: P.x, y: t + P.y, w: E, h: C }),
+                              b.addPanel(S.gridPos),
+                              delete S.span,
+                              g && m.collapsed
+                                ? g.panels.push(S)
+                                : this.dashboard.panels.push(new u.a(S));
+                          }
+                        } catch (e) {
+                          (y = !0), (x = e);
+                        } finally {
+                          try {
+                            v || null == j.return || j.return();
+                          } finally {
+                            if (y) throw x;
+                          }
+                        }
+                        g && this.dashboard.panels.push(g),
+                          (g && m.collapsed) || (t += h);
+                      }
+                    }
+                  } catch (e) {
+                    (s = !0), (c = e);
+                  } finally {
+                    try {
+                      l || null == d.return || d.return();
+                    } finally {
+                      if (s) throw c;
+                    }
+                  }
+                }
+              },
+            },
+          ]),
+          e
+        );
+      })();
+      function w(e) {
+        return (
+          a.a.isString(e) && (e = parseInt(e.replace("px", ""), 10)),
+          e < i.h && (e = i.h),
+          Math.ceil(e / (i.d + i.e))
+        );
+      }
+      var O = (function () {
+        function e(t) {
+          var n =
+              arguments.length > 1 && void 0 !== arguments[1]
+                ? arguments[1]
+                : i.f,
+            r =
+              arguments.length > 2 && void 0 !== arguments[2]
+                ? arguments[2]
+                : 0;
+          g(this, e),
+            (this.area = new Array(n).fill(0)),
+            (this.yPos = r),
+            (this.height = t);
+        }
+        return (
+          v(e, [
+            {
+              key: "reset",
+              value: function () {
+                this.area.fill(0);
+              },
+            },
+            {
+              key: "addPanel",
+              value: function (e) {
+                for (var t = e.x; t < e.x + e.w; t++)
+                  (!this.area[t] || e.y + e.h - this.yPos > this.area[t]) &&
+                    (this.area[t] = e.y + e.h - this.yPos);
+                return this.area;
+              },
+            },
+            {
+              key: "getPanelPosition",
+              value: function (e, t) {
+                for (
+                  var n,
+                    r,
+                    o =
+                      arguments.length > 2 &&
+                      void 0 !== arguments[2] &&
+                      arguments[2],
+                    i = this.area.length - 1;
+                  i >= 0 && this.height - this.area[i] > 0;
+                  i--
+                )
+                  if (void 0 === r) r = i;
+                  else {
+                    if (
+                      !(
+                        i < this.area.length - 1 &&
+                        this.area[i] <= this.area[i + 1]
+                      )
+                    )
+                      break;
+                    n = i;
+                  }
+                if (!(void 0 !== n && void 0 !== r && r - n >= t - 1))
+                  return o
+                    ? null
+                    : ((this.yPos += this.height),
+                      this.reset(),
+                      this.getPanelPosition(e, t, !0));
+                var l = a.a.max(this.area.slice(n));
+                return { x: n, y: l };
+              },
+            },
+          ]),
+          e
+        );
+      })();
+      function x(e) {
+        var t = e.url;
+        return (
+          !t &&
+            e.dashboard &&
+            (t = "dashboard/db/".concat(d.a.slugifyForUrl(e.dashboard))),
+          !t && e.dashUri && (t = "dashboard/".concat(e.dashUri)),
+          t || (t = "/"),
+          e.keepTime &&
+            (t = Object(f.a)(t, "$".concat(o.DataLinkBuiltInVars.keepTime))),
+          e.includeVars &&
+            (t = Object(f.a)(t, "$".concat(o.DataLinkBuiltInVars.includeVars))),
+          e.params && (t = Object(f.a)(t, e.params)),
+          { url: t, title: e.title, targetBlank: e.targetBlank }
+        );
+      }
+      function k(e) {
+        return e.replace(
+          /(__series_name)|(\$__series_name)|(__value_time)|(__field_name)|(\$__field_name)/g,
+          function (e, t, n, r, a, o) {
+            return t
+              ? "__series.name"
+              : n
+              ? "${__series.name}"
+              : r
+              ? "__value.time"
+              : a
+              ? "__field.name"
+              : o
+              ? "${__field.name}"
+              : e;
+          }
+        );
+      }
+      var j = n("Obii"),
+        S = n("GQ3c"),
+        E = n("ZFWI"),
+        C = n("Yyu/"),
+        P = n("+CPp");
+      function T(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function D(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      n.d(t, "a", function () {
+        return A;
+      });
+      var A = (function () {
+        function e(t, n) {
+          var r = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.getVariables = function () {
+              return Object(E.c)().featureToggles.newVariables
+                ? r.variables.list
+                : r.templating.list;
+            }),
+            t || (t = {}),
+            (this.events = new l.a()),
+            (this.id = t.id || null),
+            (this.uid = t.uid || null),
+            (this.revision = t.revision),
+            (this.title = t.title || "No Title"),
+            (this.autoUpdate = t.autoUpdate),
+            (this.description = t.description),
+            (this.tags = t.tags || []),
+            (this.style = t.style || "dark"),
+            (this.timezone = t.timezone || ""),
+            (this.editable = !1 !== t.editable),
+            (this.graphTooltip = t.graphTooltip || 0),
+            (this.time = t.time || { from: "now-6h", to: "now" }),
+            (this.timepicker = t.timepicker || {}),
+            (this.templating = this.ensureListExist(t.templating)),
+            (this.variables = this.ensureListExist(t.variables)),
+            (this.annotations = this.ensureListExist(t.annotations)),
+            (this.refresh = t.refresh),
+            (this.snapshot = t.snapshot),
+            (this.schemaVersion = t.schemaVersion || 0),
+            (this.version = t.version || 0),
+            (this.links = t.links || []),
+            (this.gnetId = t.gnetId || null),
+            (this.panels = a.a.map(t.panels || [], function (e) {
+              return new u.a(e);
+            })),
+            this.resetOriginalVariables(!0),
+            this.resetOriginalTime(),
+            this.initMeta(n),
+            this.updateSchema(t),
+            this.addBuiltInAnnotationQuery(),
+            this.sortPanelsByGridPos();
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "addBuiltInAnnotationQuery",
+              value: function () {
+                var e = !1,
+                  t = !0,
+                  n = !1,
+                  r = void 0;
+                try {
+                  for (
+                    var a, i = this.annotations.list[Symbol.iterator]();
+                    !(t = (a = i.next()).done);
+                    t = !0
+                  )
+                    if (1 === a.value.builtIn) {
+                      e = !0;
+                      break;
+                    }
+                } catch (e) {
+                  (n = !0), (r = e);
+                } finally {
+                  try {
+                    t || null == i.return || i.return();
+                  } finally {
+                    if (n) throw r;
+                  }
+                }
+                e ||
+                  this.annotations.list.unshift({
+                    datasource: "-- Grafana --",
+                    name: "Annotations & Alerts",
+                    type: "dashboard",
+                    iconColor: o.DEFAULT_ANNOTATION_COLOR,
+                    enable: !0,
+                    hide: !0,
+                    builtIn: 1,
+                  });
+              },
+            },
+            {
+              key: "initMeta",
+              value: function (e) {
+                ((e = e || {}).canShare = !1 !== e.canShare),
+                  (e.canSave = !1 !== e.canSave),
+                  (e.canStar = !1 !== e.canStar),
+                  (e.canEdit = !1 !== e.canEdit),
+                  (e.showSettings = e.canEdit),
+                  (e.canMakeEditable = e.canSave && !this.editable),
+                  (e.fullscreen = !1),
+                  (e.isEditing = !1),
+                  this.editable ||
+                    ((e.canEdit = !1), (e.canDelete = !1), (e.canSave = !1)),
+                  (this.meta = e);
+              },
+            },
+            {
+              key: "getSaveModelClone",
+              value: function (t) {
+                var n = a.a.defaults(t || {}, {
+                    saveVariables: !0,
+                    saveTimerange: !0,
+                  }),
+                  r = {};
+                for (var o in this)
+                  !e.nonPersistedProperties[o] &&
+                    this.hasOwnProperty(o) &&
+                    (r[o] = a.a.cloneDeep(this[o]));
+                return (
+                  this.updateTemplatingSaveModelClone(r, n),
+                  n.saveTimerange || (r.time = this.originalTime),
+                  (r.panels = a.a
+                    .chain(this.panels)
+                    .filter(function (e) {
+                      return "add-panel" !== e.type;
+                    })
+                    .map(function (e) {
+                      return e.getSaveModel();
+                    })
+                    .value()),
+                  ((r = c(r)).getVariables = function () {
+                    return Object(E.c)().featureToggles.newVariables
+                      ? r.variables.list
+                      : r.templating.list;
+                  }),
+                  r
+                );
+              },
+            },
+            {
+              key: "updateTemplatingSaveModelClone",
+              value: function (e, t) {
+                Object(E.c)().featureToggles.newVariables &&
+                  this.updateTemplatingSaveModel(e, t),
+                  this.updateAngularTemplatingSaveModel(e, t);
+              },
+            },
+            {
+              key: "updateAngularTemplatingSaveModel",
+              value: function (e, t) {
+                if (
+                  ((e.templating = {
+                    list: a.a.map(this.templating.list, function (e) {
+                      return e.getSaveModel ? e.getSaveModel() : e;
+                    }),
+                  }),
+                  !t.saveVariables)
+                )
+                  for (var n = 0; n < e.templating.list.length; n++) {
+                    var r = e.templating.list[n],
+                      o = a.a.find(this.originalTemplating, {
+                        name: r.name,
+                        type: r.type,
+                      });
+                    o &&
+                      ("adhoc" === r.type
+                        ? (e.templating.list[n].filters = o.filters)
+                        : (e.templating.list[n].current = o.current));
+                  }
+              },
+            },
+            {
+              key: "updateTemplatingSaveModel",
+              value: function (e, t) {
+                var n = this.variables.list,
+                  r = Object(C.d)();
+                if (
+                  ((e.variables = {
+                    list: r.map(function (e) {
+                      return P.a.get(e.type).getSaveModel(e);
+                    }),
+                  }),
+                  !t.saveVariables)
+                )
+                  for (var o = 0; o < e.variables.list.length; o++) {
+                    var i = e.variables.list[o],
+                      l = a.a.find(n, { name: i.name, type: i.type });
+                    l &&
+                      ("adhoc" === i.type
+                        ? (e.variables.list[o].filters = l.filters)
+                        : (e.variables.list[o].current = l.current));
+                  }
+              },
+            },
+            {
+              key: "setViewMode",
+              value: function (e, t, n) {
+                (this.meta.fullscreen = t),
+                  (this.meta.isEditing = n && this.meta.canEdit),
+                  e.setViewMode(t, this.meta.isEditing),
+                  this.events.emit(j.PanelEvents.viewModeChanged, e);
+              },
+            },
+            {
+              key: "timeRangeUpdated",
+              value: function (e) {
+                this.events.emit(S.CoreEvents.timeRangeUpdated, e);
+              },
+            },
+            {
+              key: "startRefresh",
+              value: function () {
+                if ((this.events.emit(j.PanelEvents.refresh), this.panelInEdit))
+                  this.panelInEdit.refresh();
+                else {
+                  var e = !0,
+                    t = !1,
+                    n = void 0;
+                  try {
+                    for (
+                      var r, a = this.panels[Symbol.iterator]();
+                      !(e = (r = a.next()).done);
+                      e = !0
+                    ) {
+                      var o = r.value;
+                      this.otherPanelInFullscreen(o) || o.refresh();
+                    }
+                  } catch (e) {
+                    (t = !0), (n = e);
+                  } finally {
+                    try {
+                      e || null == a.return || a.return();
+                    } finally {
+                      if (t) throw n;
+                    }
+                  }
+                }
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                this.events.emit(j.PanelEvents.render);
+                var e = !0,
+                  t = !1,
+                  n = void 0;
+                try {
+                  for (
+                    var r, a = this.panels[Symbol.iterator]();
+                    !(e = (r = a.next()).done);
+                    e = !0
+                  )
+                    r.value.render();
+                } catch (e) {
+                  (t = !0), (n = e);
+                } finally {
+                  try {
+                    e || null == a.return || a.return();
+                  } finally {
+                    if (t) throw n;
+                  }
+                }
+              },
+            },
+            {
+              key: "panelInitialized",
+              value: function (e) {
+                e.initialized(),
+                  this.otherPanelInFullscreen(e) || e.refresh(),
+                  this.panelInEdit !== e ||
+                    this.panelInEdit.getQueryRunner().getLastResult() ||
+                    e.refresh();
+              },
+            },
+            {
+              key: "otherPanelInFullscreen",
+              value: function (e) {
+                return (
+                  (this.meta.fullscreen && !e.fullscreen) || this.panelInEdit
+                );
+              },
+            },
+            {
+              key: "initPanelEditor",
+              value: function (e) {
+                return (this.panelInEdit = e.getEditClone()), this.panelInEdit;
+              },
+            },
+            {
+              key: "exitPanelEditor",
+              value: function () {
+                this.panelInEdit = void 0;
+              },
+            },
+            {
+              key: "ensureListExist",
+              value: function (e) {
+                return e || (e = {}), e.list || (e.list = []), e;
+              },
+            },
+            {
+              key: "getNextPanelId",
+              value: function () {
+                var e = 0,
+                  t = !0,
+                  n = !1,
+                  r = void 0;
+                try {
+                  for (
+                    var a, o = this.panels[Symbol.iterator]();
+                    !(t = (a = o.next()).done);
+                    t = !0
+                  ) {
+                    var i = a.value;
+                    if ((i.id > e && (e = i.id), i.collapsed)) {
+                      var l = !0,
+                        s = !1,
+                        c = void 0;
+                      try {
+                        for (
+                          var u, f = i.panels[Symbol.iterator]();
+                          !(l = (u = f.next()).done);
+                          l = !0
+                        ) {
+                          var d = u.value;
+                          d.id > e && (e = d.id);
+                        }
+                      } catch (e) {
+                        (s = !0), (c = e);
+                      } finally {
+                        try {
+                          l || null == f.return || f.return();
+                        } finally {
+                          if (s) throw c;
+                        }
+                      }
+                    }
+                  }
+                } catch (e) {
+                  (n = !0), (r = e);
+                } finally {
+                  try {
+                    t || null == o.return || o.return();
+                  } finally {
+                    if (n) throw r;
+                  }
+                }
+                return e + 1;
+              },
+            },
+            {
+              key: "forEachPanel",
+              value: function (e) {
+                for (var t = 0; t < this.panels.length; t++)
+                  e(this.panels[t], t);
+              },
+            },
+            {
+              key: "getPanelById",
+              value: function (e) {
+                var t = !0,
+                  n = !1,
+                  r = void 0;
+                try {
+                  for (
+                    var a, o = this.panels[Symbol.iterator]();
+                    !(t = (a = o.next()).done);
+                    t = !0
+                  ) {
+                    var i = a.value;
+                    if (i.id === e) return i;
+                  }
+                } catch (e) {
+                  (n = !0), (r = e);
+                } finally {
+                  try {
+                    t || null == o.return || o.return();
+                  } finally {
+                    if (n) throw r;
+                  }
+                }
+                return null;
+              },
+            },
+            {
+              key: "canEditPanel",
+              value: function (e) {
+                return this.meta.canEdit && e && !e.repeatPanelId;
+              },
+            },
+            {
+              key: "canEditPanelById",
+              value: function (e) {
+                return this.canEditPanel(this.getPanelById(e));
+              },
+            },
+            {
+              key: "addPanel",
+              value: function (e) {
+                e.id = this.getNextPanelId();
+                var t = new u.a(e);
+                this.panels.unshift(t),
+                  this.sortPanelsByGridPos(),
+                  this.events.emit(u.b, t);
+              },
+            },
+            {
+              key: "sortPanelsByGridPos",
+              value: function () {
+                this.panels.sort(function (e, t) {
+                  return e.gridPos.y === t.gridPos.y
+                    ? e.gridPos.x - t.gridPos.x
+                    : e.gridPos.y - t.gridPos.y;
+                });
+              },
+            },
+            {
+              key: "cleanUpRepeats",
+              value: function () {
+                if (!this.isSnapshotTruthy() && this.hasVariables()) {
+                  this.iteration = (this.iteration || new Date().getTime()) + 1;
+                  var e = [],
+                    t = !0,
+                    n = !1,
+                    r = void 0;
+                  try {
+                    for (
+                      var o, i = this.panels[Symbol.iterator]();
+                      !(t = (o = i.next()).done);
+                      t = !0
+                    )
+                      delete o.value.scopedVars;
+                  } catch (e) {
+                    (n = !0), (r = e);
+                  } finally {
+                    try {
+                      t || null == i.return || i.return();
+                    } finally {
+                      if (n) throw r;
+                    }
+                  }
+                  for (var l = 0; l < this.panels.length; l++) {
+                    var s = this.panels[l];
+                    (s.repeat && !s.repeatedByRow) ||
+                      !s.repeatPanelId ||
+                      s.repeatIteration === this.iteration ||
+                      e.push(s);
+                  }
+                  a.a.pull.apply(a.a, [this.panels].concat(e)),
+                    e.map(function (e) {
+                      return e.destroy();
+                    }),
+                    this.sortPanelsByGridPos(),
+                    this.events.emit(S.CoreEvents.repeatsProcessed);
+                }
+              },
+            },
+            {
+              key: "processRepeats",
+              value: function () {
+                if (!this.isSnapshotTruthy() && this.hasVariables()) {
+                  this.cleanUpRepeats(),
+                    (this.iteration =
+                      (this.iteration || new Date().getTime()) + 1);
+                  for (var e = 0; e < this.panels.length; e++) {
+                    var t = this.panels[e];
+                    t.repeat && this.repeatPanel(t, e);
+                  }
+                  this.sortPanelsByGridPos(),
+                    this.events.emit(S.CoreEvents.repeatsProcessed);
+                }
+              },
+            },
+            {
+              key: "cleanUpRowRepeats",
+              value: function (e) {
+                for (var t = [], n = 0; n < e.length; n++) {
+                  var r = e[n];
+                  !r.repeat && r.repeatPanelId && t.push(r);
+                }
+                a.a.pull.apply(a.a, [e].concat(t)),
+                  a.a.pull.apply(a.a, [this.panels].concat(t));
+              },
+            },
+            {
+              key: "processRowRepeats",
+              value: function (e) {
+                var t = this;
+                if (!this.isSnapshotTruthy() && this.hasVariables()) {
+                  var n = e.panels;
+                  if (!e.collapsed) {
+                    var r = a.a.findIndex(this.panels, function (t) {
+                      return t.id === e.id;
+                    });
+                    n = this.getRowPanels(r);
+                  }
+                  this.cleanUpRowRepeats(n);
+                  for (
+                    var o = function (e) {
+                        var r = n[e];
+                        if (r.repeat) {
+                          var o = a.a.findIndex(t.panels, function (e) {
+                            return e.id === r.id;
+                          });
+                          t.repeatPanel(r, o);
+                        }
+                      },
+                      i = 0;
+                    i < n.length;
+                    i++
+                  )
+                    o(i);
+                }
+              },
+            },
+            {
+              key: "getPanelRepeatClone",
+              value: function (e, t, n) {
+                if (0 === t) return e;
+                var r = new u.a(e.getSaveModel());
+                return (
+                  (r.id = this.getNextPanelId()),
+                  this.panels.splice(n + t, 0, r),
+                  (r.repeatIteration = this.iteration),
+                  (r.repeatPanelId = e.id),
+                  (r.repeat = null),
+                  r
+                );
+              },
+            },
+            {
+              key: "getRowRepeatClone",
+              value: function (e, t, n) {
+                if (0 === t) {
+                  if (!e.collapsed) {
+                    var r = this.getRowPanels(n);
+                    e.panels = r;
+                  }
+                  return e;
+                }
+                var o,
+                  i,
+                  l = new u.a(e.getSaveModel());
+                return (
+                  e.collapsed
+                    ? ((o = a.a.cloneDeep(e.panels)),
+                      (l.panels = o),
+                      (i = n + t))
+                    : ((o = this.getRowPanels(n)),
+                      (l.panels = a.a.map(o, function (e) {
+                        return e.getSaveModel();
+                      })),
+                      (i = n + (o.length + 1) * t)),
+                  this.panels.splice(i, 0, l),
+                  this.updateRepeatedPanelIds(l),
+                  l
+                );
+              },
+            },
+            {
+              key: "repeatPanel",
+              value: function (e, t) {
+                var n = this.getPanelRepeatVariable(e);
+                if (n)
+                  if ("row" !== e.type) {
+                    for (
+                      var r = this.getSelectedVariableOptions(n),
+                        a = e.maxPerRow || 4,
+                        o = 0,
+                        l = e.gridPos.y,
+                        s = 0;
+                      s < r.length;
+                      s++
+                    ) {
+                      var c = r[s],
+                        u = void 0;
+                      ((u = this.getPanelRepeatClone(e, s, t)).scopedVars =
+                        u.scopedVars || {}),
+                        (u.scopedVars[n.name] = c),
+                        e.repeatDirection === i.j
+                          ? (s > 0 && (l += u.gridPos.h), (u.gridPos.y = l))
+                          : ((u.gridPos.w = Math.max(i.f / r.length, i.f / a)),
+                            (u.gridPos.x = o),
+                            (u.gridPos.y = l),
+                            (o += u.gridPos.w) + u.gridPos.w > i.f &&
+                              ((o = 0), (l += u.gridPos.h)));
+                    }
+                    var f = l - e.gridPos.y;
+                    if (f > 0)
+                      for (var d = t + r.length; d < this.panels.length; d++)
+                        this.panels[d].gridPos.y += f;
+                  } else this.repeatRow(e, t, n);
+              },
+            },
+            {
+              key: "repeatRow",
+              value: function (e, t, n) {
+                var r = this,
+                  o = this.getSelectedVariableOptions(n),
+                  i = e.gridPos.y;
+                function l(e, t) {
+                  (e.scopedVars = e.scopedVars || {}),
+                    (e.scopedVars[n.name] = t);
+                }
+                for (
+                  var s = function (n) {
+                      var s = o[n],
+                        c = r.getRowRepeatClone(e, n, t);
+                      l(c, s);
+                      var f = r.getRowHeight(c),
+                        d = c.panels || [],
+                        p = void 0;
+                      if (e.collapsed)
+                        a.a.each(d, function (e, t) {
+                          l(e, s), n > 0 && r.updateRepeatedPanelIds(e, !0);
+                        }),
+                          (c.gridPos.y += n),
+                          (i += n),
+                          (p = t + n + 1);
+                      else {
+                        var h = t + (d.length + 1) * n + 1;
+                        a.a.each(d, function (e, t) {
+                          if ((l(e, s), n > 0)) {
+                            var a = new u.a(e);
+                            r.updateRepeatedPanelIds(a, !0),
+                              (a.gridPos.y += f * n),
+                              r.panels.splice(h + t, 0, a);
+                          }
+                        }),
+                          (c.panels = []),
+                          (c.gridPos.y += f * n),
+                          (i += f),
+                          (p = h + d.length);
+                      }
+                      for (var m = p; m < r.panels.length; m++)
+                        r.panels[m].gridPos.y += i;
+                    },
+                    c = 0;
+                  c < o.length;
+                  c++
+                )
+                  s(c);
+              },
+            },
+            {
+              key: "updateRepeatedPanelIds",
+              value: function (e, t) {
+                return (
+                  (e.repeatPanelId = e.id),
+                  (e.id = this.getNextPanelId()),
+                  (e.repeatIteration = this.iteration),
+                  t ? (e.repeatedByRow = !0) : (e.repeat = null),
+                  e
+                );
+              },
+            },
+            {
+              key: "getSelectedVariableOptions",
+              value: function (e) {
+                return "All" === e.current.text
+                  ? e.options.slice(1, e.options.length)
+                  : a.a.filter(e.options, { selected: !0 });
+              },
+            },
+            {
+              key: "getRowHeight",
+              value: function (e) {
+                if (!e.panels || 0 === e.panels.length) return 0;
+                var t = e.gridPos.y,
+                  n = a.a.map(e.panels, "gridPos"),
+                  r = a.a.maxBy(n, function (e) {
+                    return e.y + e.h;
+                  });
+                return r.y + r.h - t;
+              },
+            },
+            {
+              key: "removePanel",
+              value: function (e) {
+                var t = a.a.indexOf(this.panels, e);
+                this.panels.splice(t, 1), this.events.emit(u.c, e);
+              },
+            },
+            {
+              key: "removeRow",
+              value: function (e, t) {
+                ((!t && e.collapsed) || (t && !e.collapsed)) &&
+                  this.toggleRow(e),
+                  this.removePanel(e);
+              },
+            },
+            {
+              key: "expandRows",
+              value: function () {
+                for (var e = 0; e < this.panels.length; e++) {
+                  var t = this.panels[e];
+                  "row" === t.type && t.collapsed && this.toggleRow(t);
+                }
+              },
+            },
+            {
+              key: "collapseRows",
+              value: function () {
+                for (var e = 0; e < this.panels.length; e++) {
+                  var t = this.panels[e];
+                  "row" === t.type && (t.collapsed || this.toggleRow(t));
+                }
+              },
+            },
+            {
+              key: "setPanelFocus",
+              value: function (e) {
+                this.meta.focusPanelId = e;
+              },
+            },
+            {
+              key: "updateSubmenuVisibility",
+              value: function () {
+                var e = this;
+                (this.meta.submenuEnabled =
+                  e.links.length > 0 ||
+                  a.a.filter(e.templating.list, function (e) {
+                    return 2 !== e.hide;
+                  }).length > 0 ||
+                  a.a.filter(e.annotations.list, function (e) {
+                    return !0 !== e.hide;
+                  }).length > 0),
+                  this.events.emit(
+                    S.CoreEvents.submenuVisibilityChanged,
+                    this.meta.submenuEnabled
+                  );
+              },
+            },
+            {
+              key: "getPanelInfoById",
+              value: function (e) {
+                for (var t = 0; t < this.panels.length; t++)
+                  if (this.panels[t].id === e)
+                    return { panel: this.panels[t], index: t };
+                return null;
+              },
+            },
+            {
+              key: "duplicatePanel",
+              value: function (e) {
+                var t = e.getSaveModel();
+                return (
+                  (t.id = this.getNextPanelId()),
+                  delete t.repeat,
+                  delete t.repeatIteration,
+                  delete t.repeatPanelId,
+                  delete t.scopedVars,
+                  t.alert && delete t.thresholds,
+                  delete t.alert,
+                  e.gridPos.x + 2 * e.gridPos.w <= i.f
+                    ? (t.gridPos.x += e.gridPos.w)
+                    : (t.gridPos.y += e.gridPos.h),
+                  this.addPanel(t),
+                  t
+                );
+              },
+            },
+            {
+              key: "formatDate",
+              value: function (e, t) {
+                return (
+                  (e = Object(j.isDateTime)(e) ? e : Object(j.dateTime)(e)),
+                  (t = t || "YYYY-MM-DD HH:mm:ss"),
+                  "browser" === this.getTimezone()
+                    ? Object(j.dateTime)(e).format(t)
+                    : Object(j.toUtc)(e).format(t)
+                );
+              },
+            },
+            {
+              key: "destroy",
+              value: function () {
+                this.events.removeAllListeners();
+                var e = !0,
+                  t = !1,
+                  n = void 0;
+                try {
+                  for (
+                    var r, a = this.panels[Symbol.iterator]();
+                    !(e = (r = a.next()).done);
+                    e = !0
+                  )
+                    r.value.destroy();
+                } catch (e) {
+                  (t = !0), (n = e);
+                } finally {
+                  try {
+                    e || null == a.return || a.return();
+                  } finally {
+                    if (t) throw n;
+                  }
+                }
+              },
+            },
+            {
+              key: "toggleRow",
+              value: function (e) {
+                var t = a.a.indexOf(this.panels, e);
+                if (e.collapsed) {
+                  e.collapsed = !1;
+                  var n = a.a.some(e.panels, function (e) {
+                    return e.repeat;
+                  });
+                  if (e.panels.length > 0) {
+                    var r = e.panels[0].gridPos.y - (e.gridPos.y + e.gridPos.h),
+                      o = t + 1,
+                      i = e.gridPos.y,
+                      l = !0,
+                      s = !1,
+                      c = void 0;
+                    try {
+                      for (
+                        var f, d = e.panels[Symbol.iterator]();
+                        !(l = (f = d.next()).done);
+                        l = !0
+                      ) {
+                        var p = f.value;
+                        (p.gridPos.y -= r),
+                          this.panels.splice(o, 0, new u.a(p)),
+                          (o += 1),
+                          (i = Math.max(i, p.gridPos.y + p.gridPos.h));
+                      }
+                    } catch (e) {
+                      (s = !0), (c = e);
+                    } finally {
+                      try {
+                        l || null == d.return || d.return();
+                      } finally {
+                        if (s) throw c;
+                      }
+                    }
+                    for (
+                      var h = i - e.gridPos.y - 1, m = o;
+                      m < this.panels.length;
+                      m++
+                    )
+                      this.panels[m].gridPos.y += h;
+                    (e.panels = []), n && this.processRowRepeats(e);
+                  }
+                  return (
+                    this.sortPanelsByGridPos(),
+                    void this.events.emit(S.CoreEvents.rowExpanded)
+                  );
+                }
+                var g = this.getRowPanels(t);
+                a.a.pull.apply(a.a, [this.panels].concat(T(g))),
+                  (e.panels = a.a.map(g, function (e) {
+                    return e.getSaveModel();
+                  })),
+                  (e.collapsed = !0),
+                  this.events.emit(S.CoreEvents.rowCollapsed);
+              },
+            },
+            {
+              key: "getRowPanels",
+              value: function (e) {
+                for (var t = [], n = e + 1; n < this.panels.length; n++) {
+                  var r = this.panels[n];
+                  if ("row" === r.type) break;
+                  t.push(r);
+                }
+                return t;
+              },
+            },
+            {
+              key: "on",
+              value: function (e, t) {
+                this.events.on(e, t);
+              },
+            },
+            {
+              key: "off",
+              value: function (e, t) {
+                this.events.off(e, t);
+              },
+            },
+            {
+              key: "cycleGraphTooltip",
+              value: function () {
+                this.graphTooltip = (this.graphTooltip + 1) % 3;
+              },
+            },
+            {
+              key: "sharedTooltipModeEnabled",
+              value: function () {
+                return this.graphTooltip > 0;
+              },
+            },
+            {
+              key: "sharedCrosshairModeOnly",
+              value: function () {
+                return 1 === this.graphTooltip;
+              },
+            },
+            {
+              key: "getRelativeTime",
+              value: function (e) {
+                return (
+                  (e = Object(j.isDateTime)(e) ? e : Object(j.dateTime)(e)),
+                  "browser" === this.timezone
+                    ? Object(j.dateTime)(e).fromNow()
+                    : Object(j.toUtc)(e).fromNow()
+                );
+              },
+            },
+            {
+              key: "isTimezoneUtc",
+              value: function () {
+                return "utc" === this.getTimezone();
+              },
+            },
+            {
+              key: "isSnapshot",
+              value: function () {
+                return void 0 !== this.snapshot;
+              },
+            },
+            {
+              key: "getTimezone",
+              value: function () {
+                return this.timezone ? this.timezone : s.a.user.timezone;
+              },
+            },
+            {
+              key: "updateSchema",
+              value: function (e) {
+                new y(this).updateSchema(e);
+              },
+            },
+            {
+              key: "resetOriginalTime",
+              value: function () {
+                this.originalTime = a.a.cloneDeep(this.time);
+              },
+            },
+            {
+              key: "hasTimeChanged",
+              value: function () {
+                return !a.a.isEqual(this.time, this.originalTime);
+              },
+            },
+            {
+              key: "resetOriginalVariables",
+              value: function () {
+                var e =
+                  arguments.length > 0 &&
+                  void 0 !== arguments[0] &&
+                  arguments[0];
+                Object(E.c)().featureToggles.newVariables ||
+                  (this.originalTemplating = this.cloneVariablesFrom(
+                    this.templating.list
+                  )),
+                  !e &&
+                    Object(E.c)().featureToggles.newVariables &&
+                    (this.variables.list = this.cloneVariablesFrom(
+                      Object(C.d)()
+                    ));
+              },
+            },
+            {
+              key: "hasVariableValuesChanged",
+              value: function () {
+                return Object(E.c)().featureToggles.newVariables
+                  ? this.hasVariablesChanged(this.variables.list, Object(C.d)())
+                  : this.hasVariablesChanged(
+                      this.originalTemplating,
+                      this.templating.list
+                    );
+              },
+            },
+            {
+              key: "autoFitPanels",
+              value: function (e, t) {
+                var n = Math.max.apply(
+                    Math,
+                    T(
+                      this.panels.map(function (e) {
+                        return e.gridPos.h + e.gridPos.y;
+                      })
+                    )
+                  ),
+                  r = e - 55 - 20;
+                this.meta.submenuEnabled && !t && (r -= 50),
+                  t && t !== S.KIOSK_MODE_TV && (r += 55);
+                var a = n / Math.floor(r / (i.d + i.e));
+                this.panels.forEach(function (e, t) {
+                  (e.gridPos.y = Math.round(e.gridPos.y / a) || 1),
+                    (e.gridPos.h = Math.round(e.gridPos.h / a) || 1);
+                });
+              },
+            },
+            {
+              key: "templateVariableValueUpdated",
+              value: function () {
+                this.processRepeats(),
+                  this.events.emit(S.CoreEvents.templateVariableValueUpdated);
+              },
+            },
+            {
+              key: "expandParentRowFor",
+              value: function (e) {
+                var t = !0,
+                  n = !1,
+                  r = void 0;
+                try {
+                  for (
+                    var a, o = this.panels[Symbol.iterator]();
+                    !(t = (a = o.next()).done);
+                    t = !0
+                  ) {
+                    var i = a.value;
+                    if (i.collapsed) {
+                      var l = !0,
+                        s = !1,
+                        c = void 0;
+                      try {
+                        for (
+                          var u, f = i.panels[Symbol.iterator]();
+                          !(l = (u = f.next()).done);
+                          l = !0
+                        )
+                          if (u.value.id === e) return void this.toggleRow(i);
+                      } catch (e) {
+                        (s = !0), (c = e);
+                      } finally {
+                        try {
+                          l || null == f.return || f.return();
+                        } finally {
+                          if (s) throw c;
+                        }
+                      }
+                    }
+                  }
+                } catch (e) {
+                  (n = !0), (r = e);
+                } finally {
+                  try {
+                    t || null == o.return || o.return();
+                  } finally {
+                    if (n) throw r;
+                  }
+                }
+              },
+            },
+            {
+              key: "toggleLegendsForAll",
+              value: function () {
+                var e = this.panels.filter(function (e) {
+                    return void 0 !== e.legend && null !== e.legend;
+                  }),
+                  t = e.filter(function (e) {
+                    return e.legend.show;
+                  }).length,
+                  n = t >= e.length - t,
+                  r = !0,
+                  a = !1,
+                  o = void 0;
+                try {
+                  for (
+                    var i, l = e[Symbol.iterator]();
+                    !(r = (i = l.next()).done);
+                    r = !0
+                  ) {
+                    var s = i.value;
+                    (s.legend.show = !n), s.render();
+                  }
+                } catch (e) {
+                  (a = !0), (o = e);
+                } finally {
+                  try {
+                    r || null == l.return || l.return();
+                  } finally {
+                    if (a) throw o;
+                  }
+                }
+              },
+            },
+            {
+              key: "getPanelRepeatVariable",
+              value: function (e) {
+                return Object(E.c)().featureToggles.newVariables
+                  ? Object(C.d)().find(function (t) {
+                      return t.name === e.repeat;
+                    })
+                  : a.a.find(this.templating.list, { name: e.repeat });
+              },
+            },
+            {
+              key: "isSnapshotTruthy",
+              value: function () {
+                return this.snapshot;
+              },
+            },
+            {
+              key: "hasVariables",
+              value: function () {
+                return Object(E.c)().featureToggles.newVariables
+                  ? Object(C.d)().length > 0
+                  : this.templating.list.length > 0;
+              },
+            },
+            {
+              key: "hasVariablesChanged",
+              value: function (e, t) {
+                if (e.length !== t.length) return !1;
+                var n = a.a.map(t, function (e) {
+                  return {
+                    name: e.name,
+                    type: e.type,
+                    current: a.a.cloneDeep(e.current),
+                    filters: a.a.cloneDeep(e.filters),
+                  };
+                });
+                return !a.a.isEqual(n, e);
+              },
+            },
+            {
+              key: "cloneVariablesFrom",
+              value: function (e) {
+                return e.map(function (e) {
+                  return {
+                    name: e.name,
+                    type: e.type,
+                    current: a.a.cloneDeep(e.current),
+                    filters: a.a.cloneDeep(e.filters),
+                  };
+                });
+              },
+            },
+          ]) && D(t.prototype, n),
+          r && D(t, r),
+          e
+        );
+      })();
+      A.nonPersistedProperties = {
+        events: !0,
+        meta: !0,
+        panels: !0,
+        templating: !0,
+        originalTime: !0,
+        originalTemplating: !0,
+        panelInEdit: !0,
+      };
+    },
+    "s+LN": function (e, t) {
+      var n =
+        "public/app/plugins/datasource/opentsdb/partials/annotations.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=gf-form-group>\n  <div class=gf-form>\n    <span class="gf-form-label width-13">OpenTSDB metrics query</span>\n    <input type=text class=gf-form-input ng-model=ctrl.annotation.target placeholder=events.eventname>\n  </div>\n  <gf-form-switch class=gf-form label="Show Global Annotations?" checked=ctrl.annotation.isGlobal switch-class=max-width-6 label-class=width-13></gf-form-switch>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    sAJe: function (e, t, n) {
+      "use strict";
+      n.d(t, "h", function () {
+        return u;
+      }),
+        n.d(t, "q", function () {
+          return d;
+        }),
+        n.d(t, "n", function () {
+          return p;
+        }),
+        n.d(t, "f", function () {
+          return h;
+        }),
+        n.d(t, "g", function () {
+          return m;
+        }),
+        n.d(t, "e", function () {
+          return g;
+        }),
+        n.d(t, "r", function () {
+          return b;
+        }),
+        n.d(t, "a", function () {
+          return y;
+        }),
+        n.d(t, "p", function () {
+          return w;
+        }),
+        n.d(t, "d", function () {
+          return O;
+        }),
+        n.d(t, "m", function () {
+          return k;
+        }),
+        n.d(t, "l", function () {
+          return j;
+        }),
+        n.d(t, "j", function () {
+          return S;
+        }),
+        n.d(t, "o", function () {
+          return E;
+        }),
+        n.d(t, "i", function () {
+          return C;
+        }),
+        n.d(t, "k", function () {
+          return P;
+        }),
+        n.d(t, "b", function () {
+          return T;
+        }),
+        n.d(t, "c", function () {
+          return D;
+        });
+      var r = n("3SGO"),
+        a = n("ZFWI"),
+        o = n("Obii"),
+        i = n("t8hP"),
+        l = n("YiuE");
+      function s(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function c(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              s(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              s(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function u(e) {
+        return (function () {
+          var t = c(
+            regeneratorRuntime.mark(function t(n) {
+              var r;
+              return regeneratorRuntime.wrap(
+                function (t) {
+                  for (;;)
+                    switch ((t.prev = t.next)) {
+                      case 0:
+                        return (
+                          (t.prev = 0),
+                          n(Object(l.h)(!1)),
+                          (t.next = 4),
+                          n(f(e))
+                        );
+                      case 4:
+                        return (t.next = 6), n(v(e));
+                      case 6:
+                        return (t.next = 8), n(x(e));
+                      case 8:
+                        if (!a.b.ldapEnabled || !a.b.licenseInfo.hasLicense) {
+                          t.next = 11;
+                          break;
+                        }
+                        return (t.next = 11), n(S());
+                      case 11:
+                        n(Object(l.h)(!0)), (t.next = 20);
+                        break;
+                      case 14:
+                        (t.prev = 14),
+                          (t.t0 = t.catch(0)),
+                          console.log(t.t0),
+                          (t.t0.isHandled = !0),
+                          (r = {
+                            title: t.t0.data.message,
+                            body: t.t0.data.error,
+                          }),
+                          n(Object(l.g)(r));
+                      case 20:
+                      case "end":
+                        return t.stop();
+                    }
+                },
+                t,
+                null,
+                [[0, 14]]
+              );
+            })
+          );
+          return function (e) {
+            return t.apply(this, arguments);
+          };
+        })();
+      }
+      function f(e) {
+        return (function () {
+          var t = c(
+            regeneratorRuntime.mark(function t(n) {
+              var r;
+              return regeneratorRuntime.wrap(function (t) {
+                for (;;)
+                  switch ((t.prev = t.next)) {
+                    case 0:
+                      return (
+                        (t.next = 2),
+                        Object(i.getBackendSrv)().get("/api/users/".concat(e))
+                      );
+                    case 2:
+                      (r = t.sent), n(Object(l.l)(r));
+                    case 4:
+                    case "end":
+                      return t.stop();
+                  }
+              }, t);
+            })
+          );
+          return function (e) {
+            return t.apply(this, arguments);
+          };
+        })();
+      }
+      function d(e) {
+        return (function () {
+          var t = c(
+            regeneratorRuntime.mark(function t(n) {
+              return regeneratorRuntime.wrap(function (t) {
+                for (;;)
+                  switch ((t.prev = t.next)) {
+                    case 0:
+                      return (
+                        (t.next = 2),
+                        Object(i.getBackendSrv)().put(
+                          "/api/users/".concat(e.id),
+                          e
+                        )
+                      );
+                    case 2:
+                      n(u(e.id));
+                    case 3:
+                    case "end":
+                      return t.stop();
+                  }
+              }, t);
+            })
+          );
+          return function (e) {
+            return t.apply(this, arguments);
+          };
+        })();
+      }
+      function p(e, t) {
+        return (function () {
+          var n = c(
+            regeneratorRuntime.mark(function n(r) {
+              var a;
+              return regeneratorRuntime.wrap(function (n) {
+                for (;;)
+                  switch ((n.prev = n.next)) {
+                    case 0:
+                      return (
+                        (a = { password: t }),
+                        (n.next = 3),
+                        Object(i.getBackendSrv)().put(
+                          "/api/admin/users/".concat(e, "/password"),
+                          a
+                        )
+                      );
+                    case 3:
+                      r(u(e));
+                    case 4:
+                    case "end":
+                      return n.stop();
+                  }
+              }, n);
+            })
+          );
+          return function (e) {
+            return n.apply(this, arguments);
+          };
+        })();
+      }
+      function h(e) {
+        return (function () {
+          var t = c(
+            regeneratorRuntime.mark(function t(n) {
+              return regeneratorRuntime.wrap(function (t) {
+                for (;;)
+                  switch ((t.prev = t.next)) {
+                    case 0:
+                      return (
+                        (t.next = 2),
+                        Object(i.getBackendSrv)().post(
+                          "/api/admin/users/".concat(e, "/disable")
+                        )
+                      );
+                    case 2:
+                      n(Object(r.c)({ path: "/admin/users" }));
+                    case 3:
+                    case "end":
+                      return t.stop();
+                  }
+              }, t);
+            })
+          );
+          return function (e) {
+            return t.apply(this, arguments);
+          };
+        })();
+      }
+      function m(e) {
+        return (function () {
+          var t = c(
+            regeneratorRuntime.mark(function t(n) {
+              return regeneratorRuntime.wrap(function (t) {
+                for (;;)
+                  switch ((t.prev = t.next)) {
+                    case 0:
+                      return (
+                        (t.next = 2),
+                        Object(i.getBackendSrv)().post(
+                          "/api/admin/users/".concat(e, "/enable")
+                        )
+                      );
+                    case 2:
+                      n(u(e));
+                    case 3:
+                    case "end":
+                      return t.stop();
+                  }
+              }, t);
+            })
+          );
+          return function (e) {
+            return t.apply(this, arguments);
+          };
+        })();
+      }
+      function g(e) {
+        return (function () {
+          var t = c(
+            regeneratorRuntime.mark(function t(n) {
+              return regeneratorRuntime.wrap(function (t) {
+                for (;;)
+                  switch ((t.prev = t.next)) {
+                    case 0:
+                      return (
+                        (t.next = 2),
+                        Object(i.getBackendSrv)().delete(
+                          "/api/admin/users/".concat(e)
+                        )
+                      );
+                    case 2:
+                      n(Object(r.c)({ path: "/admin/users" }));
+                    case 3:
+                    case "end":
+                      return t.stop();
+                  }
+              }, t);
+            })
+          );
+          return function (e) {
+            return t.apply(this, arguments);
+          };
+        })();
+      }
+      function b(e, t) {
+        return (function () {
+          var n = c(
+            regeneratorRuntime.mark(function n(r) {
+              var a;
+              return regeneratorRuntime.wrap(function (n) {
+                for (;;)
+                  switch ((n.prev = n.next)) {
+                    case 0:
+                      return (
+                        (a = { isGrafanaAdmin: t }),
+                        (n.next = 3),
+                        Object(i.getBackendSrv)().put(
+                          "/api/admin/users/".concat(e, "/permissions"),
+                          a
+                        )
+                      );
+                    case 3:
+                      r(u(e));
+                    case 4:
+                    case "end":
+                      return n.stop();
+                  }
+              }, n);
+            })
+          );
+          return function (e) {
+            return n.apply(this, arguments);
+          };
+        })();
+      }
+      function v(e) {
+        return (function () {
+          var t = c(
+            regeneratorRuntime.mark(function t(n) {
+              var r;
+              return regeneratorRuntime.wrap(function (t) {
+                for (;;)
+                  switch ((t.prev = t.next)) {
+                    case 0:
+                      return (
+                        (t.next = 2),
+                        Object(i.getBackendSrv)().get(
+                          "/api/users/".concat(e, "/orgs")
+                        )
+                      );
+                    case 2:
+                      (r = t.sent), n(Object(l.k)(r));
+                    case 4:
+                    case "end":
+                      return t.stop();
+                  }
+              }, t);
+            })
+          );
+          return function (e) {
+            return t.apply(this, arguments);
+          };
+        })();
+      }
+      function y(e, t, n) {
+        return (function () {
+          var r = c(
+            regeneratorRuntime.mark(function r(a) {
+              var o;
+              return regeneratorRuntime.wrap(function (r) {
+                for (;;)
+                  switch ((r.prev = r.next)) {
+                    case 0:
+                      return (
+                        (o = { loginOrEmail: e.login, role: n }),
+                        (r.next = 3),
+                        Object(i.getBackendSrv)().post(
+                          "/api/orgs/".concat(t, "/users/"),
+                          o
+                        )
+                      );
+                    case 3:
+                      a(u(e.id));
+                    case 4:
+                    case "end":
+                      return r.stop();
+                  }
+              }, r);
+            })
+          );
+          return function (e) {
+            return r.apply(this, arguments);
+          };
+        })();
+      }
+      function w(e, t, n) {
+        return (function () {
+          var r = c(
+            regeneratorRuntime.mark(function r(a) {
+              var o;
+              return regeneratorRuntime.wrap(function (r) {
+                for (;;)
+                  switch ((r.prev = r.next)) {
+                    case 0:
+                      return (
+                        (o = { role: n }),
+                        (r.next = 3),
+                        Object(i.getBackendSrv)().patch(
+                          "/api/orgs/".concat(t, "/users/").concat(e),
+                          o
+                        )
+                      );
+                    case 3:
+                      a(u(e));
+                    case 4:
+                    case "end":
+                      return r.stop();
+                  }
+              }, r);
+            })
+          );
+          return function (e) {
+            return r.apply(this, arguments);
+          };
+        })();
+      }
+      function O(e, t) {
+        return (function () {
+          var n = c(
+            regeneratorRuntime.mark(function n(r) {
+              return regeneratorRuntime.wrap(function (n) {
+                for (;;)
+                  switch ((n.prev = n.next)) {
+                    case 0:
+                      return (
+                        (n.next = 2),
+                        Object(i.getBackendSrv)().delete(
+                          "/api/orgs/".concat(t, "/users/").concat(e)
+                        )
+                      );
+                    case 2:
+                      r(u(e));
+                    case 3:
+                    case "end":
+                      return n.stop();
+                  }
+              }, n);
+            })
+          );
+          return function (e) {
+            return n.apply(this, arguments);
+          };
+        })();
+      }
+      function x(e) {
+        return (function () {
+          var t = c(
+            regeneratorRuntime.mark(function t(n) {
+              var r, a;
+              return regeneratorRuntime.wrap(function (t) {
+                for (;;)
+                  switch ((t.prev = t.next)) {
+                    case 0:
+                      return (
+                        (t.next = 2),
+                        Object(i.getBackendSrv)().get(
+                          "/api/admin/users/".concat(e, "/auth-tokens")
+                        )
+                      );
+                    case 2:
+                      (r = t.sent).reverse(),
+                        (a = r.map(function (e) {
+                          return {
+                            id: e.id,
+                            isActive: e.isActive,
+                            seenAt: Object(o.dateTime)(e.seenAt).fromNow(),
+                            createdAt: Object(o.dateTime)(e.createdAt).format(
+                              "MMMM DD, YYYY"
+                            ),
+                            clientIp: e.clientIp,
+                            browser: e.browser,
+                            browserVersion: e.browserVersion,
+                            os: e.os,
+                            osVersion: e.osVersion,
+                            device: e.device,
+                          };
+                        })),
+                        n(Object(l.m)(a));
+                    case 6:
+                    case "end":
+                      return t.stop();
+                  }
+              }, t);
+            })
+          );
+          return function (e) {
+            return t.apply(this, arguments);
+          };
+        })();
+      }
+      function k(e, t) {
+        return (function () {
+          var n = c(
+            regeneratorRuntime.mark(function n(r) {
+              var a;
+              return regeneratorRuntime.wrap(function (n) {
+                for (;;)
+                  switch ((n.prev = n.next)) {
+                    case 0:
+                      return (
+                        (a = { authTokenId: e }),
+                        (n.next = 3),
+                        Object(i.getBackendSrv)().post(
+                          "/api/admin/users/".concat(t, "/revoke-auth-token"),
+                          a
+                        )
+                      );
+                    case 3:
+                      r(x(t));
+                    case 4:
+                    case "end":
+                      return n.stop();
+                  }
+              }, n);
+            })
+          );
+          return function (e) {
+            return n.apply(this, arguments);
+          };
+        })();
+      }
+      function j(e) {
+        return (function () {
+          var t = c(
+            regeneratorRuntime.mark(function t(n) {
+              return regeneratorRuntime.wrap(function (t) {
+                for (;;)
+                  switch ((t.prev = t.next)) {
+                    case 0:
+                      return (
+                        (t.next = 2),
+                        Object(i.getBackendSrv)().post(
+                          "/api/admin/users/".concat(e, "/logout")
+                        )
+                      );
+                    case 2:
+                      n(x(e));
+                    case 3:
+                    case "end":
+                      return t.stop();
+                  }
+              }, t);
+            })
+          );
+          return function (e) {
+            return t.apply(this, arguments);
+          };
+        })();
+      }
+      function S() {
+        return (function () {
+          var e = c(
+            regeneratorRuntime.mark(function e(t) {
+              var n;
+              return regeneratorRuntime.wrap(function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      if (!a.b.licenseInfo.hasLicense) {
+                        e.next = 5;
+                        break;
+                      }
+                      return (
+                        (e.next = 3),
+                        Object(i.getBackendSrv)().get(
+                          "/api/admin/ldap-sync-status"
+                        )
+                      );
+                    case 3:
+                      (n = e.sent), t(Object(l.f)(n));
+                    case 5:
+                    case "end":
+                      return e.stop();
+                  }
+              }, e);
+            })
+          );
+          return function (t) {
+            return e.apply(this, arguments);
+          };
+        })();
+      }
+      function E(e) {
+        return (function () {
+          var t = c(
+            regeneratorRuntime.mark(function t(n) {
+              return regeneratorRuntime.wrap(function (t) {
+                for (;;)
+                  switch ((t.prev = t.next)) {
+                    case 0:
+                      return (
+                        (t.next = 2),
+                        Object(i.getBackendSrv)().post(
+                          "/api/admin/ldap/sync/".concat(e)
+                        )
+                      );
+                    case 2:
+                      n(u(e));
+                    case 3:
+                    case "end":
+                      return t.stop();
+                  }
+              }, t);
+            })
+          );
+          return function (e) {
+            return t.apply(this, arguments);
+          };
+        })();
+      }
+      function C() {
+        return (function () {
+          var e = c(
+            regeneratorRuntime.mark(function e(t) {
+              var n, r;
+              return regeneratorRuntime.wrap(
+                function (e) {
+                  for (;;)
+                    switch ((e.prev = e.next)) {
+                      case 0:
+                        return (
+                          (e.prev = 0),
+                          (e.next = 3),
+                          Object(i.getBackendSrv)().get(
+                            "/api/admin/ldap/status"
+                          )
+                        );
+                      case 3:
+                        (n = e.sent), t(Object(l.d)(n)), (e.next = 12);
+                        break;
+                      case 7:
+                        (e.prev = 7),
+                          (e.t0 = e.catch(0)),
+                          (e.t0.isHandled = !0),
+                          (r = {
+                            title: e.t0.data.message,
+                            body: e.t0.data.error,
+                          }),
+                          t(Object(l.e)(r));
+                      case 12:
+                      case "end":
+                        return e.stop();
+                    }
+                },
+                e,
+                null,
+                [[0, 7]]
+              );
+            })
+          );
+          return function (t) {
+            return e.apply(this, arguments);
+          };
+        })();
+      }
+      function P(e) {
+        return (function () {
+          var t = c(
+            regeneratorRuntime.mark(function t(n) {
+              var r, a, o, s, c, u, f, d, p, h, m;
+              return regeneratorRuntime.wrap(
+                function (t) {
+                  for (;;)
+                    switch ((t.prev = t.next)) {
+                      case 0:
+                        return (
+                          (t.prev = 0),
+                          (t.next = 3),
+                          Object(i.getBackendSrv)().get(
+                            "/api/admin/ldap/".concat(e)
+                          )
+                        );
+                      case 3:
+                        (r = t.sent),
+                          (a = r.name),
+                          (o = r.surname),
+                          (s = r.email),
+                          (c = r.login),
+                          (u = r.isGrafanaAdmin),
+                          (f = r.isDisabled),
+                          (d = r.roles),
+                          (p = r.teams),
+                          (h = {
+                            info: { name: a, surname: o, email: s, login: c },
+                            permissions: { isGrafanaAdmin: u, isDisabled: f },
+                            roles: d,
+                            teams: p,
+                          }),
+                          n(Object(l.j)(h)),
+                          (t.next = 15);
+                        break;
+                      case 9:
+                        (t.prev = 9),
+                          (t.t0 = t.catch(0)),
+                          (t.t0.isHandled = !0),
+                          (m = {
+                            title: t.t0.data.message,
+                            body: t.t0.data.error,
+                          }),
+                          n(Object(l.b)()),
+                          n(Object(l.i)(m));
+                      case 15:
+                      case "end":
+                        return t.stop();
+                    }
+                },
+                t,
+                null,
+                [[0, 9]]
+              );
+            })
+          );
+          return function (e) {
+            return t.apply(this, arguments);
+          };
+        })();
+      }
+      function T() {
+        return function (e) {
+          e(Object(l.a)());
+        };
+      }
+      function D() {
+        return function (e) {
+          e(Object(l.a)()), e(Object(l.b)());
+        };
+      }
+    },
+    sBLX: function (e, t, n) {
+      "use strict";
+      var r;
+      n.d(t, "a", function () {
+        return r;
+      }),
+        (function (e) {
+          (e.left = "left"), (e.right = "right");
+        })(r || (r = {}));
+    },
+    sH2m: function (e, t, n) {
+      "use strict";
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDDq"),
+        i = n("EwfM");
+      function l(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      var s = n("MIBK"),
+        c = n("Al41"),
+        u = n("VtFO"),
+        f = n("AWKi");
+      function d() {
+        var e = g(["\n            overflow: hidden;\n          "]);
+        return (
+          (d = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function p() {
+        var e = g([
+          "\n    width: 100%;\n    height: 100%;\n    position: absolute;\n  ",
+        ]);
+        return (
+          (p = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function h() {
+        var e = g([
+          "\n    width: 16px;\n    height: 16px;\n    display: inline-block;\n    margin-right: 10px;\n    position: relative;\n    vertical-align: middle;\n    overflow: hidden;\n  ",
+        ]);
+        return (
+          (h = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function m() {
+        var e = g([
+          "\n    label: singleValue;\n    color: ",
+          ";\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    box-sizing: border-box;\n    max-width: 100%;\n    /* padding-right: 40px; */\n  ",
+        ]);
+        return (
+          (m = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function g(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      n.d(t, "a", function () {
+        return v;
+      });
+      var b = Object(s.g)(function (e) {
+          return {
+            singleValue: Object(o.css)(m(), e.colors.formInputText),
+            container: Object(o.css)(h()),
+            item: Object(o.css)(p()),
+          };
+        }),
+        v = function (e) {
+          var t = e.children,
+            n = e.data,
+            u = Object(s.h)(),
+            p = b(u),
+            h = (function (e) {
+              var t =
+                  arguments.length > 1 && void 0 !== arguments[1]
+                    ? arguments[1]
+                    : {},
+                n = t.duration,
+                a = void 0 === n ? 250 : n,
+                o = t.delay,
+                i = void 0 === o ? 250 : o,
+                s = Object(r.useState)(e),
+                c = l(s, 2),
+                u = c[0],
+                f = c[1],
+                d = Object(r.useRef)();
+              return (
+                Object(r.useEffect)(
+                  function () {
+                    var t;
+                    if (e)
+                      t = setTimeout(function () {
+                        (d.current = new Date()), f(e);
+                      }, i);
+                    else {
+                      var n = d.current ? Date.now() - d.current.valueOf() : 0,
+                        r = function () {
+                          (d.current = void 0), f(e);
+                        };
+                      n >= a ? r() : (t = setTimeout(r, a - n));
+                    }
+                    return function () {
+                      t && (clearTimeout(t), (t = void 0));
+                    };
+                  },
+                  [e, a, i]
+                ),
+                u
+              );
+            })(n.loading || !1, { delay: 250, duration: 750 });
+          return a.a.createElement(
+            i.z.SingleValue,
+            e,
+            a.a.createElement(
+              "div",
+              { className: Object(o.cx)(p.singleValue, Object(o.css)(d())) },
+              n.imgUrl
+                ? a.a.createElement(y, { loading: h, imgUrl: n.imgUrl })
+                : a.a.createElement(
+                    c.a,
+                    { horizontal: !0, size: 16, visible: h, duration: 150 },
+                    a.a.createElement(
+                      "div",
+                      { className: p.container },
+                      a.a.createElement(f.a, { className: p.item, inline: !0 })
+                    )
+                  ),
+              !n.hideText && t
+            )
+          );
+        },
+        y = function (e) {
+          var t = Object(s.h)(),
+            n = b(t);
+          return a.a.createElement(
+            "div",
+            { className: n.container },
+            a.a.createElement(
+              u.a,
+              { duration: 150, visible: e.loading },
+              a.a.createElement(f.a, { className: n.item, inline: !0 })
+            ),
+            a.a.createElement(
+              u.a,
+              { duration: 150, visible: !e.loading },
+              a.a.createElement("img", { className: n.item, src: e.imgUrl })
+            )
+          );
+        };
+    },
+    sjC4: function (e, t) {},
+    "spX/": function (e, t, n) {
+      "use strict";
+      var r = n("2kIT");
+      function a(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function o(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? a(Object(n), !0).forEach(function (t) {
+                i(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : a(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function i(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var l = function (e, t) {
+          return function (n) {
+            h(e, t, n.currentTarget.value);
+          };
+        },
+        s = function (e, t) {
+          return function (n) {
+            b(e, t, n.currentTarget.value);
+          };
+        },
+        c = function (e, t) {
+          return function (n) {
+            v(e, t, n.currentTarget.value);
+          };
+        },
+        u = function (e, t) {
+          return function (n) {
+            b(e, t, n.value);
+          };
+        },
+        f = function (e, t, n) {
+          return function (r) {
+            b(e, t, n);
+          };
+        },
+        d = function (e, t) {
+          return function (n) {
+            v(e, t, n.value);
+          };
+        },
+        p = function (e, t) {
+          return function (n) {
+            y(e, t);
+          };
+        };
+      function h(e, t, n) {
+        var r = e.options;
+        e.onOptionsChange(o({}, r, i({}, t, n)));
+      }
+      var m,
+        g,
+        b = function (e, t, n) {
+          var r = e.options;
+          e.onOptionsChange(
+            o({}, r, { jsonData: o({}, r.jsonData, i({}, t, n)) })
+          );
+        },
+        v = function (e, t, n) {
+          var r = e.options;
+          e.onOptionsChange(
+            o({}, r, { secureJsonData: o({}, r.secureJsonData, i({}, t, n)) })
+          );
+        },
+        y = function (e, t) {
+          var n = e.options;
+          e.onOptionsChange(
+            o({}, n, {
+              secureJsonData: o({}, n.secureJsonData, i({}, t, "")),
+              secureJsonFields: o({}, n.secureJsonFields, i({}, t, !1)),
+            })
+          );
+        },
+        w = n("lhB2"),
+        O = n("NpuA"),
+        x = n.n(O),
+        k = n("la6v"),
+        j = n.n(k),
+        S = n("UB5X"),
+        E = n.n(S),
+        C = n("KgU3"),
+        P = n("0v62"),
+        T = n("ir79");
+      function D(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function A(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function _(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function N(e, t) {
+        return new M(t).readCSV(e);
+      }
+      !(function (e) {
+        (e[(e.full = 0)] = "full"),
+          (e[(e.name = 1)] = "name"),
+          (e[(e.none = 2)] = "none");
+      })(m || (m = {})),
+        (function (e) {
+          (e[(e.Starting = 0)] = "Starting"),
+            (e[(e.InHeader = 1)] = "InHeader"),
+            (e[(e.ReadingRows = 2)] = "ReadingRows");
+        })(g || (g = {}));
+      var M = (function () {
+        function e(t) {
+          var n = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.step = function (e, t) {
+              for (var r = 0; r < e.data.length; r++) {
+                var a = e.data[r];
+                if (!(a.length < 1)) {
+                  var o = a[0];
+                  if (o) {
+                    if (o.startsWith("#")) {
+                      var i = o.indexOf("#", 2);
+                      if (i > 0) {
+                        var l = o.substr(1, i - 1),
+                          s = "name" === l;
+                        if (s || { unit: "#" }.hasOwnProperty(l)) {
+                          n.state === g.ReadingRows &&
+                            ((n.current = new T.b({ fields: [] })),
+                            n.data.push(n.current));
+                          var c = o.substr(i + 1);
+                          if (s) {
+                            n.current.addFieldFor(void 0, c);
+                            for (var u = 1; u < a.length; u++)
+                              n.current.addFieldFor(void 0, a[u]);
+                          } else
+                            for (
+                              var f = n.current.fields, d = 0;
+                              d < f.length;
+                              d++
+                            ) {
+                              f[d].config || (f[d].config = {}),
+                                (f[d].config[l] = 0 === d ? c : a[d]);
+                            }
+                          n.state = g.InHeader;
+                          continue;
+                        }
+                      } else if (n.state === g.Starting) {
+                        n.state = g.InHeader;
+                        continue;
+                      }
+                      continue;
+                    }
+                    if (n.state === g.Starting) {
+                      if (Object(P.d)(o) === C.FieldType.string) {
+                        var p = !0,
+                          h = !1,
+                          m = void 0;
+                        try {
+                          for (
+                            var b, v = a[Symbol.iterator]();
+                            !(p = (b = v.next()).done);
+                            p = !0
+                          ) {
+                            var y = b.value;
+                            n.current.addFieldFor(void 0, y);
+                          }
+                        } catch (e) {
+                          (h = !0), (m = e);
+                        } finally {
+                          try {
+                            p || null == v.return || v.return();
+                          } finally {
+                            if (h) throw m;
+                          }
+                        }
+                        n.state = g.InHeader;
+                        continue;
+                      }
+                      n.state = g.InHeader;
+                    }
+                  }
+                  if (
+                    (n.state,
+                    g.ReadingRows,
+                    (n.state = g.ReadingRows),
+                    a.length > n.current.fields.length)
+                  ) {
+                    for (var w = n.current.fields.length; w < a.length; w++)
+                      n.current.addFieldFor(a[w]);
+                    n.callback && n.callback.onHeader(n.current.fields);
+                  }
+                  n.current.appendRow(a), n.callback && n.callback.onRow(a);
+                }
+              }
+            }),
+            t || (t = {}),
+            (this.config = t.config || {}),
+            (this.callback = t.callback),
+            (this.current = new T.b({ fields: [] })),
+            (this.state = g.Starting),
+            (this.data = []);
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "readCSV",
+              value: function (e) {
+                (this.current = new T.b({ fields: [] })),
+                  (this.data = [this.current]);
+                var t = (function (e) {
+                  for (var t = 1; t < arguments.length; t++) {
+                    var n = null != arguments[t] ? arguments[t] : {};
+                    t % 2
+                      ? D(Object(n), !0).forEach(function (t) {
+                          A(e, t, n[t]);
+                        })
+                      : Object.getOwnPropertyDescriptors
+                      ? Object.defineProperties(
+                          e,
+                          Object.getOwnPropertyDescriptors(n)
+                        )
+                      : D(Object(n)).forEach(function (t) {
+                          Object.defineProperty(
+                            e,
+                            t,
+                            Object.getOwnPropertyDescriptor(n, t)
+                          );
+                        });
+                  }
+                  return e;
+                })({}, this.config, {
+                  dynamicTyping: !1,
+                  skipEmptyLines: !0,
+                  comments: !1,
+                  step: this.step,
+                });
+                return x.a.parse(e, t), this.data;
+              },
+            },
+          ]) && _(t.prototype, n),
+          r && _(t, r),
+          e
+        );
+      })();
+      function I(e, t) {
+        var n = e.toString();
+        return n.includes('"')
+          ? t.quoteChar + n.replace(/"/gi, '""') + t.quoteChar
+          : n.includes("\n") || n.includes(t.delimiter)
+          ? t.quoteChar + n + t.quoteChar
+          : n;
+      }
+      function R(e, t) {
+        if (e.type) {
+          if (e.type === C.FieldType.boolean)
+            return function (e) {
+              return e ? "true" : "false";
+            };
+          if (e.type === C.FieldType.number)
+            return function (e) {
+              return E()(e) ? e.toString() : I(e, t);
+            };
+        }
+        return function (e) {
+          return I(e, t);
+        };
+      }
+      function F(e, t, n) {
+        var r = "name" === e,
+          a = "type" === e,
+          o = !0,
+          i = !1,
+          l = void 0;
+        try {
+          for (
+            var s, c = t[Symbol.iterator]();
+            !(o = (s = c.next()).done);
+            o = !0
+          ) {
+            var u = s.value.config;
+            if (r || a || (u && u.hasOwnProperty(e))) {
+              for (var f = "#" + e + "#", d = 0; d < t.length; d++) {
+                d > 0 && (f += n.delimiter);
+                var p = t[d].name;
+                a ? (p = t[d].type) : r || (p = t[d].config[e]),
+                  p && (f += I(p, n));
+              }
+              return f + n.newline;
+            }
+          }
+        } catch (e) {
+          (i = !0), (l = e);
+        } finally {
+          try {
+            o || null == c.return || c.return();
+          } finally {
+            if (i) throw l;
+          }
+        }
+        return "";
+      }
+      function L(e, t) {
+        if (!e) return "";
+        var n = "";
+        t = j()(t, {
+          delimiter: ",",
+          newline: "\r\n",
+          quoteChar: '"',
+          encoding: "",
+          headerStyle: m.name,
+        });
+        var r = !0,
+          a = !1,
+          o = void 0;
+        try {
+          for (
+            var i, l = e[Symbol.iterator]();
+            !(r = (i = l.next()).done);
+            r = !0
+          ) {
+            var s = i.value.fields;
+            if (0 !== s.length) {
+              if (t.headerStyle === m.full)
+                n =
+                  n +
+                  F("name", s, t) +
+                  F("type", s, t) +
+                  F("unit", s, t) +
+                  F("dateFormat", s, t);
+              else if (t.headerStyle === m.name) {
+                for (var c = 0; c < s.length; c++)
+                  c > 0 && (n += t.delimiter), (n += s[c].name);
+                n += t.newline;
+              }
+              var u = s[0].values.length;
+              if (u > 0)
+                for (
+                  var f = s.map(function (e) {
+                      return R(e, t);
+                    }),
+                    d = 0;
+                  d < u;
+                  d++
+                ) {
+                  for (var p = 0; p < s.length; p++) {
+                    p > 0 && (n += t.delimiter);
+                    var h = s[p].values.get(d);
+                    null !== h && (n += f[p](h));
+                  }
+                  n += t.newline;
+                }
+              n += t.newline;
+            }
+          }
+        } catch (e) {
+          (a = !0), (o = e);
+        } finally {
+          try {
+            r || null == l.return || l.return();
+          } finally {
+            if (a) throw o;
+          }
+        }
+        return n;
+      }
+      var V = n("LvDl"),
+        B = n("RH9q"),
+        $ = n("0uOV");
+      function q(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function U(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function z(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var H = /(?:^|\s)([\w\(\)\[\]\{\}]+)=(""|(?:".*?[^\\]"|[^"\s]\S*))/;
+      function G(e) {
+        if (!e) return B.a.unknown;
+        for (
+          var t = B.a.unknown, n = void 0, r = 0, a = Object.keys(B.a);
+          r < a.length;
+          r++
+        ) {
+          var o = a[r],
+            i = new RegExp("\\b".concat(o, "\\b"), "i").exec(e);
+          i && (void 0 === n || i.index < n) && ((t = B.a[o]), (n = i.index));
+        }
+        return t;
+      }
+      function W(e) {
+        var t = B.a[e.toLowerCase()];
+        return t || B.a.unknown;
+      }
+      function Q(e, t) {
+        for (
+          var n = new $.a(), r = e.fields[t], a = 0;
+          a < r.values.length;
+          a++
+        ) {
+          var o = r.values.get(t);
+          n.buffer.push(G(o));
+        }
+        return (function (e) {
+          for (var t = 1; t < arguments.length; t++) {
+            var n = null != arguments[t] ? arguments[t] : {};
+            t % 2
+              ? U(Object(n), !0).forEach(function (t) {
+                  z(e, t, n[t]);
+                })
+              : Object.getOwnPropertyDescriptors
+              ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+              : U(Object(n)).forEach(function (t) {
+                  Object.defineProperty(
+                    e,
+                    t,
+                    Object.getOwnPropertyDescriptor(n, t)
+                  );
+                });
+          }
+          return e;
+        })({}, e, {
+          fields: [].concat(q(e.fields), [
+            {
+              name: "LogLevel",
+              type: C.FieldType.string,
+              values: n,
+              config: {},
+            },
+          ]),
+        });
+      }
+      var Y = {
+        JSON: {
+          buildMatcher: function (e) {
+            return new RegExp(
+              '(?:{|,)\\s*"'.concat(e, '"\\s*:\\s*"?([\\d\\.]+|[^"]*)"?')
+            );
+          },
+          getFields: function (e) {
+            try {
+              var t = JSON.parse(e);
+              return Object.keys(t).map(function (e) {
+                return '"'.concat(e, '":').concat(JSON.stringify(t[e]));
+              });
+            } catch (e) {}
+            return [];
+          },
+          getLabelFromField: function (e) {
+            return (e.match(/^"([^"]+)"\s*:/) || [])[1];
+          },
+          getValueFromField: function (e) {
+            return (e.match(/:\s*(.*)$/) || [])[1];
+          },
+          test: function (e) {
+            try {
+              return JSON.parse(e);
+            } catch (e) {}
+          },
+        },
+        logfmt: {
+          buildMatcher: function (e) {
+            return new RegExp(
+              "(?:^|\\s)".concat(Object(V.escapeRegExp)(e), '=("[^"]*"|\\S+)')
+            );
+          },
+          getFields: function (e) {
+            var t = [];
+            return (
+              e.replace(new RegExp(H, "g"), function (e) {
+                return t.push(e.trim()), "";
+              }),
+              t
+            );
+          },
+          getLabelFromField: function (e) {
+            return (e.match(H) || [])[1];
+          },
+          getValueFromField: function (e) {
+            return (e.match(H) || [])[2];
+          },
+          test: function (e) {
+            return H.test(e);
+          },
+        },
+      };
+      function K(e, t) {
+        var n = e.filter(function (e) {
+            return t.test(e.entry);
+          }),
+          r = n.length,
+          a = Object(V.countBy)(n, function (e) {
+            var n = e.entry.match(t);
+            return n ? n[1] : null;
+          });
+        return X(a, r);
+      }
+      function J(e, t) {
+        var n = e.filter(function (e) {
+            return void 0 !== e.labels[t];
+          }),
+          r = n.length,
+          a = Object(V.countBy)(n, function (e) {
+            return e.labels[t];
+          });
+        return X(a, r);
+      }
+      function Z(e) {
+        var t = e.filter(function (e) {
+            return null != e;
+          }),
+          n = Object(V.countBy)(t);
+        return X(n, t.length);
+      }
+      var X = function (e, t) {
+        return Object(V.chain)(e)
+          .map(function (e, n) {
+            return { count: e, value: n, proportion: e / t };
+          })
+          .sortBy("count")
+          .reverse()
+          .value();
+      };
+      function ee(e) {
+        var t;
+        try {
+          Y.JSON.test(e) && (t = Y.JSON);
+        } catch (e) {}
+        return !t && Y.logfmt.test(e) && (t = Y.logfmt), t;
+      }
+      function te(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function ne(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? te(Object(n), !0).forEach(function (t) {
+                re(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : te(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function re(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var ae = /\b(\w+)(!?=~?)"([^"\n]*?)"/g;
+      function oe(e) {
+        var t = {};
+        return (
+          e.replace(ae, function (e, n, r, a) {
+            return (t[n] = a), "";
+          }),
+          t
+        );
+      }
+      function ie(e) {
+        return e.reduce(function (e, t) {
+          if (!t) throw new Error("Need parsed labels to find common labels.");
+          return (
+            e
+              ? (Object.keys(t).forEach(function (n) {
+                  (void 0 !== e[n] && e[n] === t[n]) || delete e[n];
+                }),
+                Object.keys(e).forEach(function (n) {
+                  void 0 === t[n] && delete e[n];
+                }))
+              : (e = ne({}, t)),
+            e
+          );
+        }, void 0);
+      }
+      function le(e, t) {
+        var n = ne({}, e);
+        return (
+          Object.keys(t).forEach(function (e) {
+            delete n[e];
+          }),
+          n
+        );
+      }
+      function se(e) {
+        var t =
+          arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "";
+        if (!e || 0 === Object.keys(e).length) return t;
+        var n = Object.keys(e).sort(),
+          r = n
+            .map(function (t) {
+              return "".concat(t, '="').concat(e[t], '"');
+            })
+            .join(", ");
+        return ["{", r, "}"].join("");
+      }
+      var ce = function (e) {
+          return Object.keys(e).reduce(function (t, n) {
+            return void 0 !== e[n] && (t[n] = e[n]), t;
+          }, {});
+        },
+        ue = n("m+sf"),
+        fe = function (e) {
+          for (var t, n, r = 0; r < e.values.length; r++) {
+            var a = e.values.get(r);
+            if (void 0 !== t) {
+              var o = a - t;
+              void 0 === n && (n = o), o < n && (n = o);
+            }
+            t = a;
+          }
+          return n;
+        },
+        de = function (e) {
+          for (var t = 0; t < e.values.length; t++) {
+            var n = e.values.get(t);
+            if (null != n) {
+              var r = n.toString();
+              if (13 === r.length && r % 1e3 != 0) return !0;
+            }
+          }
+          return !1;
+        },
+        pe = n("b+mb"),
+        he = n("U5HE");
+      n.d(t, "d", function () {
+        return r.a;
+      }),
+        n.d(t, "F", function () {
+          return l;
+        }),
+        n.d(t, "C", function () {
+          return s;
+        }),
+        n.d(t, "H", function () {
+          return c;
+        }),
+        n.d(t, "E", function () {
+          return u;
+        }),
+        n.d(t, "D", function () {
+          return f;
+        }),
+        n.d(t, "I", function () {
+          return d;
+        }),
+        n.d(t, "G", function () {
+          return p;
+        }),
+        n.d(t, "N", function () {
+          return h;
+        }),
+        n.d(t, "M", function () {
+          return b;
+        }),
+        n.d(t, "P", function () {
+          return v;
+        }),
+        n.d(t, "O", function () {
+          return y;
+        }),
+        n.d(t, "i", function () {
+          return w.a;
+        }),
+        n.d(t, "a", function () {
+          return m;
+        }),
+        n.d(t, "K", function () {
+          return N;
+        }),
+        n.d(t, "b", function () {
+          return M;
+        }),
+        n.d(t, "L", function () {
+          return L;
+        }),
+        n.d(t, "u", function () {
+          return G;
+        }),
+        n.d(t, "v", function () {
+          return W;
+        }),
+        n.d(t, "e", function () {
+          return Q;
+        }),
+        n.d(t, "c", function () {
+          return Y;
+        }),
+        n.d(t, "f", function () {
+          return K;
+        }),
+        n.d(t, "g", function () {
+          return J;
+        }),
+        n.d(t, "h", function () {
+          return Z;
+        }),
+        n.d(t, "y", function () {
+          return ee;
+        }),
+        n.d(t, "J", function () {
+          return oe;
+        }),
+        n.d(t, "j", function () {
+          return ie;
+        }),
+        n.d(t, "k", function () {
+          return le;
+        }),
+        n.d(t, "l", function () {
+          return se;
+        }),
+        n.d(t, "J", function () {
+          return oe;
+        }),
+        n.d(t, "j", function () {
+          return ie;
+        }),
+        n.d(t, "k", function () {
+          return le;
+        }),
+        n.d(t, "l", function () {
+          return se;
+        }),
+        n.d(t, "B", function () {
+          return ce;
+        }),
+        n.d(t, "o", function () {
+          return ue.c;
+        }),
+        n.d(t, "n", function () {
+          return ue.b;
+        }),
+        n.d(t, "r", function () {
+          return ue.f;
+        }),
+        n.d(t, "m", function () {
+          return ue.a;
+        }),
+        n.d(t, "q", function () {
+          return ue.e;
+        }),
+        n.d(t, "p", function () {
+          return ue.d;
+        }),
+        n.d(t, "x", function () {
+          return ue.g;
+        }),
+        n.d(t, "z", function () {
+          return fe;
+        }),
+        n.d(t, "A", function () {
+          return de;
+        }),
+        n.d(t, "w", function () {
+          return pe.a;
+        }),
+        n.d(t, "s", function () {
+          return he.a;
+        }),
+        n.d(t, "t", function () {
+          return he.b;
+        });
+    },
+    "t/ct": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return p;
+      }),
+        n.d(t, "b", function () {
+          return m;
+        });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("t8hP"),
+        i = n("kDLi"),
+        l = n("Obii");
+      function s(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function c(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? s(Object(n), !0).forEach(function (t) {
+                u(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : s(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function u(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var f = a.a.createContext(o.config),
+        d = f.Consumer,
+        p = function () {
+          return Object(i.getTheme)(
+            o.config.bootData.user.lightTheme
+              ? l.GrafanaThemeType.Light
+              : l.GrafanaThemeType.Dark
+          );
+        },
+        h = function (e) {
+          var t = e.children;
+          return a.a.createElement(d, null, function (e) {
+            return a.a.createElement(
+              i.ThemeContext.Provider,
+              { value: p() },
+              t
+            );
+          });
+        },
+        m = function (e) {
+          return (function (e) {
+            return function (t) {
+              return a.a.createElement(
+                f.Provider,
+                { value: o.config },
+                a.a.createElement(e, c({}, t))
+              );
+            };
+          })(function (t) {
+            return a.a.createElement(h, null, a.a.createElement(e, c({}, t)));
+          });
+        };
+    },
+    t8hP: function (e, t, n) {
+      "use strict";
+      n.r(t);
+      var r = n("3x4x");
+      n.d(t, "setBackendSrv", function () {
+        return r.i;
+      }),
+        n.d(t, "getBackendSrv", function () {
+          return r.c;
+        }),
+        n.d(t, "setAngularLoader", function () {
+          return r.h;
+        }),
+        n.d(t, "getAngularLoader", function () {
+          return r.b;
+        }),
+        n.d(t, "setDataSourceSrv", function () {
+          return r.j;
+        }),
+        n.d(t, "getDataSourceSrv", function () {
+          return r.d;
+        }),
+        n.d(t, "setLocationSrv", function () {
+          return r.l;
+        }),
+        n.d(t, "getLocationSrv", function () {
+          return r.f;
+        }),
+        n.d(t, "EchoEventType", function () {
+          return r.a;
+        }),
+        n.d(t, "setEchoSrv", function () {
+          return r.k;
+        }),
+        n.d(t, "getEchoSrv", function () {
+          return r.e;
+        }),
+        n.d(t, "registerEchoBackend", function () {
+          return r.g;
+        });
+      var a = n("J9Im");
+      n.d(t, "GrafanaBootConfig", function () {
+        return a.a;
+      }),
+        n.d(t, "config", function () {
+          return a.b;
+        });
+      var o = n("MbqT");
+      for (var i in o)
+        [
+          "loadPluginCss",
+          "SystemJS",
+          "reportMetaAnalytics",
+          "DataSourceWithBackend",
+          "setBackendSrv",
+          "getBackendSrv",
+          "setAngularLoader",
+          "getAngularLoader",
+          "setDataSourceSrv",
+          "getDataSourceSrv",
+          "setLocationSrv",
+          "getLocationSrv",
+          "EchoEventType",
+          "setEchoSrv",
+          "getEchoSrv",
+          "registerEchoBackend",
+          "GrafanaBootConfig",
+          "config",
+          "default",
+        ].indexOf(i) < 0 &&
+          (function (e) {
+            n.d(t, e, function () {
+              return o[e];
+            });
+          })(i);
+      var l = n("/vR/");
+      n.d(t, "loadPluginCss", function () {
+        return l.b;
+      }),
+        n.d(t, "SystemJS", function () {
+          return l.a;
+        });
+      var s = n("4aoj");
+      n.d(t, "reportMetaAnalytics", function () {
+        return s.a;
+      });
+      var c = n("+4lh");
+      n.d(t, "DataSourceWithBackend", function () {
+        return c.a;
+      });
+    },
+    tAX7: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return o;
+      }),
+        n.d(t, "g", function () {
+          return i;
+        }),
+        n.d(t, "e", function () {
+          return l;
+        }),
+        n.d(t, "f", function () {
+          return s;
+        }),
+        n.d(t, "i", function () {
+          return c;
+        }),
+        n.d(t, "h", function () {
+          return u;
+        }),
+        n.d(t, "b", function () {
+          return f;
+        }),
+        n.d(t, "c", function () {
+          return d;
+        }),
+        n.d(t, "d", function () {
+          return p;
+        });
+      var r = n("wd/R"),
+        a = n.n(r),
+        o = a.a.ISO_8601,
+        i = function (e) {
+          a.a.locale(e);
+        },
+        l = function () {
+          return a.a.localeData();
+        },
+        s = function (e) {
+          return a.a.isMoment(e);
+        },
+        c = function (e, t) {
+          return a.a.utc(e, t);
+        },
+        u = function (e, t) {
+          return a.a.duration(e, t);
+        },
+        f = function (e, t) {
+          return a()(e, t);
+        },
+        d = function (e) {
+          return f(e);
+        },
+        p = function (e, t, n) {
+          return "utc" === e ? c(t, n) : f(t, n);
+        };
+    },
+    tEy8: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return f;
+      }),
+        n.d(t, "g", function () {
+          return m;
+        }),
+        n.d(t, "e", function () {
+          return g;
+        }),
+        n.d(t, "d", function () {
+          return b;
+        }),
+        n.d(t, "b", function () {
+          return v;
+        }),
+        n.d(t, "f", function () {
+          return y;
+        }),
+        n.d(t, "c", function () {
+          return w;
+        });
+      var r = n("i7Pf"),
+        a = n("K47g"),
+        o = n("Obii"),
+        i = n("eLz+"),
+        l = n("SMGL");
+      function s(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function c(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? s(Object(n), !0).forEach(function (t) {
+                u(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : s(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function u(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var f = "grafana.dashboard.editor.ui",
+        d = {
+          isPanelOptionsVisible: !0,
+          rightPaneSize: 350,
+          topPaneSize: "45%",
+          mode: i.a.Fill,
+        },
+        p = Object(r.c)({
+          name: "panelEditorNew",
+          initialState: {
+            getPanel: function () {
+              return new a.a({});
+            },
+            getSourcePanel: function () {
+              return new a.a({});
+            },
+            getData: function () {
+              return {
+                state: o.LoadingState.NotStarted,
+                series: [],
+                timeRange: o.DefaultTimeRange,
+              };
+            },
+            initDone: !1,
+            shouldDiscardChanges: !1,
+            isOpen: !1,
+            ui: c({}, d, {}, l.a.getObject(f, d)),
+          },
+          reducers: {
+            updateEditorInitState: function (e, t) {
+              (e.getPanel = function () {
+                return t.payload.panel;
+              }),
+                (e.getSourcePanel = function () {
+                  return t.payload.sourcePanel;
+                }),
+                (e.querySubscription = t.payload.querySubscription),
+                (e.initDone = !0),
+                (e.isOpen = !0);
+            },
+            setEditorPanelData: function (e, t) {
+              e.getData = function () {
+                return t.payload;
+              };
+            },
+            setDiscardChanges: function (e, t) {
+              e.shouldDiscardChanges = t.payload;
+            },
+            setPanelEditorUIState: function (e, t) {
+              e.ui = c({}, e.ui, {}, t.payload);
+            },
+            closeCompleted: function (e) {
+              (e.isOpen = !1), (e.initDone = !1);
+            },
+          },
+        }),
+        h = p.actions,
+        m = h.updateEditorInitState,
+        g = h.setEditorPanelData,
+        b = h.setDiscardChanges,
+        v = h.closeCompleted,
+        y = h.setPanelEditorUIState,
+        w = p.reducer;
+    },
+    tOGo: function (e, t) {},
+    ttS0: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return m;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("sxGJ"),
+        i = n.n(o);
+      function l(e) {
+        return (l =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function s(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function c(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function u(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function f(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function d(e, t) {
+        return !t || ("object" !== l(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function p(e) {
+        return (p = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function h(e, t) {
+        return (h =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var m = (function (e) {
+        function t(e) {
+          var n;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            ((n = d(this, p(t).call(this, e))).getElementType = function () {
+              return n.props.elType || "button";
+            }),
+            (n.myRef = a.a.createRef()),
+            n
+          );
+        }
+        var n, r, o;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && h(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "componentDidMount",
+              value: function () {
+                var e = this.props,
+                  t = e.text,
+                  n = e.onSuccess,
+                  r = e.onError;
+                (this.clipboardjs = new i.a(this.myRef.current, { text: t })),
+                  n &&
+                    this.clipboardjs.on("success", function (e) {
+                      e.clearSelection(), n(e);
+                    }),
+                  r &&
+                    this.clipboardjs.on("error", function (e) {
+                      console.error("Action:", e.action),
+                        console.error("Trigger:", e.trigger),
+                        r(e);
+                    });
+              },
+            },
+            {
+              key: "componentWillUnmount",
+              value: function () {
+                this.clipboardjs && this.clipboardjs.destroy();
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t =
+                    (e.elType,
+                    e.text,
+                    e.children,
+                    e.onError,
+                    e.onSuccess,
+                    u(e, [
+                      "elType",
+                      "text",
+                      "children",
+                      "onError",
+                      "onSuccess",
+                    ]));
+                return a.a.createElement(
+                  this.getElementType(),
+                  (function (e) {
+                    for (var t = 1; t < arguments.length; t++) {
+                      var n = null != arguments[t] ? arguments[t] : {};
+                      t % 2
+                        ? s(Object(n), !0).forEach(function (t) {
+                            c(e, t, n[t]);
+                          })
+                        : Object.getOwnPropertyDescriptors
+                        ? Object.defineProperties(
+                            e,
+                            Object.getOwnPropertyDescriptors(n)
+                          )
+                        : s(Object(n)).forEach(function (t) {
+                            Object.defineProperty(
+                              e,
+                              t,
+                              Object.getOwnPropertyDescriptor(n, t)
+                            );
+                          });
+                    }
+                    return e;
+                  })({ ref: this.myRef }, t),
+                  this.props.children
+                );
+              },
+            },
+          ]) && f(n.prototype, r),
+          o && f(n, o),
+          t
+        );
+      })(r.PureComponent);
+    },
+    txxJ: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return i;
+      }),
+        n.d(t, "b", function () {
+          return o;
+        });
+      var r = n("KHwQ"),
+        a = n.n(r),
+        o = a.a.module("grafana.core", ["ngRoute"]),
+        i = [
+          o,
+          a.a.module("grafana.controllers", []),
+          a.a.module("grafana.directives", []),
+          a.a.module("grafana.factories", []),
+          a.a.module("grafana.services", []),
+          a.a.module("grafana.filters", []),
+          a.a.module("grafana.routes", []),
+        ];
+      t.c = o;
+    },
+    uiFW: function (e, t) {
+      var n =
+        "public/app/features/manage-dashboards/partials/dashboard_import.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<page-header model=ctrl.navModel></page-header>\n\n<div class="page-container page-body" ng-cloak>\n  <div ng-if="ctrl.step === 1">\n\n    <form class=page-action-bar>\n      <div class=page-action-bar__spacer></div>\n      <dash-upload on-upload=ctrl.onUpload(dash)></dash-upload>\n    </form>\n\n    <h5 class=section-heading>Grafana.com Dashboard</h5>\n\n    <div class=gf-form-group>\n      <div class="gf-form gf-form--grow">\n        <input type=text class="gf-form-input max-width-30" ng-model=ctrl.gnetUrl placeholder="Paste Grafana.com dashboard url or id" ng-blur=ctrl.checkGnetDashboard()>\n      </div>\n      <div class=gf-form ng-if=ctrl.gnetError>\n        <label class="gf-form-label text-warning">\n          <i class="fa fa-warning"></i>\n          {{ctrl.gnetError}}\n        </label>\n      </div>\n    </div>\n\n    <h5 class=section-heading>Or paste JSON</h5>\n\n    <div class=gf-form-group>\n      <div class=gf-form>\n        <textarea rows=10 data-share-panel-url="" class=gf-form-input ng-model=ctrl.jsonText></textarea>\n      </div>\n      <button type=button class="btn btn-secondary" ng-click=ctrl.loadJsonText()>\n        <i class="fa fa-paste"></i>\n        Load\n      </button>\n      <span ng-if=ctrl.parseError class="text-error p-l-1">\n        <i class="fa fa-warning"></i>\n        {{ctrl.parseError}}\n      </span>\n    </div>\n  </div>\n\n  <div ng-if="ctrl.step === 2">\n    <div class=gf-form-group ng-if=ctrl.dash.gnetId>\n      <h3 class=section-heading>\n        Importing Dashboard from\n        <a href=https://grafana.com/dashboards/{{ctrl.dash.gnetId}} class=external-link target=_blank>Grafana.com</a>\n      </h3>\n\n      <div class=gf-form>\n        <label class="gf-form-label width-15">Published by</label>\n        <label class="gf-form-label width-15">{{ctrl.gnetInfo.orgName}}</label>\n      </div>\n      <div class=gf-form>\n        <label class="gf-form-label width-15">Updated on</label>\n        <label class="gf-form-label width-15">{{ctrl.gnetInfo.updatedAt | date : \'yyyy-MM-dd HH:mm:ss\'}}</label>\n      </div>\n    </div>\n\n    <h3 class=section-heading>\n      Options\n    </h3>\n\n    <div class=gf-form-group>\n      <div class=gf-form-inline>\n        <div class="gf-form gf-form--grow">\n          <label class="gf-form-label width-15">Name</label>\n          <input type=text class=gf-form-input ng-model=ctrl.dash.title give-focus=true ng-change=ctrl.titleChanged() ng-class="{\'validation-error\': ctrl.nameExists || !ctrl.dash.title}">\n          <label class="gf-form-label text-success" ng-if="ctrl.titleTouched && !ctrl.hasNameValidationError">\n            <i class="fa fa-check"></i>\n          </label>\n        </div>\n      </div>\n\n      <div class=gf-form-inline ng-if=ctrl.hasNameValidationError>\n        <div class="gf-form offset-width-15 gf-form--grow">\n          <label class="gf-form-label text-warning gf-form-label--grow">\n            <i class="fa fa-warning"></i>\n            {{ctrl.nameValidationError}}\n          </label>\n        </div>\n      </div>\n\n      <div class=gf-form-inline>\n        <div class="gf-form gf-form--grow">\n          <folder-picker label-class=width-15 initial-folder-id=ctrl.folderId initial-title=ctrl.initialFolderTitle on-change=ctrl.onFolderChange enter-folder-creation=ctrl.onEnterFolderCreation exit-folder-creation=ctrl.onExitFolderCreation enable-create-new=true>\n          </folder-picker>\n        </div>\n      </div>\n\n      <div class=gf-form-inline>\n        <div class="gf-form gf-form--grow">\n          <span class="gf-form-label width-15">\n            Unique identifier (uid)\n            <info-popover mode=right-normal>\n              The unique identifier (uid) of a dashboard can be used for uniquely identify a dashboard between multiple\n              Grafana installs.\n              The uid allows having consistent URL’s for accessing dashboards so changing the title of a dashboard will\n              not break any\n              bookmarked links to that dashboard.\n            </info-popover>\n          </span>\n          <input type=text class=gf-form-input disabled=disabled ng-model=ctrl.autoGenerateUidValue ng-if=ctrl.autoGenerateUid>\n          <a class="btn btn-secondary gf-form-btn" href=# ng-click="ctrl.autoGenerateUid = false" ng-if=ctrl.autoGenerateUid>change</a>\n          <input type=text class=gf-form-input maxlength=40 placeholder="optional, will be auto-generated if empty" ng-model=ctrl.dash.uid ng-change=ctrl.uidChanged() ng-if=!ctrl.autoGenerateUid>\n          <label class="gf-form-label text-success" ng-if="!ctrl.autoGenerateUid && !ctrl.hasUidValidationError">\n            <i class="fa fa-check"></i>\n          </label>\n        </div>\n      </div>\n\n      <div class=gf-form-inline ng-if=ctrl.hasUidValidationError>\n        <div class="gf-form offset-width-15 gf-form--grow">\n          <label class="gf-form-label text-warning gf-form-label--grow">\n            <i class="fa fa-warning"></i>\n            {{ctrl.uidValidationError}}\n          </label>\n        </div>\n      </div>\n\n      <div ng-repeat="input in ctrl.inputs">\n        <div class=gf-form>\n          <label class="gf-form-label width-15">\n            {{input.label}}\n            <info-popover mode=right-normal>\n              {{input.info}}\n            </info-popover>\n          </label>\n          \x3c!-- Data source input --\x3e\n          <div class=gf-form-select-wrapper style=width:100% ng-if="input.type === \'datasource\'">\n            <select class=gf-form-input ng-model=input.value ng-options="v.value as v.text for v in input.options" ng-change=ctrl.inputValueChanged()>\n              <option value="" ng-hide=input.value>{{input.info}}</option>\n            </select>\n          </div>\n          \x3c!-- Constant input --\x3e\n          <input ng-if="input.type === \'constant\'" type=text class=gf-form-input ng-model=input.value placeholder={{input.default}} ng-change=ctrl.inputValueChanged()>\n          <label class="gf-form-label text-success" ng-show=input.value>\n            <i class="fa fa-check"></i>\n          </label>\n        </div>\n      </div>\n    </div>\n\n    <div class=gf-form-button-row>\n      <button type=button class="btn btn-primary width-12" ng-click=ctrl.saveDashboard() ng-hide="ctrl.nameExists || ctrl.uidExists" ng-disabled=!ctrl.isValid()>\n        Import\n      </button>\n      <button type=button class="btn btn-danger width-12" ng-click=ctrl.saveDashboard() ng-show="ctrl.nameExists || ctrl.uidExists" ng-disabled=!ctrl.isValid()>\n        Import (Overwrite)\n      </button>\n      <a class="btn btn-link" ng-click=ctrl.back()>Cancel</a>\n    </div>\n\n  </div>\n</div>\n\n<footer/>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    umNM: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return f;
+      });
+      var r = n("ZFWI"),
+        a = n("LvDl"),
+        o = n.n(a),
+        i = n("txxJ"),
+        l = n("PbtU");
+      function s(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function c(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      var u = function e() {
+          c(this, e), r.b.bootData.user && o.a.extend(this, r.b.bootData.user);
+        },
+        f = new ((function () {
+          function e() {
+            c(this, e),
+              (this.sidemenuSmallBreakpoint = !1),
+              r.b.bootData || (r.b.bootData = { user: {}, settings: {} }),
+              (this.user = new u()),
+              (this.isSignedIn = this.user.isSignedIn),
+              (this.isGrafanaAdmin = this.user.isGrafanaAdmin),
+              (this.isEditor = this.hasRole("Editor") || this.hasRole("Admin")),
+              (this.hasEditPermissionInFolders = this.user.hasEditPermissionInFolders),
+              (this.minRefreshInterval = r.b.minRefreshInterval);
+          }
+          var t, n, a;
+          return (
+            (t = e),
+            (n = [
+              {
+                key: "hasRole",
+                value: function (e) {
+                  return this.user.orgRole === e;
+                },
+              },
+              {
+                key: "isGrafanaVisible",
+                value: function () {
+                  return !(
+                    void 0 !== document.visibilityState &&
+                    "visible" !== document.visibilityState
+                  );
+                },
+              },
+              {
+                key: "isAllowedInterval",
+                value: function (e) {
+                  return (
+                    !r.b.minRefreshInterval ||
+                    l.a.interval_to_ms(e) >=
+                      l.a.interval_to_ms(r.b.minRefreshInterval)
+                  );
+                },
+              },
+              {
+                key: "getValidInterval",
+                value: function (e) {
+                  return this.isAllowedInterval(e) ? e : r.b.minRefreshInterval;
+                },
+              },
+              {
+                key: "hasAccessToExplore",
+                value: function () {
+                  return (
+                    (this.isEditor || r.b.viewersCanEdit) && r.b.exploreEnabled
+                  );
+                },
+              },
+            ]) && s(t.prototype, n),
+            a && s(t, a),
+            e
+          );
+        })())();
+      i.c.factory("contextSrv", function () {
+        return f;
+      });
+    },
+    uomI: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return w;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("I7VN"),
+        i = n("BC3V"),
+        l = n("S3Uj"),
+        s = n.n(l);
+      function c(e) {
+        return (c =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function u(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function f(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? u(Object(n), !0).forEach(function (t) {
+                d(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : u(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function d(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function p(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function h(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function m(e, t) {
+        return !t || ("object" !== c(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function g(e) {
+        return (g = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function b(e, t) {
+        return (b =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var v = { transition: "opacity 200ms linear", opacity: 0 },
+        y = {
+          exited: { opacity: 0 },
+          entering: { opacity: 0 },
+          entered: { opacity: 1, transitionDelay: "0s" },
+          exiting: { opacity: 0, transitionDelay: "500ms" },
+        },
+        w = (function (e) {
+          function t() {
+            return p(this, t), m(this, g(t).apply(this, arguments));
+          }
+          var n, r, l;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && b(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.content,
+                    n = e.show,
+                    r = e.placement,
+                    l = e.onMouseEnter,
+                    c = e.onMouseLeave,
+                    u = e.className,
+                    d = e.wrapperClassName,
+                    p = e.renderArrow,
+                    h = e.referenceElement,
+                    m = e.eventsEnabled;
+                  return a.a.createElement(
+                    o.a,
+                    null,
+                    a.a.createElement(
+                      s.a,
+                      {
+                        in: n,
+                        timeout: 100,
+                        mountOnEnter: !0,
+                        unmountOnExit: !0,
+                      },
+                      function (e) {
+                        return a.a.createElement(
+                          i.a,
+                          null,
+                          a.a.createElement(
+                            o.b,
+                            {
+                              placement: r,
+                              referenceElement: h,
+                              eventsEnabled: m,
+                              modifiers: {
+                                preventOverflow: {
+                                  enabled: !0,
+                                  boundariesElement: "window",
+                                },
+                              },
+                            },
+                            function (n) {
+                              var r = n.ref,
+                                o = n.style,
+                                i = n.placement,
+                                s = n.arrowProps,
+                                h = n.scheduleUpdate;
+                              return a.a.createElement(
+                                "div",
+                                {
+                                  onMouseEnter: l,
+                                  onMouseLeave: c,
+                                  ref: r,
+                                  style: f({}, o, {}, v, {}, y[e]),
+                                  "data-placement": i,
+                                  className: "".concat(d),
+                                },
+                                a.a.createElement(
+                                  "div",
+                                  { className: u },
+                                  "string" == typeof t && t,
+                                  a.a.isValidElement(t) && a.a.cloneElement(t),
+                                  "function" == typeof t &&
+                                    t({ updatePopperPosition: h }),
+                                  p && p({ arrowProps: s, placement: i })
+                                )
+                              );
+                            }
+                          )
+                        );
+                      }
+                    )
+                  );
+                },
+              },
+            ]) && h(n.prototype, r),
+            l && h(n, l),
+            t
+          );
+        })(r.PureComponent);
+      w.defaultProps = { eventsEnabled: !0 };
+    },
+    v4Fa: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return o;
+      });
+      var r = n("LvDl"),
+        a = n.n(r);
+      function o(e) {
+        return e && !a.a.isString(e)
+          ? e.message
+            ? e.message
+            : e.data && e.data.message
+            ? e.data.message
+            : e.statusText
+            ? e.statusText
+            : JSON.stringify(e)
+          : e;
+      }
+    },
+    v7bs: function (e, t) {
+      var n = "public/app/plugins/panel/table/column_options.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=edit-tab-content ng-repeat="style in editor.panel.styles">\n  <div class="section gf-form-group">\n    <h5 class=section-heading>Options</h5>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label width-12">Apply to columns named</label>\n        <input type=text placeholder="Name or regex" class="gf-form-input width-13" ng-model=style.pattern bs-tooltip="\'Specify regex using /my.*regex/ syntax\'" bs-typeahead=editor.getColumnNames ng-blur=editor.render() data-min-length=0 data-items=100 ng-model-onblur data-placement=right>\n      </div>\n    </div>\n    <div class=gf-form ng-if="style.type !== \'hidden\'">\n      <label class="gf-form-label width-12">Column Header</label>\n      <input type=text class="gf-form-input width-12" ng-model=style.alias ng-change=editor.render() ng-model-onblur placeholder="Override header label">\n    </div>\n    <gf-form-switch class=gf-form label-class=width-12 label="Render value as link" checked=style.link on-change=editor.render()></gf-form-switch>\n  </div>\n\n  <div class="section gf-form-group">\n    <h5 class=section-heading>Type</h5>\n\n    <div class=gf-form>\n      <label class="gf-form-label width-10">Type</label>\n      <div class="gf-form-select-wrapper width-16">\n        <select class=gf-form-input ng-model=style.type ng-options="c.value as c.text for c in editor.columnTypes" ng-change=editor.render()></select>\n      </div>\n    </div>\n    <div class=gf-form ng-if="style.type === \'date\'">\n      <label class="gf-form-label width-10">Date Format</label>\n      <gf-form-dropdown model=style.dateFormat css-class="gf-form-input width-16" lookup-text=true get-options=editor.dateFormats on-change=editor.render() allow-custom=true>\n      </gf-form-dropdown>\n    </div>\n\n    <div ng-if="style.type === \'string\'">\n      <gf-form-switch class=gf-form label-class=width-10 ng-if="style.type === \'string\'" label="Sanitize HTML" checked=style.sanitize on-change=editor.render()></gf-form-switch>\n    </div>\n\n    <div ng-if="style.type !== \'hidden\'">\n      <div class=gf-form>\n        <label class="gf-form-label width-10">Align</label>\n        <gf-form-dropdown model=style.align css-class="gf-form-input width-16" lookup-text=true get-options=editor.alignTypes allow-custom=false on-change=editor.render() allow-custom=false />\n      </div>\n    </div>\n\n    <div ng-if="style.type === \'string\'">\n      <gf-form-switch class=gf-form label-class=width-10 ng-if="style.type === \'string\'" label="Preserve Formatting" checked=style.preserveFormat on-change=editor.render()></gf-form-switch>\n    </div>\n\n    <div ng-if="style.type === \'number\'">\n      <div class=gf-form>\n        <label class="gf-form-label width-10">Unit</label>\n        <unit-picker onchange=editor.setUnitFormat(style) value=style.unit width=16></unit-picker>\n      </div>\n      <div class=gf-form>\n        <label class="gf-form-label width-10">Decimals</label>\n        <input type=number class="gf-form-input width-4" data-placement=right ng-model=style.decimals ng-change=editor.render() ng-model-onblur>\n      </div>\n    </div>\n  </div>\n\n  <div class="section gf-form-group" ng-if="style.type === \'string\'">\n    <h5 class=section-heading>Value Mappings</h5>\n    <div class=editor-row>\n      <div class=gf-form-group>\n        <div class=gf-form>\n          <span class=gf-form-label>\n            Type\n          </span>\n          <div class=gf-form-select-wrapper>\n            <select class=gf-form-input ng-model=style.mappingType ng-options="c.value as c.text for c in editor.mappingTypes" ng-change=editor.render()></select>\n          </div>\n        </div>\n        <div class=gf-form-group ng-if="style.mappingType==1">\n          <div class=gf-form ng-repeat="map in style.valueMaps">\n            <span class=gf-form-label>\n              <i class="fa fa-remove pointer" ng-click="editor.removeValueMap(style, $index)"></i>\n            </span>\n            <input type=text class="gf-form-input max-width-6" ng-model=map.value placeholder=Value ng-blur=editor.render()>\n            <label class=gf-form-label>\n              <i class="fa fa-arrow-right"></i>\n            </label>\n            <input type=text class="gf-form-input max-width-8" ng-model=map.text placeholder=Text ng-blur=editor.render()>\n          </div>\n          <div class=gf-form>\n            <label class=gf-form-label>\n              <a class=pointer ng-click=editor.addValueMap(style)><i class="fa fa-plus"></i></a>\n            </label>\n          </div>\n        </div>\n        <div class=gf-form-group ng-if="style.mappingType==2">\n          <div class=gf-form ng-repeat="rangeMap in style.rangeMaps">\n            <span class=gf-form-label>\n              <i class="fa fa-remove pointer" ng-click="editor.removeRangeMap(style, $index)"></i>\n            </span>\n            <span class=gf-form-label>From</span>\n            <input type=text ng-model=rangeMap.from class="gf-form-input max-width-6" ng-blur=editor.render()>\n            <span class=gf-form-label>To</span>\n            <input type=text ng-model=rangeMap.to class="gf-form-input max-width-6" ng-blur=editor.render()>\n            <span class=gf-form-label>Text</span>\n            <input type=text ng-model=rangeMap.text class="gf-form-input max-width-8" ng-blur=editor.render()>\n          </div>\n          <div class=gf-form>\n            <label class=gf-form-label>\n              <a class=pointer ng-click=editor.addRangeMap(style)><i class="fa fa-plus"></i></a>\n            </label>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n\n  <div class="section gf-form-group" ng-if="[\'number\', \'string\'].indexOf(style.type) !== -1">\n    <h5 class=section-heading>Thresholds</h5>\n    <div class=gf-form>\n      <label class="gf-form-label width-8">Thresholds\n        <tip>Comma separated values</tip>\n      </label>\n      <input type=text class="gf-form-input width-10" ng-model=style.thresholds placeholder=50,80 ng-blur=editor.render() array-join>\n    </div>\n    <div class=gf-form>\n      <label class="gf-form-label width-8">Color Mode</label>\n      <div class="gf-form-select-wrapper width-10">\n        <select class=gf-form-input ng-model=style.colorMode ng-options="c.value as c.text for c in editor.colorModes" ng-change=editor.render()></select>\n      </div>\n    </div>\n    <div class=gf-form>\n      <label class="gf-form-label width-8">Colors</label>\n      <span class=gf-form-label>\n        <color-picker color=style.colors[0] onchange=editor.onColorChange(style,0)></color-picker>\n      </span>\n      <span class=gf-form-label>\n        <color-picker color=style.colors[1] onchange=editor.onColorChange(style,1)></color-picker>\n      </span>\n      <span class=gf-form-label>\n        <color-picker color=style.colors[2] onchange=editor.onColorChange(style,2)></color-picker>\n      </span>\n      <div class=gf-form-label>\n        <a class=pointer ng-click=editor.invertColorOrder($index)>Invert</a>\n      </div>\n    </div>\n  </div>\n\n  <div class="section gf-form-group" ng-if=style.link>\n    <h5 class=section-heading>Link</h5>\n    <div class=gf-form>\n      <label class="gf-form-label width-9">\n        Url\n        <info-popover mode=right-normal>\n          <p>Specify an URL (relative or absolute)</p>\n          <span>\n            Use special variables to specify cell values:\n            <br>\n            <em>${__cell}</em> refers to current cell value\n            <br>\n            <em>${__cell_n}</em> refers to Nth column value in current row. Column indexes are started from 0. For instance,\n            <em>${__cell_1}</em> refers to second column\'s value.\n            <br>\n            <em>${__cell:raw}</em> syntax. By default values are URI encoded. If the value is a complete URL you can disable all encoding using\n          </span>\n        </info-popover>\n      </label>\n      <input type=text class="gf-form-input width-29" ng-model=style.linkUrl ng-blur=editor.render() ng-model-onblur data-placement=right>\n    </div>\n    <div class=gf-form>\n      <label class="gf-form-label width-9">\n        Tooltip\n        <info-popover mode=right-normal>\n          <p>Specify text for link tooltip.</p>\n          <span>\n              This title appears when user hovers pointer over the cell with link. Use the same variables as for URL.\n          </span>\n        </info-popover>\n      </label>\n      <input type=text class="gf-form-input width-29" ng-model=style.linkTooltip ng-blur=editor.render() ng-model-onblur data-placement=right>\n    </div>\n    <gf-form-switch class=gf-form label-class=width-9 label="Open in new tab" checked=style.linkTargetBlank></gf-form-switch>\n  </div>\n\n  <div class=clearfix></div>\n  <div class=gf-form-group>\n    <button class="btn btn-danger btn-small" ng-click=editor.removeColumnStyle(style)>\n      <i class="fa fa-trash"></i> Remove Rule\n    </button>\n  </div>\n\n  <hr>\n</div>\n\n<div class=gf-form-button-row>\n  <button class="btn btn-inverse" ng-click=editor.addColumnStyle()>\n    <i class="fa fa-plus"></i>&nbsp;Add column style\n  </button>\n</div>\n\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    vFKA: function (e, t, n) {
+      var r = {
+        "./core/components/manage_dashboards/manage_dashboards.html": "EOC3",
+        "./core/components/search/search.html": "xQSJ",
+        "./core/components/search/search_results.html": "VDBq",
+        "./features/admin/partials/admin_home.html": "1duI",
+        "./features/admin/partials/edit_org.html": "1yDb",
+        "./features/admin/partials/edit_user.html": "QH30",
+        "./features/admin/partials/orgs.html": "eYNV",
+        "./features/admin/partials/stats.html": "iSop",
+        "./features/admin/partials/styleguide.html": "6rcN",
+        "./features/admin/partials/users.html": "lpb/",
+        "./features/alerting/partials/alert_howto.html": "wvI5",
+        "./features/alerting/partials/alert_tab.html": "0LRa",
+        "./features/alerting/partials/notification_edit.html": "WNR3",
+        "./features/alerting/partials/notifications_list.html": "BvEB",
+        "./features/annotations/partials/editor.html": "RyIb",
+        "./features/annotations/partials/event_editor.html": "vk65",
+        "./features/dashboard/components/DashLinks/editor.html": "HPUJ",
+        "./features/dashboard/components/DashboardSettings/template.html":
+          "jvip",
+        "./features/dashboard/components/ExportDataModal/template.html": "qrvd",
+        "./features/dashboard/components/RowOptions/template.html": "iyz2",
+        "./features/dashboard/components/SubMenu/template.html": "coz7",
+        "./features/dashboard/components/VersionHistory/template.html": "wxmp",
+        "./features/datasources/partials/http_settings.html": "11hs",
+        "./features/datasources/partials/http_settings_next.html": "WtGe",
+        "./features/datasources/partials/tls_auth_settings.html": "/2Ru",
+        "./features/folders/partials/create_folder.html": "3XPa",
+        "./features/folders/partials/folder_dashboards.html": "yFUm",
+        "./features/manage-dashboards/components/MoveToFolderModal/template.html":
+          "3lkw",
+        "./features/manage-dashboards/partials/dashboard_import.html": "uiFW",
+        "./features/manage-dashboards/partials/dashboard_list.html": "OPwE",
+        "./features/manage-dashboards/partials/snapshot_list.html": "aLCo",
+        "./features/org/partials/newOrg.html": "iFH1",
+        "./features/org/partials/select_org.html": "QBcC",
+        "./features/panel/panellinks/module.html": "bDa/",
+        "./features/panel/partials/general_tab.html": "XrM5",
+        "./features/panel/partials/panelTime.html": "oZti",
+        "./features/panel/partials/query_editor_row.html": "oEL2",
+        "./features/playlist/partials/playlist.html": "krwA",
+        "./features/playlist/partials/playlist_search.html": "4x4p",
+        "./features/playlist/partials/playlists.html": "M76c",
+        "./features/plugins/partials/plugin_page.html": "0+gp",
+        "./features/plugins/partials/update_instructions.html": "X4jf",
+        "./features/profile/partials/profile.html": "Uw6O",
+        "./features/templating/partials/editor.html": "6V0m",
+        "./partials/confirm_modal.html": "iKVC",
+        "./partials/edit_json.html": "Ukuu",
+        "./partials/error.html": "UkAP",
+        "./partials/modal.html": "/YHu",
+        "./partials/reset_password.html": "YRnh",
+        "./partials/signup_invited.html": "7teh",
+        "./partials/valueSelectDropdown.html": "0bcw",
+        "./plugins/datasource/cloudwatch/partials/annotations.editor.html":
+          "E1lu",
+        "./plugins/datasource/cloudwatch/partials/query.parameter.html": "hSYD",
+        "./plugins/datasource/elasticsearch/partials/annotations.editor.html":
+          "LzuI",
+        "./plugins/datasource/elasticsearch/partials/bucket_agg.html": "NhjT",
+        "./plugins/datasource/elasticsearch/partials/metric_agg.html": "Pfkp",
+        "./plugins/datasource/elasticsearch/partials/pipeline_variables.html":
+          "VKbU",
+        "./plugins/datasource/elasticsearch/partials/query.editor.html": "bR/a",
+        "./plugins/datasource/grafana-azure-monitor-datasource/partials/annotations.editor.html":
+          "Qinm",
+        "./plugins/datasource/grafana-azure-monitor-datasource/partials/query.editor.html":
+          "ADUO",
+        "./plugins/datasource/grafana/partials/annotations.editor.html": "/8l8",
+        "./plugins/datasource/grafana/partials/query.editor.html": "dQag",
+        "./plugins/datasource/graphite/partials/annotations.editor.html":
+          "2rVl",
+        "./plugins/datasource/graphite/partials/query.editor.html": "ePCq",
+        "./plugins/datasource/influxdb/partials/annotations.editor.html":
+          "Szrz",
+        "./plugins/datasource/influxdb/partials/query.editor.html": "/HFP",
+        "./plugins/datasource/loki/partials/annotations.editor.html": "3CYn",
+        "./plugins/datasource/mssql/partials/annotations.editor.html": "PQb9",
+        "./plugins/datasource/mssql/partials/config.html": "1kYe",
+        "./plugins/datasource/mssql/partials/query.editor.html": "U1ax",
+        "./plugins/datasource/mysql/partials/annotations.editor.html": "9RCP",
+        "./plugins/datasource/mysql/partials/config.html": "7ym3",
+        "./plugins/datasource/mysql/partials/query.editor.html": "gw38",
+        "./plugins/datasource/opentsdb/partials/annotations.editor.html":
+          "s+LN",
+        "./plugins/datasource/opentsdb/partials/query.editor.html": "vhkK",
+        "./plugins/datasource/postgres/partials/annotations.editor.html":
+          "I+An",
+        "./plugins/datasource/postgres/partials/config.html": "diqK",
+        "./plugins/datasource/postgres/partials/query.editor.html": "HmKx",
+        "./plugins/datasource/prometheus/partials/annotations.editor.html":
+          "jaLZ",
+        "./plugins/datasource/stackdriver/partials/annotations.editor.html":
+          "cytP",
+        "./plugins/datasource/stackdriver/partials/config.html": "OEPh",
+        "./plugins/datasource/stackdriver/partials/query.editor.html": "7wpZ",
+        "./plugins/datasource/testdata/partials/query.editor.html": "pCo/",
+        "./plugins/panel/alertlist/editor.html": "phJb",
+        "./plugins/panel/alertlist/module.html": "0ZQg",
+        "./plugins/panel/dashlist/editor.html": "QqjE",
+        "./plugins/panel/dashlist/module.html": "eNSq",
+        "./plugins/panel/graph/axes_editor.html": "ZG7E",
+        "./plugins/panel/graph/tab_display.html": "Lmi3",
+        "./plugins/panel/graph/tab_drilldown_links.html": "cZsJ",
+        "./plugins/panel/graph/tab_legend.html": "/XDc",
+        "./plugins/panel/graph/tab_thresholds_time_regions.html": "hiSG",
+        "./plugins/panel/graph/thresholds_form.html": "zJCM",
+        "./plugins/panel/graph/time_regions_form.html": "pDgv",
+        "./plugins/panel/heatmap/module.html": "NoBN",
+        "./plugins/panel/heatmap/partials/axes_editor.html": "vInx",
+        "./plugins/panel/heatmap/partials/display_editor.html": "mCU5",
+        "./plugins/panel/pluginlist/editor.html": "7dpV",
+        "./plugins/panel/pluginlist/module.html": "UJAu",
+        "./plugins/panel/singlestat/editor.html": "hE9y",
+        "./plugins/panel/singlestat/mappings.html": "2euF",
+        "./plugins/panel/singlestat/module.html": "8iRp",
+        "./plugins/panel/table/column_options.html": "v7bs",
+        "./plugins/panel/table/editor.html": "RYWr",
+        "./plugins/panel/table/module.html": "N1Zo",
+        "./plugins/panel/text/editor.html": "9CCn",
+        "./plugins/panel/text/module.html": "/Dwp",
+      };
+      function a(e) {
+        var t = o(e);
+        return n(t);
+      }
+      function o(e) {
+        if (!n.o(r, e)) {
+          var t = new Error("Cannot find module '" + e + "'");
+          throw ((t.code = "MODULE_NOT_FOUND"), t);
+        }
+        return r[e];
+      }
+      (a.keys = function () {
+        return Object.keys(r);
+      }),
+        (a.resolve = o),
+        (e.exports = a),
+        (a.id = "vFKA");
+    },
+    vInx: function (e, t) {
+      var n = "public/app/plugins/panel/heatmap/partials/axes_editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=editor-row>\n  <div class="section gf-form-group">\n    <h5 class=section-heading>Y Axis</h5>\n    <div class=gf-form>\n      <label class="gf-form-label width-8">Unit</label>\n      <div class="gf-form-dropdown-typeahead width-12" ng-model=ctrl.panel.yAxis.format dropdown-typeahead2=editor.unitFormats dropdown-typeahead-on-select=editor.setUnitFormat($subItem)>\n      </div>\n    </div>\n    <div ng-if="ctrl.panel.dataFormat == \'timeseries\'">\n      <div class=gf-form>\n        <label class="gf-form-label width-8">Scale</label>\n        <div class="gf-form-select-wrapper width-12">\n          <select class=gf-form-input ng-model=ctrl.panel.yAxis.logBase ng-options="v as k for (k, v) in editor.logScales" ng-change=ctrl.refresh()></select>\n        </div>\n      </div>\n      <div class=gf-form>\n        <label class="gf-form-label width-8">Y-Min</label>\n        <input type=text class="gf-form-input width-12" placeholder=auto empty-to-null ng-model=ctrl.panel.yAxis.min ng-change=ctrl.render() ng-model-onblur>\n      </div>\n      <div class=gf-form>\n        <label class="gf-form-label width-8">Y-Max</label>\n        <input type=text class="gf-form-input width-12" placeholder=auto empty-to-null ng-model=ctrl.panel.yAxis.max ng-change=ctrl.render() ng-model-onblur>\n      </div>\n    </div>\n    <div class=gf-form>\n      <label class="gf-form-label width-8">Decimals</label>\n      <input type=number class="gf-form-input width-12" placeholder=auto data-placement=right bs-tooltip="\'Override automatic decimal precision for axis.\'" ng-model=ctrl.panel.yAxis.decimals ng-change=ctrl.render() ng-model-onblur>\n    </div>\n    <div class=gf-form ng-if="ctrl.panel.dataFormat == \'tsbuckets\'">\n      <label class="gf-form-label width-8">Bucket bound</label>\n      <div class="gf-form-select-wrapper max-width-12">\n        <select class=gf-form-input ng-model=ctrl.panel.yBucketBound ng-options="v as k for (k, v) in editor.yBucketBoundModes" ng-change=ctrl.render() data-placement=right bs-tooltip="\'Use series label as an upper or lower bucket bound.\'">\n        </select>\n      </div>\n    </div>\n    <gf-form-switch ng-if="ctrl.panel.dataFormat == \'tsbuckets\'" class=gf-form label-class=width-8 label="Reverse order" checked=ctrl.panel.reverseYBuckets on-change=ctrl.refresh()>\n    </gf-form-switch>\n  </div>\n\n  <div class="section gf-form-group" ng-if="ctrl.panel.dataFormat == \'timeseries\'">\n    <h5 class=section-heading>Buckets</h5>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label width-5">Y Axis</label>\n      </div>\n      <div class=gf-form ng-show="ctrl.panel.yAxis.logBase === 1">\n        <label class="gf-form-label width-5">Buckets</label>\n        <input type=number class="gf-form-input width-5" placeholder=auto data-placement=right bs-tooltip="\'Number of buckets for Y axis.\'" ng-model=ctrl.panel.yBucketNumber ng-change=ctrl.refresh() ng-model-onblur>\n      </div>\n      <div class=gf-form ng-show="ctrl.panel.yAxis.logBase === 1">\n        <label class="gf-form-label width-4">Size</label>\n        <input type=number class="gf-form-input width-5" placeholder=auto data-placement=right bs-tooltip="\'Size of bucket. Has priority over Buckets option.\'" ng-model=ctrl.panel.yBucketSize ng-change=ctrl.refresh() ng-model-onblur>\n      </div>\n      <div class=gf-form ng-show="ctrl.panel.yAxis.logBase !== 1">\n        <label class="gf-form-label width-10">Split Factor</label>\n        <input type=number class="gf-form-input width-9" placeholder=1 data-placement=right bs-tooltip="\'For log scales only. By default Y values is splitted by integer powers of log base (1, 2, 4, 8, 16, ... for log2). This option allows to split each default bucket into specified number of buckets.\'" ng-model=ctrl.panel.yAxis.splitFactor ng-change=ctrl.refresh() ng-model-onblur>\n        \n      </div>\n    </div>\n    <div class=gf-form-inline>\n      <div class=gf-form>\n        <label class="gf-form-label width-5">X Axis</label>\n      </div>\n      <div class=gf-form>\n        <label class="gf-form-label width-5">Buckets</label>\n        <input type=number class="gf-form-input width-5" placeholder=auto data-placement=right bs-tooltip="\'Number of buckets for X axis.\'" ng-model=ctrl.panel.xBucketNumber ng-change=ctrl.refresh() ng-model-onblur>\n      </div>\n      <div class=gf-form>\n        <label class="gf-form-label width-4">Size</label>\n        <input type=text class="gf-form-input width-5" placeholder=auto data-placement=right bs-tooltip="\'Size of bucket. Number or interval (10s, 5m, 1h, etc). Supported intervals: ms, s, m, h, d, w, M, y. Has priority over Buckets option.\'" ng-model=ctrl.panel.xBucketSize ng-change=ctrl.refresh() ng-model-onblur>\n      </div>\n    </div>\n  </div>\n\n  <div class="section gf-form-group">\n    <h5 class=section-heading>Data format</h5>\n    <div class=gf-form>\n      <label class="gf-form-label width-5">Format</label>\n      <div class="gf-form-select-wrapper max-width-15">\n        <select class=gf-form-input ng-model=ctrl.panel.dataFormat ng-options="v as k for (k, v) in editor.dataFormats" ng-change=ctrl.render() data-placement=right bs-tooltip="\'Time series: create heatmap from regular time series. <br>Time series buckets: use histogram data returned from data source. Each series represents bucket which upper/lower bound is a series label.\'">\n        </select>\n      </div>\n    </div>\n  </div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    vKfT: function (e, t) {
+      jQuery.plot.plugins.push({
+        init: function (e) {
+          e.hooks.processDatapoints.push(function (e, t, n) {
+            t.dashes.show &&
+              e.hooks.draw.push(function (e, r) {
+                var a = e.getPlotOffset(),
+                  o = t.xaxis,
+                  i = t.yaxis;
+                function l(e, a) {
+                  var l,
+                    s,
+                    c = n.points,
+                    u = n.pointsize,
+                    f = null,
+                    d = null,
+                    p = 0,
+                    h = !0;
+                  t.dashes.dashLength[0]
+                    ? ((l = t.dashes.dashLength[0]),
+                      (s = t.dashes.dashLength[1] ? t.dashes.dashLength[1] : l))
+                    : (s = l = t.dashes.dashLength),
+                    r.beginPath();
+                  for (var m = u; m < c.length; m += u) {
+                    var g = c[m - u],
+                      b = c[m - u + 1],
+                      v = c[m],
+                      y = c[m + 1];
+                    if (null != g && null != v) {
+                      if (b <= y && b < i.min) {
+                        if (y < i.min) continue;
+                        (g = ((i.min - b) / (y - b)) * (v - g) + g),
+                          (b = i.min);
+                      } else if (y <= b && y < i.min) {
+                        if (b < i.min) continue;
+                        (v = ((i.min - b) / (y - b)) * (v - g) + g),
+                          (y = i.min);
+                      }
+                      if (b >= y && b > i.max) {
+                        if (y > i.max) continue;
+                        (g = ((i.max - b) / (y - b)) * (v - g) + g),
+                          (b = i.max);
+                      } else if (y >= b && y > i.max) {
+                        if (b > i.max) continue;
+                        (v = ((i.max - b) / (y - b)) * (v - g) + g),
+                          (y = i.max);
+                      }
+                      if (g <= v && g < o.min) {
+                        if (v < o.min) continue;
+                        (b = ((o.min - g) / (v - g)) * (y - b) + b),
+                          (g = o.min);
+                      } else if (v <= g && v < o.min) {
+                        if (g < o.min) continue;
+                        (y = ((o.min - g) / (v - g)) * (y - b) + b),
+                          (v = o.min);
+                      }
+                      if (g >= v && g > o.max) {
+                        if (v > o.max) continue;
+                        (b = ((o.max - g) / (v - g)) * (y - b) + b),
+                          (g = o.max);
+                      } else if (v >= g && v > o.max) {
+                        if (g > o.max) continue;
+                        (y = ((o.max - g) / (v - g)) * (y - b) + b),
+                          (v = o.max);
+                      }
+                      (g == f && b == d) ||
+                        r.moveTo(o.p2c(g) + e, i.p2c(b) + a);
+                      var w,
+                        O = o.p2c(g) + e,
+                        x = i.p2c(b) + a,
+                        k = o.p2c(v) + e,
+                        j = i.p2c(y) + a;
+                      do {
+                        (0 == (w = S(p > 0 ? p : h ? l : s)).deltaX &&
+                          0 == w.deltaY) ||
+                          (h
+                            ? r.lineTo(O + w.deltaX, x + w.deltaY)
+                            : r.moveTo(O + w.deltaX, x + w.deltaY)),
+                          (h = !h),
+                          (p = w.remainder),
+                          (O += w.deltaX),
+                          (x += w.deltaY);
+                      } while (w.distance > 0);
+                      (f = v), (d = y);
+                    }
+                    function S(e) {
+                      var t = Math.sqrt(
+                        Math.pow(k - O, 2) + Math.pow(j - x, 2)
+                      );
+                      if (t <= e)
+                        return {
+                          deltaX: k - O,
+                          deltaY: j - x,
+                          distance: t,
+                          remainder: e - t,
+                        };
+                      var n = j > x ? 1 : -1;
+                      return {
+                        deltaX:
+                          (k > O ? 1 : -1) *
+                          Math.sqrt(
+                            Math.pow(e, 2) /
+                              (1 + Math.pow((j - x) / (k - O), 2))
+                          ),
+                        deltaY:
+                          n *
+                          Math.sqrt(
+                            Math.pow(e, 2) -
+                              Math.pow(e, 2) /
+                                (1 + Math.pow((j - x) / (k - O), 2))
+                          ),
+                        distance: e,
+                        remainder: 0,
+                      };
+                    }
+                  }
+                  r.stroke();
+                }
+                r.save(), r.translate(a.left, a.top), (r.lineJoin = "round");
+                var s = t.dashes.lineWidth,
+                  c = t.shadowSize;
+                if (s > 0 && c > 0) {
+                  (r.lineWidth = c), (r.strokeStyle = "rgba(0,0,0,0.1)");
+                  var u = Math.PI / 18;
+                  l(
+                    Math.sin(u) * (s / 2 + c / 2),
+                    Math.cos(u) * (s / 2 + c / 2)
+                  ),
+                    (r.lineWidth = c / 2),
+                    l(
+                      Math.sin(u) * (s / 2 + c / 4),
+                      Math.cos(u) * (s / 2 + c / 4)
+                    );
+                }
+                (r.lineWidth = s),
+                  (r.strokeStyle = t.color),
+                  s > 0 && l(0, 0),
+                  r.restore();
+              });
+          });
+        },
+        options: {
+          series: { dashes: { show: !1, lineWidth: 2, dashLength: 10 } },
+        },
+        name: "dashes",
+        version: "0.1",
+      });
+    },
+    vMjj: function (e, t, n) {
+      "use strict";
+      n.d(t, "c", function () {
+        return c;
+      }),
+        n.d(t, "b", function () {
+          return u;
+        }),
+        n.d(t, "a", function () {
+          return f;
+        });
+      var r = n("i7Pf");
+      function a(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function o(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? a(Object(n), !0).forEach(function (t) {
+                i(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : a(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function i(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var l = Object(r.c)({
+          name: "appNotifications",
+          initialState: { appNotifications: [] },
+          reducers: {
+            notifyApp: function (e, t) {
+              return o({}, e, {
+                appNotifications: e.appNotifications.concat([t.payload]),
+              });
+            },
+            clearAppNotification: function (e, t) {
+              return o({}, e, {
+                appNotifications: e.appNotifications.filter(function (e) {
+                  return e.id !== t.payload;
+                }),
+              });
+            },
+          },
+        }),
+        s = l.actions,
+        c = s.notifyApp,
+        u = s.clearAppNotification,
+        f = l.reducer;
+    },
+    vhkK: function (e, t) {
+      var n =
+        "public/app/plugins/datasource/opentsdb/partials/query.editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<query-editor-row query-ctrl=ctrl can-collapse=false>\n\t<div class=gf-form-inline>\n\t\t<div class="gf-form max-width-25">\n\t\t\t<label class="gf-form-label query-keyword width-8">\n\t\t\t\tMetric\n\t\t\t\t<label class=gf-form-label bs-tooltip=ctrl.errors.metric style=color:#e5bd1c ng-show=ctrl.errors.metric>\n\t\t\t\t\t<i class="fa fa-warning"></i>\n\t\t\t\t</label>\n\t\t\t</label>\n\t\t\t<input type=text class=gf-form-input ng-model=ctrl.target.metric spellcheck=false bs-typeahead=ctrl.suggestMetrics placeholder="metric name" data-min-length=0 data-items=100 ng-blur=ctrl.targetBlur()>\n\t\t\t\n\t\t</div>\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword">\n\t\t\t\tAggregator\n\t\t\t\t<a bs-tooltip=ctrl.errors.aggregator style=color:#e5bd1c ng-show=ctrl.errors.aggregator>\n\t\t\t\t\t<i class="fa fa-warning"></i>\n\t\t\t\t</a>\n\t\t\t</label>\n\t\t\t<div class="gf-form-select-wrapper max-width-15">\n\t\t\t\t<select ng-model=ctrl.target.aggregator class=gf-form-input ng-options="agg for agg in ctrl.aggregators" ng-change=ctrl.targetBlur()>\n\t\t \t </select>\n\t\t\t</div>\n\t\t</div>\n\t\t\t<div class="gf-form max-width-20">\n\t\t\t\t<label class="gf-form-label query-keyword width-6">\n\t\t\t\t\tAlias:\n\t\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\t\tUse patterns like $tag_tagname to replace part of the alias for a tag value\n\t\t\t\t\t</info-popover>\n\t\t\t\t</label>\n\t\t\t\t<input type=text class=gf-form-input ng-model=ctrl.target.alias spellcheck=false placeholder="series alias" data-min-length=0 data-items=100 ng-blur=ctrl.targetBlur()>\n\t\t\t</div>\n\n\t\t\t<div class="gf-form gf-form--grow">\n\t\t\t\t<div class="gf-form-label gf-form-label--grow"></div>\n\t\t\t</div>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class="gf-form max-width-25">\n\t\t\t<label class="gf-form-label query-keyword width-8">Down sample</label>\n\t\t\t<input type=text class="gf-form-input gf-form-input--has-help-icon" ng-model=ctrl.target.downsampleInterval ng-model-onblur ng-change=ctrl.targetBlur() placeholder=interval>\n\t\t\t<info-popover mode=right-absolute>\n\t\t\t\tblank for auto, or for example <code>1m</code>\n\t\t\t</info-popover>\n\t\t</div>\n\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword">Aggregator</label>\n\t\t\t<div class=gf-form-select-wrapper>\n\t\t\t\t<select ng-model=ctrl.target.downsampleAggregator class=gf-form-input ng-options="agg for agg in ctrl.aggregators" ng-change=ctrl.targetBlur()>\n\t\t\t\t</select>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=gf-form ng-if="ctrl.tsdbVersion >= 2">\n\t\t\t<label class="gf-form-label query-keyword width-6">Fill</label>\n\t\t\t<div class=gf-form-select-wrapper>\n\t\t\t\t<select ng-model=ctrl.target.downsampleFillPolicy class=gf-form-input ng-options="agg for agg in ctrl.fillPolicies" ng-change=ctrl.targetBlur()>\n\t\t\t\t</select>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<gf-form-switch class=gf-form label="Disable downsampling" label-class=query-keyword checked=ctrl.target.disableDownsampling on-change=ctrl.targetBlur()>\n\t\t</gf-form-switch>\n\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<div class="gf-form-label gf-form-label--grow"></div>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-inline ng-if="ctrl.tsdbVersion >= 2">\n\t\t<div class=gf-form>\n\n\t\t\t<label class="gf-form-label query-keyword width-8">\n\t\t\t\tFilters\n\t\t\t\t<info-popover mode=right-normal>\n\t\t\t\t\tFilters does not work with tags, either of the two will work but not both.\n\t\t\t\t</info-popover>\n\t\t\t</label>\n\n\t\t\t<div ng-repeat="fil in ctrl.target.filters track by $index" class=gf-form-label>\n\t\t\t\t{{fil.tagk}}&nbsp;=&nbsp;{{fil.type}}&#40;{{fil.filter}}&#41;&nbsp;&#44&nbsp;groupBy&nbsp;=&nbsp;{{fil.groupBy}}\n\t\t\t\t<a ng-click="ctrl.editFilter(fil, $index)">\n\t\t\t\t\t<i class="fa fa-pencil"></i>\n\t\t\t\t</a>\n\t\t\t\t<a ng-click=ctrl.removeFilter($index)>\n\t\t\t\t\t<i class="fa fa-remove"></i>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t\t<label class="gf-form-label query-keyword" ng-hide=ctrl.addFilterMode>\n\t\t\t\t<a ng-click=ctrl.addFilter()>\n\t\t\t\t\t<i class="fa fa-plus"></i>\n\t\t\t\t</a>\n\t\t\t</label>\n \t\t</div>\n\n\t\t<div class=gf-form-inline ng-show=ctrl.addFilterMode>\n\t\t\t<div class=gf-form>\n\t\t\t\t<input type=text class=gf-form-input spellcheck=false bs-typeahead=ctrl.suggestTagKeys data-min-length=0 data-items=100 ng-model=ctrl.target.currentFilterKey placeholder=key>\n\t\t\t\t\n\t\t\t</div>\n\n\t\t\t<div class=gf-form>\n\t\t\t\t<label class="gf-form-label query-keyword">Type</label>\n\t\t\t\t<div class=gf-form-select-wrapper>\n\t\t\t\t\t<select ng-model=ctrl.target.currentFilterType class=gf-form-input ng-options="filType for filType in ctrl.filterTypes">\n\t\t\t\t\t</select>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class=gf-form>\n\t\t\t\t<input type=text class=gf-form-input spellcheck=false bs-typeahead=ctrl.suggestTagValues data-min-length=0 data-items=100 ng-model=ctrl.target.currentFilterValue placeholder=filter>\n\t\t\t\t\n\t\t\t</div>\n\n      <gf-form-switch class=gf-form label="Group by" label-class=query-keyword checked=ctrl.target.currentFilterGroupBy on-change=ctrl.targetBlur()>\n\t\t\t</gf-form-switch>\n\n\t\t\t<div class=gf-form ng-show=ctrl.addFilterMode>\n\t\t\t\t<label class=gf-form-label ng-show=ctrl.errors.filters>\n\t\t\t\t\t<a bs-tooltip=ctrl.errors.filters style=color:#e5bd1c>\n\t\t\t\t\t\t<i class="fa fa-warning"></i>\n\t\t\t\t\t</a>\n\t\t\t\t</label>\n\t\t\t\t<label class=gf-form-label>\n\t\t\t\t\t<a ng-click=ctrl.addFilter() ng-hide=ctrl.errors.filters>add filter</a>\n\t\t\t\t\t<a ng-click=ctrl.closeAddFilterMode()>\n\t\t\t\t\t\t<i class="fa fa-remove"></i>\n\t\t\t\t\t</a>\n\t\t\t\t</label>\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<div class="gf-form-label gf-form-label--grow"></div>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<div class=gf-form>\n\t\t\t<label class="gf-form-label query-keyword width-8">\n\t\t\t\tTags\n\t\t\t\t<info-popover mode=right-normal ng-if="ctrl.tsdbVersion >= 2">\n\t\t\t\t\tPlease use filters, tags are deprecated in opentsdb 2.2\n\t\t\t\t</info-popover>\n\t\t\t</label>\n\t\t</div>\n\n\t\t<div class=gf-form ng-repeat="(key, value) in ctrl.target.tags track by $index" class=gf-form>\n\t\t\t<label class=gf-form-label>\n\t\t\t\t{{key}}&nbsp;=&nbsp;{{value}}\n\t\t\t\t<a ng-click="ctrl.editTag(key, value)">\n\t\t\t\t\t<i class="fa fa-pencil"></i>\n\t\t\t\t</a>\n\t\t\t\t<a ng-click=ctrl.removeTag(key)>\n\t\t\t\t\t<i class="fa fa-remove"></i>\n\t\t\t\t</a>\n\t\t\t</label>\n\t\t</div>\n\n\t\t<div class=gf-form ng-hide=ctrl.addTagMode>\n\t\t\t<label class="gf-form-label query-keyword">\n\t\t\t\t<a ng-click=ctrl.addTag()><i class="fa fa-plus"></i></a>\n\t\t\t</label>\n\t\t</div>\n\n\t\t<div class=gf-form ng-show=ctrl.addTagMode>\n\t\t\t<input type=text class=gf-form-input spellcheck=false bs-typeahead=ctrl.suggestTagKeys data-min-length=0 data-items=100 ng-model=ctrl.target.currentTagKey placeholder=key>\n\t\t\t\n\n\t\t\t<input type=text class=gf-form-input spellcheck=false bs-typeahead=ctrl.suggestTagValues data-min-length=0 data-items=100 ng-model=ctrl.target.currentTagValue placeholder=value>\n\t\t\t\n\n\t\t\t<label class=gf-form-label ng-show=ctrl.errors.tags>\n\t\t\t\t<a bs-tooltip=ctrl.errors.tags style=color:#e5bd1c>\n\t\t\t\t\t<i class="fa fa-warning"></i>\n\t\t\t\t</a>\n\t\t\t</label>\n\t\t\t<label class=gf-form-label>\n\t\t\t\t<a ng-click=ctrl.addTag() ng-hide=ctrl.errors.tags>add tag</a>\n\t\t\t\t<a ng-click=ctrl.closeAddTagMode()><i class="fa fa-remove"></i></a>\n\t\t\t</label>\n\t\t</div>\n\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<div class="gf-form-label gf-form-label--grow"></div>\n\t\t</div>\n\t</div>\n\n\t<div class=gf-form-inline>\n\t\t<gf-form-switch class=gf-form label=Rate label-class="width-8 query-keyword" checked=ctrl.target.shouldComputeRate on-change=ctrl.targetBlur()>\n\t\t</gf-form-switch>\n\n\t\t<gf-form-switch ng-hide=!ctrl.target.shouldComputeRate class=gf-form label=Counter label-class=query-keyword checked=ctrl.target.isCounter on-change=ctrl.targetBlur()>\n\t\t</gf-form-switch>\n\n\n\t\t<div class=gf-form ng-hide="!ctrl.target.isCounter || !ctrl.target.shouldComputeRate">\n\t\t\t<label class="gf-form-label query-keyword">Counter Max</label>\n\t\t\t<input type=text class=gf-form-input ng-disabled=!ctrl.target.shouldComputeRate ng-model=ctrl.target.counterMax spellcheck=false placeholder="max value" ng-model-onblur ng-blur=ctrl.targetBlur()>\n\t\t\t\n\n\t\t\t<label class="gf-form-label query-keyword">Reset Value</label>\n\t\t\t<input type=text class="tight-form-input input-small" ng-disabled=!ctrl.target.shouldComputeRate ng-model=ctrl.target.counterResetValue spellcheck=false placeholder="reset value" ng-model-onblur ng-blur=ctrl.targetBlur()>\n\t\t\t\n\t\t</div>\n\n\t\t<div class=gf-form ng-if="ctrl.tsdbVersion > 2">\n\t\t\t<gf-form-switch class=gf-form label="Explicit tags" label-class="width-8 query-keyword" checked=ctrl.target.explicitTags on-change=ctrl.targetBlur()>\n\t\t\t</gf-form-switch>\n\t\t</div>\n\n\t\t<div class="gf-form gf-form--grow">\n\t\t\t<div class="gf-form-label gf-form-label--grow"></div>\n\t\t</div>\n\t</div>\n</query-editor-row>\n\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    vi1D: function (e, t, n) {
+      "use strict";
+      n.r(t),
+        n.d(t, "alertSuccess", function () {
+          return a;
+        }),
+        n.d(t, "alertWarning", function () {
+          return o;
+        }),
+        n.d(t, "alertError", function () {
+          return i;
+        });
+      var r = n("5m9O"),
+        a = Object(r.a)("alert-success"),
+        o = Object(r.a)("alert-warning"),
+        i = Object(r.a)("alert-error");
+    },
+    vk65: function (e, t) {
+      var n = "public/app/features/annotations/partials/event_editor.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '\n<div class=graph-annotation>\n\t<div class=graph-annotation__header>\n\t\t<div class=graph-annotation__user bs-tooltip="\'Created by {{ctrl.login}}\'">\n\t\t</div>\n\n\t\t<div class=graph-annotation__title>\n\t\t\t<span ng-if=!ctrl.event.id>Add Annotation</span>\n\t\t\t<span ng-if=ctrl.event.id>Edit Annotation</span>\n\t\t</div>\n\n    <div class=graph-annotation__time>{{ctrl.timeFormated}}</div>\n\t</div>\n\n\t<form name=ctrl.form class="graph-annotation__body text-center">\n\t\t<div style=display:inline-block>\n\t\t\t<div class="gf-form gf-form--v-stretch">\n\t\t\t\t<span class="gf-form-label width-7">Description</span>\n\t\t\t\t<textarea class="gf-form-input width-20" rows=2 ng-model=ctrl.event.text placeholder=Description></textarea>\n\t\t\t</div>\n\n\t\t\t<div class=gf-form>\n\t\t\t\t<span class="gf-form-label width-7">Tags</span>\n\t\t\t\t<bootstrap-tagsinput ng-model=ctrl.event.tags tagclass="label label-tag" placeholder="add tags">\n\t\t\t\t</bootstrap-tagsinput>\n\t\t\t</div>\n\n\t\t\t<div class=gf-form-button-row>\n\t\t\t\t \
+            <button type=submit class="btn btn-primary" ng-click=ctrl.save_anomaly_with_vars()>Anomaly</button> \
+            <button type=submit class="btn btn-primary" ng-click=ctrl.save_normal_with_vars()>Normal</button> \
+            \n\t\t\t\t<button type=submit class="btn btn-primary" ng-click=ctrl.save()>Save</button>\n\t\t\t\t<button ng-if=ctrl.event.id type=submit class="btn btn-danger" ng-click=ctrl.delete()>Delete</button>\n\t\t\t\t<a class=btn-text ng-click=ctrl.close();>Cancel</a>\n\t\t\t</div>\n\t\t</div>\n\t</form>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    vkM9: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return y;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("J2iB"),
+        i = n.n(o),
+        l = n("TSYQ"),
+        s = n.n(l),
+        c = n("k82f"),
+        u = n.n(c),
+        f = n("kDDq");
+      function d(e) {
+        return (d =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function p() {
+        return (p =
+          Object.assign ||
+          function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = arguments[t];
+              for (var r in n)
+                Object.prototype.hasOwnProperty.call(n, r) && (e[r] = n[r]);
+            }
+            return e;
+          }).apply(this, arguments);
+      }
+      function h() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })(["\n            visibility: ", ";\n          "]);
+        return (
+          (h = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function m(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function g(e, t) {
+        return !t || ("object" !== d(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function b(e) {
+        return (b = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function v(e, t) {
+        return (v =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var y = (function (e) {
+        function t(e) {
+          var n;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            ((n = g(this, b(t).call(this, e))).renderTrack = function (
+              e,
+              t,
+              n
+            ) {
+              return a.a.createElement(
+                "div",
+                p({}, n, {
+                  className: Object(f.cx)(
+                    Object(f.css)(h(), t ? "hidden" : "visible"),
+                    e
+                  ),
+                })
+              );
+            }),
+            (n.renderThumb = function (e, t) {
+              return a.a.createElement("div", p({}, t, { className: e }));
+            }),
+            (n.renderTrackHorizontal = function (e) {
+              return n.renderTrack(
+                "track-horizontal",
+                n.props.hideHorizontalTrack,
+                e
+              );
+            }),
+            (n.renderTrackVertical = function (e) {
+              return n.renderTrack(
+                "track-vertical",
+                n.props.hideVerticalTrack,
+                e
+              );
+            }),
+            (n.renderThumbHorizontal = function (e) {
+              return n.renderThumb("thumb-horizontal", e);
+            }),
+            (n.renderThumbVertical = function (e) {
+              return n.renderThumb("thumb-vertical", e);
+            }),
+            (n.renderView = function (e) {
+              return a.a.createElement("div", p({}, e, { className: "view" }));
+            }),
+            (n.ref = a.a.createRef()),
+            n
+          );
+        }
+        var n, r, o;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && v(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "updateScroll",
+              value: function () {
+                var e = this.ref.current,
+                  t = this.props.scrollTop;
+                e && !i()(t) && e.scrollTop(t);
+              },
+            },
+            {
+              key: "componentDidMount",
+              value: function () {
+                var e = this;
+                this.updateScroll(),
+                  this.props.updateAfterMountMs &&
+                    setTimeout(function () {
+                      return e.updateAfterMount();
+                    }, this.props.updateAfterMountMs);
+              },
+            },
+            {
+              key: "updateAfterMount",
+              value: function () {
+                if (this.ref && this.ref.current) {
+                  var e = this.ref.current;
+                  e.update && e.update();
+                }
+              },
+            },
+            {
+              key: "componentDidUpdate",
+              value: function () {
+                this.updateScroll();
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this.props,
+                  t = e.className,
+                  n = e.children,
+                  r = e.autoHeightMax,
+                  o = e.autoHeightMin,
+                  i = e.setScrollTop,
+                  l = e.autoHide,
+                  c = e.autoHideTimeout,
+                  f = e.hideTracksWhenNotNeeded;
+                return a.a.createElement(
+                  u.a,
+                  {
+                    ref: this.ref,
+                    className: s()("custom-scrollbar", t),
+                    onScroll: i,
+                    autoHeight: !0,
+                    autoHide: l,
+                    autoHideTimeout: c,
+                    hideTracksWhenNotNeeded: f,
+                    autoHeightMax: r,
+                    autoHeightMin: o,
+                    renderTrackHorizontal: this.renderTrackHorizontal,
+                    renderTrackVertical: this.renderTrackVertical,
+                    renderThumbHorizontal: this.renderThumbHorizontal,
+                    renderThumbVertical: this.renderThumbVertical,
+                    renderView: this.renderView,
+                  },
+                  n
+                );
+              },
+            },
+          ]) && m(n.prototype, r),
+          o && m(n, o),
+          t
+        );
+      })(r.Component);
+      (y.defaultProps = {
+        autoHide: !1,
+        autoHideTimeout: 200,
+        autoHideDuration: 200,
+        setScrollTop: function () {},
+        hideTracksWhenNotNeeded: !1,
+        autoHeightMin: "0",
+        autoHeightMax: "100%",
+      }),
+        (t.b = y);
+    },
+    wEtz: function (e, t, n) {
+      "use strict";
+      function r(e, t) {
+        var n = (t = t || {}).delimiter || ".",
+          r = t.maxDepth || 3,
+          a = 1,
+          o = {};
+        return (
+          (function e(i, l) {
+            Object.keys(i).forEach(function (s) {
+              var c = i[s],
+                u = t.safe && Array.isArray(c),
+                f = "[object Object]" === Object.prototype.toString.call(c),
+                d = l ? l + n + s : s;
+              if (
+                (t.maxDepth || (r = a + 1),
+                !u && f && Object.keys(c).length && a < r)
+              )
+                return ++a, e(c, d);
+              o[d] = c;
+            });
+          })(e, null),
+          o
+        );
+      }
+      n.r(t),
+        n.d(t, "default", function () {
+          return r;
+        });
+    },
+    wK5K: function (e, t) {},
+    wobk: function (e, t, n) {
+      "use strict";
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("+dgx"),
+        i = n("LvDl"),
+        l = n.n(i),
+        s = n("kDLi"),
+        c = n("t8hP");
+      function u(e) {
+        return (u =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function f(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function d(e) {
+        return (d = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function p(e) {
+        if (void 0 === e)
+          throw new ReferenceError(
+            "this hasn't been initialised - super() hasn't been called"
+          );
+        return e;
+      }
+      function h(e, t) {
+        return (h =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var m = (function (e) {
+          function t(e) {
+            var n, r, a;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              (r = this),
+              ((n =
+                !(a = d(t).call(this, e)) ||
+                ("object" !== u(a) && "function" != typeof a)
+                  ? p(r)
+                  : a).state = { isLoading: !1 }),
+              (n.search = n.search.bind(p(n))),
+              (n.debouncedSearch = Object(i.debounce)(n.search, 300, {
+                leading: !0,
+                trailing: !0,
+              })),
+              n
+            );
+          }
+          var n, r, o;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && h(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "search",
+                value: function (e) {
+                  var t = this;
+                  return (
+                    this.setState({ isLoading: !0 }),
+                    l.a.isNil(e) && (e = ""),
+                    Object(c.getBackendSrv)()
+                      .get(
+                        "/api/teams/search?perpage=100&page=1&query=".concat(e)
+                      )
+                      .then(function (e) {
+                        var n = e.teams.map(function (e) {
+                          return {
+                            id: e.id,
+                            value: e.id,
+                            label: e.name,
+                            name: e.name,
+                            imgUrl: e.avatarUrl,
+                          };
+                        });
+                        return t.setState({ isLoading: !1 }), n;
+                      })
+                  );
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.onSelected,
+                    n = e.className,
+                    r = this.state.isLoading;
+                  return a.a.createElement(
+                    "div",
+                    { className: "user-picker" },
+                    a.a.createElement(s.AsyncSelect, {
+                      isLoading: r,
+                      defaultOptions: !0,
+                      loadOptions: this.debouncedSearch,
+                      onChange: t,
+                      className: n,
+                      placeholder: "Select a team",
+                      noOptionsMessage: function () {
+                        return "No teams found";
+                      },
+                    })
+                  );
+                },
+              },
+            ]) && f(n.prototype, r),
+            o && f(n, o),
+            t
+          );
+        })(r.Component),
+        g = n("9iwZ");
+      function b(e) {
+        return (b =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function v(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function y(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function w(e, t) {
+        return !t || ("object" !== b(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function O(e) {
+        return (O = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function x(e, t) {
+        return (x =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var k = (function (e) {
+        function t(e) {
+          var n;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            ((n = w(this, O(t).call(this, e))).onTypeChanged = function (e) {
+              var t = e.target.value;
+              switch (t) {
+                case g.a.User:
+                case g.a.Team:
+                  n.setState({ type: t, userId: 0, teamId: 0, role: void 0 });
+                  break;
+                case g.a.Editor:
+                  n.setState({
+                    type: t,
+                    userId: 0,
+                    teamId: 0,
+                    role: g.b.Editor,
+                  });
+                  break;
+                case g.a.Viewer:
+                  n.setState({
+                    type: t,
+                    userId: 0,
+                    teamId: 0,
+                    role: g.b.Viewer,
+                  });
+              }
+            }),
+            (n.onUserSelected = function (e) {
+              n.setState({ userId: e && !Array.isArray(e) ? e.id : 0 });
+            }),
+            (n.onTeamSelected = function (e) {
+              n.setState({ teamId: e && !Array.isArray(e) ? e.id : 0 });
+            }),
+            (n.onPermissionChanged = function (e) {
+              n.setState({ permission: e.value });
+            }),
+            (n.onSubmit = (function () {
+              var e,
+                t =
+                  ((e = regeneratorRuntime.mark(function e(t) {
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            return (
+                              t.preventDefault(),
+                              (e.next = 3),
+                              n.props.onAddPermission(n.state)
+                            );
+                          case 3:
+                            n.setState(n.getCleanState());
+                          case 4:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })),
+                  function () {
+                    var t = this,
+                      n = arguments;
+                    return new Promise(function (r, a) {
+                      var o = e.apply(t, n);
+                      function i(e) {
+                        v(o, r, a, i, l, "next", e);
+                      }
+                      function l(e) {
+                        v(o, r, a, i, l, "throw", e);
+                      }
+                      i(void 0);
+                    });
+                  });
+              return function (e) {
+                return t.apply(this, arguments);
+              };
+            })()),
+            (n.state = n.getCleanState()),
+            n
+          );
+        }
+        var n, r, i;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && x(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "getCleanState",
+              value: function () {
+                return {
+                  userId: 0,
+                  teamId: 0,
+                  type: g.a.Team,
+                  permission: g.c.View,
+                };
+              },
+            },
+            {
+              key: "isValid",
+              value: function () {
+                switch (this.state.type) {
+                  case g.a.Team:
+                    return this.state.teamId > 0;
+                  case g.a.User:
+                    return this.state.userId > 0;
+                }
+                return !0;
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this.props.onCancel,
+                  t = this.state,
+                  n = this.isValid();
+                return a.a.createElement(
+                  "div",
+                  { className: "gf-form-inline cta-form" },
+                  a.a.createElement(
+                    "button",
+                    {
+                      className: "cta-form__close btn btn-transparent",
+                      onClick: e,
+                    },
+                    a.a.createElement("i", { className: "fa fa-close" })
+                  ),
+                  a.a.createElement(
+                    "form",
+                    { name: "addPermission", onSubmit: this.onSubmit },
+                    a.a.createElement("h5", null, "Add Permission For"),
+                    a.a.createElement(
+                      "div",
+                      { className: "gf-form-inline" },
+                      a.a.createElement(
+                        "div",
+                        { className: "gf-form" },
+                        a.a.createElement(
+                          "div",
+                          { className: "gf-form-select-wrapper" },
+                          a.a.createElement(
+                            "select",
+                            {
+                              className: "gf-form-input gf-size-auto",
+                              value: t.type,
+                              onChange: this.onTypeChanged,
+                            },
+                            g.e.map(function (e, t) {
+                              return a.a.createElement(
+                                "option",
+                                { key: t, value: e.value },
+                                e.text
+                              );
+                            })
+                          )
+                        )
+                      ),
+                      t.type === g.a.User
+                        ? a.a.createElement(
+                            "div",
+                            { className: "gf-form" },
+                            a.a.createElement(o.a, {
+                              onSelected: this.onUserSelected,
+                              className: "min-width-20",
+                            })
+                          )
+                        : null,
+                      t.type === g.a.Team
+                        ? a.a.createElement(
+                            "div",
+                            { className: "gf-form" },
+                            a.a.createElement(m, {
+                              onSelected: this.onTeamSelected,
+                              className: "min-width-20",
+                            })
+                          )
+                        : null,
+                      a.a.createElement(
+                        "div",
+                        { className: "gf-form" },
+                        a.a.createElement(s.Select, {
+                          isSearchable: !1,
+                          options: g.f,
+                          onChange: this.onPermissionChanged,
+                          className: "gf-form-select-box__control--menu-right",
+                        })
+                      ),
+                      a.a.createElement(
+                        "div",
+                        { className: "gf-form" },
+                        a.a.createElement(
+                          "button",
+                          {
+                            "data-save-permission": !0,
+                            className: "btn btn-primary",
+                            type: "submit",
+                            disabled: !n,
+                          },
+                          "Save"
+                        )
+                      )
+                    )
+                  )
+                );
+              },
+            },
+          ]) && y(n.prototype, r),
+          i && y(n, i),
+          t
+        );
+      })(r.Component);
+      k.defaultProps = { showPermissionLevels: !0 };
+      t.a = k;
+    },
+    wvI5: function (e, t) {
+      var n = "public/app/features/alerting/partials/alert_howto.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<div class=modal-body>\n\t<div class=modal-header>\n\t\t<h2 class=modal-header-title>\n\t\t\t<i class="fa fa-info-circle"></i>\n\t\t\t<span class=p-l-1>Adding an Alert</span>\n\t\t</h2>\n\n\t\t<a class=modal-header-close ng-click=dismiss();>\n\t\t\t<i class="fa fa-remove"></i>\n\t\t</a>\n\t</div>\n\n\n\t<div class=modal-content>\n\t\t<div class=text-center>\n\t\t\t<img src=public/img/alert_howto_new.png>\n\t\t</div>\n\t\t<p class="p-a-2 text-center offset-lg-1 col-lg-10">\n\t\t\tAlerts are added and configured in the <strong>Alert Tab</strong> of any dashboard\n\t\t\tgraph panel, letting you build and visualize an alert using existing queries.\n\t\t\t<br> <br>\n\t\t\tTo persist your alert rule changes remember to save the dashboard.\n\t\t\t<br>\n\t\t\t<br>\n\t\t</p>\n\t</div>\n\n</div>\n\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    wxmp: function (e, t) {
+      var n =
+        "public/app/features/dashboard/components/VersionHistory/template.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<h3 class=dashboard-settings__header>\n  <a ng-click="ctrl.switchMode(\'list\')">Versions</a>\n  <span ng-show="ctrl.mode === \'compare\'">\n    <i class="fa fa-fw fa-chevron-right"></i> Comparing {{ctrl.baseInfo.version}}\n    <i class="fa fa-arrows-h"></i>\n    {{ctrl.newInfo.version}}\n    <cite class=muted ng-if=ctrl.isNewLatest>(Latest)</cite>\n  </span>\n</h3>\n\n<div ng-if="ctrl.mode === \'list\'">\n  <div ng-if=ctrl.loading>\n    <i class="fa fa-spinner fa-spin"></i>\n    <em>Fetching history list&hellip;</em>\n  </div>\n\n  <div ng-if=!ctrl.loading>\n    <div class=gf-form-group>\n      <table class=filter-table>\n        <thead>\n          <tr>\n            <th class=width-4></th>\n            <th class=width-4>Version</th>\n            <th class=width-14>Date</th>\n            <th class=width-10>Updated By</th>\n            <th>Notes</th>\n            <th></th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr ng-repeat="revision in ctrl.revisions">\n            <td class=filter-table__switch-cell bs-tooltip="!revision.checked && ctrl.canCompare ? \'You can only compare 2 versions at a time\' : \'\'" data-placement=right>\n              <gf-form-checkbox switch-class=gf-form-switch--table-cell checked=revision.checked on-change=ctrl.revisionSelectionChanged() ng-disabled="!revision.checked && ctrl.canCompare">\n              </gf-form-checkbox>\n            </td>\n            <td class=text-center>{{revision.version}}</td>\n            <td>{{revision.createdDateString}}</td>\n            <td>{{revision.createdBy}}</td>\n            <td>{{revision.message}}</td>\n            <td class=text-right>\n              <a class="btn btn-inverse btn-small" ng-show="revision.version !== ctrl.dashboard.version" ng-click=ctrl.restore(revision.version)>\n                <i class="fa fa-history"></i>&nbsp;&nbsp;Restore\n              </a>\n              <a class="btn btn-outline-disabled btn-small" ng-show="revision.version === ctrl.dashboard.version">\n                <i class="fa fa-check"></i>&nbsp;&nbsp;Latest\n              </a>\n            </td>\n          </tr>\n        </tbody>\n      </table>\n\n      <div ng-if=ctrl.appending>\n        <i class="fa fa-spinner fa-spin"></i>\n        <em>Fetching more entries&hellip;</em>\n      </div>\n\n      <div class=gf-form-group>\n        <div class=gf-form-button-row>\n          <button type=button class="btn gf-form-button btn-inverse" ng-if="ctrl.revisions.length >= ctrl.limit" ng-click=ctrl.addToLog() ng-disabled=ctrl.isLastPage()>\n            Show more versions\n          </button>\n          <button type=button class="btn btn-primary" ng-if="ctrl.revisions.length > 1" ng-disabled=!ctrl.canCompare ng-click=ctrl.getDiff(ctrl.diff) bs-tooltip="ctrl.canCompare ? \'\' : \'Select 2 versions to start comparing\'" data-placement=bottom>\n            <i class="fa fa-code-fork"></i>&nbsp;&nbsp;Compare versions\n          </button>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n\n<div ng-if="ctrl.mode === \'compare\'">\n  <div ng-if=ctrl.loading>\n    <i class="fa fa-spinner fa-spin"></i>\n    <em>Fetching changes&hellip;</em>\n  </div>\n\n  <div ng-if=!ctrl.loading>\n    <button type=button class="btn btn-danger pull-right" ng-click=ctrl.restore(ctrl.baseInfo.version) ng-if=ctrl.isNewLatest>\n      <i class="fa fa-history"></i>&nbsp;&nbsp;Restore to version {{ctrl.baseInfo.version}}\n    </button>\n    <section>\n      <p class="small muted">\n      <strong>Version {{ctrl.newInfo.version}}</strong> updated by\n      <span>{{ctrl.newInfo.createdBy}} </span>\n      <span>{{ctrl.newInfo.ageString}}</span>\n      <span> - {{ctrl.newInfo.message}}</span>\n      </p>\n      <p class="small muted">\n      <strong>Version {{ctrl.baseInfo.version}}</strong> updated by\n      <span>{{ctrl.baseInfo.createdBy}} </span>\n      <span>{{ctrl.baseInfo.ageString}}</span>\n      <span> - {{ctrl.baseInfo.message}}</span>\n      </p>\n    </section>\n\n    <div id=delta diff-delta>\n      <div class=delta-basic compile=ctrl.delta.basic></div>\n    </div>\n\n    <div class=gf-form-button-row>\n      <button class="btn btn-secondary" ng-click="ctrl.getDiff(\'json\')">View JSON Diff</button>\n    </div>\n\n    <div class=delta-html ng-show="ctrl.diff === \'json\'" compile=ctrl.delta.json></div>\n  </div>\n</div>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    x16D: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return g;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("kDLi"),
+        i = n("kDDq"),
+        l = n("atUN"),
+        s = n("N9j+");
+      function c() {
+        var e = p([
+          "\n    margin-bottom: 14px;\n    a,\n    button {\n      margin-right: ",
+          ";\n    }\n  ",
+        ]);
+        return (
+          (c = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function u() {
+        var e = p([
+          "\n    font-size: ",
+          ";\n    color: ",
+          ";\n    margin-bottom: calc(",
+          " * 2);\n    padding-top: ",
+          ";\n  ",
+        ]);
+        return (
+          (u = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function f() {
+        var e = p(["\n    text-align: center;\n  "]);
+        return (
+          (f = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function d() {
+        var e = p(["\n    width: 500px;\n  "]);
+        return (
+          (d = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      function p(e, t) {
+        return (
+          t || (t = e.slice(0)),
+          Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          )
+        );
+      }
+      function h(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function m(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              h(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              h(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      var g = function (e) {
+          var t = e.dashboard,
+            n = e.dashboardSaveModel,
+            i = e.error,
+            s = e.onDismiss,
+            c = Object(l.a)(t).onDashboardSave;
+          return (
+            Object(r.useEffect)(function () {
+              i.data && (i.isHandled = !0);
+            }, []),
+            a.a.createElement(
+              a.a.Fragment,
+              null,
+              i.data &&
+                "version-mismatch" === i.data.status &&
+                a.a.createElement(o.ConfirmModal, {
+                  isOpen: !0,
+                  title: "Conflict",
+                  body: a.a.createElement(
+                    "div",
+                    null,
+                    "Someone else has updated this dashboard ",
+                    a.a.createElement("br", null),
+                    " ",
+                    a.a.createElement(
+                      "small",
+                      null,
+                      "Would you still like to save this dashboard?"
+                    )
+                  ),
+                  confirmText: "Save & Overwrite",
+                  onConfirm: m(
+                    regeneratorRuntime.mark(function e() {
+                      return regeneratorRuntime.wrap(function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return (e.next = 2), c(n, { overwrite: !0 }, t);
+                            case 2:
+                              s();
+                            case 3:
+                            case "end":
+                              return e.stop();
+                          }
+                      }, e);
+                    })
+                  ),
+                  onDismiss: s,
+                }),
+              i.data &&
+                "name-exists" === i.data.status &&
+                a.a.createElement(o.ConfirmModal, {
+                  isOpen: !0,
+                  title: "Conflict",
+                  body: a.a.createElement(
+                    "div",
+                    null,
+                    "A dashboard with the same name in selected folder already exists. ",
+                    a.a.createElement("br", null),
+                    a.a.createElement(
+                      "small",
+                      null,
+                      "Would you still like to save this dashboard?"
+                    )
+                  ),
+                  confirmText: "Save & Overwrite",
+                  onConfirm: m(
+                    regeneratorRuntime.mark(function e() {
+                      return regeneratorRuntime.wrap(function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              return (e.next = 2), c(n, { overwrite: !0 }, t);
+                            case 2:
+                              s();
+                            case 3:
+                            case "end":
+                              return e.stop();
+                          }
+                      }, e);
+                    })
+                  ),
+                  onDismiss: s,
+                }),
+              i.data &&
+                "plugin-dashboard" === i.data.status &&
+                a.a.createElement(b, { dashboard: t, onDismiss: s })
+            )
+          );
+        },
+        b = function (e) {
+          var t = e.onDismiss,
+            n = e.dashboard,
+            r = Object(o.useTheme)(),
+            i = Object(l.a)(n).onDashboardSave,
+            c = v(r);
+          return a.a.createElement(
+            o.Modal,
+            {
+              className: c.modal,
+              title: "Plugin Dashboard",
+              icon: "copy",
+              isOpen: !0,
+              onDismiss: t,
+            },
+            a.a.createElement(
+              "div",
+              { className: c.modalContent },
+              a.a.createElement(
+                "div",
+                { className: c.modalText },
+                "Your changes will be lost when you update the plugin.",
+                a.a.createElement("br", null),
+                " ",
+                a.a.createElement(
+                  "small",
+                  null,
+                  "Use Save As to create custom version."
+                )
+              ),
+              a.a.createElement(
+                o.HorizontalGroup,
+                { justify: "center" },
+                a.a.createElement(s.a, { dashboard: n, onSaveSuccess: t }),
+                a.a.createElement(
+                  o.Button,
+                  {
+                    variant: "danger",
+                    onClick: m(
+                      regeneratorRuntime.mark(function e() {
+                        return regeneratorRuntime.wrap(function (e) {
+                          for (;;)
+                            switch ((e.prev = e.next)) {
+                              case 0:
+                                return (
+                                  (e.next = 2),
+                                  i(n.getSaveModelClone(), { overwrite: !0 }, n)
+                                );
+                              case 2:
+                                t();
+                              case 3:
+                              case "end":
+                                return e.stop();
+                            }
+                        }, e);
+                      })
+                    ),
+                  },
+                  "Overwrite"
+                ),
+                a.a.createElement(
+                  o.Button,
+                  { variant: "inverse", onClick: t },
+                  "Cancel"
+                )
+              )
+            )
+          );
+        },
+        v = Object(o.stylesFactory)(function (e) {
+          return {
+            modal: Object(i.css)(d()),
+            modalContent: Object(i.css)(f()),
+            modalText: Object(i.css)(
+              u(),
+              e.typography.heading.h4,
+              e.colors.link,
+              e.spacing.d,
+              e.spacing.d
+            ),
+            modalButtonRow: Object(i.css)(c(), e.spacing.d),
+          };
+        });
+    },
+    "xAj+": function (e, t, n) {
+      "use strict";
+      n.r(t),
+        n.d(t, "showDashSearch", function () {
+          return a;
+        }),
+        n.d(t, "hideDashSearch", function () {
+          return o;
+        }),
+        n.d(t, "hideDashEditor", function () {
+          return i;
+        }),
+        n.d(t, "dashScroll", function () {
+          return l;
+        }),
+        n.d(t, "dashLinksUpdated", function () {
+          return s;
+        }),
+        n.d(t, "saveDashboard", function () {
+          return c;
+        }),
+        n.d(t, "dashboardFetchStart", function () {
+          return u;
+        }),
+        n.d(t, "dashboardSaved", function () {
+          return f;
+        }),
+        n.d(t, "removePanel", function () {
+          return d;
+        }),
+        n.d(t, "searchQuery", function () {
+          return p;
+        }),
+        n.d(t, "locationChange", function () {
+          return h;
+        }),
+        n.d(t, "timepickerOpen", function () {
+          return m;
+        }),
+        n.d(t, "timepickerClosed", function () {
+          return g;
+        }),
+        n.d(t, "showModal", function () {
+          return b;
+        }),
+        n.d(t, "showConfirmModal", function () {
+          return v;
+        }),
+        n.d(t, "hideModal", function () {
+          return y;
+        }),
+        n.d(t, "showModalReact", function () {
+          return w;
+        }),
+        n.d(t, "dsRequestResponse", function () {
+          return O;
+        }),
+        n.d(t, "dsRequestError", function () {
+          return x;
+        }),
+        n.d(t, "graphHover", function () {
+          return k;
+        }),
+        n.d(t, "graphHoverClear", function () {
+          return j;
+        }),
+        n.d(t, "toggleSidemenuMobile", function () {
+          return S;
+        }),
+        n.d(t, "toggleSidemenuHidden", function () {
+          return E;
+        }),
+        n.d(t, "playlistStarted", function () {
+          return C;
+        }),
+        n.d(t, "playlistStopped", function () {
+          return P;
+        }),
+        n.d(t, "toggleKioskMode", function () {
+          return T;
+        }),
+        n.d(t, "toggleViewMode", function () {
+          return D;
+        }),
+        n.d(t, "timeRangeUpdated", function () {
+          return A;
+        }),
+        n.d(t, "repeatsProcessed", function () {
+          return _;
+        }),
+        n.d(t, "rowExpanded", function () {
+          return N;
+        }),
+        n.d(t, "rowCollapsed", function () {
+          return M;
+        }),
+        n.d(t, "templateVariableValueUpdated", function () {
+          return I;
+        }),
+        n.d(t, "submenuVisibilityChanged", function () {
+          return R;
+        }),
+        n.d(t, "dataFramesReceived", function () {
+          return F;
+        }),
+        n.d(t, "graphClicked", function () {
+          return L;
+        }),
+        n.d(t, "thresholdChanged", function () {
+          return V;
+        }),
+        n.d(t, "zoomOut", function () {
+          return B;
+        }),
+        n.d(t, "shiftTime", function () {
+          return $;
+        }),
+        n.d(t, "elasticQueryUpdated", function () {
+          return q;
+        }),
+        n.d(t, "layoutModeChanged", function () {
+          return U;
+        }),
+        n.d(t, "jsonDiffReady", function () {
+          return z;
+        }),
+        n.d(t, "closeTimepicker", function () {
+          return H;
+        }),
+        n.d(t, "routeUpdated", function () {
+          return G;
+        });
+      var r = n("Obii"),
+        a = Object(r.eventFactory)("show-dash-search"),
+        o = Object(r.eventFactory)("hide-dash-search"),
+        i = Object(r.eventFactory)("hide-dash-editor"),
+        l = Object(r.eventFactory)("dash-scroll"),
+        s = Object(r.eventFactory)("dash-links-updated"),
+        c = Object(r.eventFactory)("save-dashboard"),
+        u = Object(r.eventFactory)("dashboard-fetch-start"),
+        f = Object(r.eventFactory)("dashboard-saved"),
+        d = Object(r.eventFactory)("remove-panel"),
+        p = Object(r.eventFactory)("search-query"),
+        h = Object(r.eventFactory)("location-change"),
+        m = Object(r.eventFactory)("timepickerOpen"),
+        g = Object(r.eventFactory)("timepickerClosed"),
+        b = Object(r.eventFactory)("show-modal"),
+        v = Object(r.eventFactory)("confirm-modal"),
+        y = Object(r.eventFactory)("hide-modal"),
+        w = Object(r.eventFactory)("show-modal-react"),
+        O = Object(r.eventFactory)("ds-request-response"),
+        x = Object(r.eventFactory)("ds-request-error"),
+        k = Object(r.eventFactory)("graph-hover"),
+        j = Object(r.eventFactory)("graph-hover-clear"),
+        S = Object(r.eventFactory)("toggle-sidemenu-mobile"),
+        E = Object(r.eventFactory)("toggle-sidemenu-hidden"),
+        C = Object(r.eventFactory)("playlist-started"),
+        P = Object(r.eventFactory)("playlist-stopped"),
+        T = Object(r.eventFactory)("toggle-kiosk-mode"),
+        D = Object(r.eventFactory)("toggle-view-mode"),
+        A = Object(r.eventFactory)("time-range-updated"),
+        _ = Object(r.eventFactory)("repeats-processed"),
+        N = Object(r.eventFactory)("row-expanded"),
+        M = Object(r.eventFactory)("row-collapsed"),
+        I = Object(r.eventFactory)("template-variable-value-updated"),
+        R = Object(r.eventFactory)("submenu-visibility-changed"),
+        F = Object(r.eventFactory)("data-frames-received"),
+        L = Object(r.eventFactory)("graph-click"),
+        V = Object(r.eventFactory)("threshold-changed"),
+        B = Object(r.eventFactory)("zoom-out"),
+        $ = Object(r.eventFactory)("shift-time"),
+        q = Object(r.eventFactory)("elastic-query-updated"),
+        U = Object(r.eventFactory)("layout-mode-changed"),
+        z = Object(r.eventFactory)("json-diff-ready"),
+        H = Object(r.eventFactory)("closeTimepicker"),
+        G = Object(r.eventFactory)("$routeUpdate");
+    },
+    xKbd: function (e, t) {
+      jQuery.plot.plugins.push({
+        init: function (e) {
+          var t = {},
+            n = !1,
+            r = {};
+          function a(e) {
+            var t = e.length,
+              n = {};
+            if (t > 0)
+              for (var r = 0; r < t; r++)
+                if (e[r].stackpercent) {
+                  var a = 0,
+                    o = 1;
+                  e[r].bars &&
+                    e[r].bars.horizontal &&
+                    !0 === e[r].bars.horizontal &&
+                    ((a = 1), (o = 0));
+                  for (var i = e[r].data.length, l = 0; l < i; l++) {
+                    var s = 0;
+                    null != e[r].data[l][1] && (s = e[r].data[l][o]),
+                      n[e[r].data[l][a] + ""]
+                        ? (n[e[r].data[l][a] + ""] += s)
+                        : (n[e[r].data[l][a] + ""] = s);
+                  }
+                }
+            return n;
+          }
+          e.hooks.processRawData.push(function (e, t, o, i) {
+            if ((n || ((n = !0), (r = a(e.getData()))), 1 == t.stackpercent)) {
+              var l = o.length;
+              t.percents = [];
+              var s = 0,
+                c = 1;
+              t.bars &&
+                t.bars.horizontal &&
+                !0 === t.bars.horizontal &&
+                ((s = 1), (c = 0));
+              for (var u = 0; u < l; u++) {
+                var f = r[o[u][s] + ""];
+                f > 0
+                  ? t.percents.push((100 * o[u][c]) / f)
+                  : t.percents.push(0);
+              }
+            }
+          }),
+            e.hooks.processDatapoints.push(function (e, o, i) {
+              if (o.stackpercent) {
+                n || (r = a(e.getData()));
+                var l = [],
+                  s = 0,
+                  c = 1;
+                o.bars &&
+                  o.bars.horizontal &&
+                  !0 === o.bars.horizontal &&
+                  ((s = 1), (c = 0));
+                for (var u = 0; u < i.points.length; u += 3)
+                  t[i.points[u + s]] || (t[i.points[u + s]] = 0),
+                    (l[u + s] = i.points[u + s]),
+                    (l[u + c] = i.points[u + c] + t[i.points[u + s]]),
+                    (l[u + 2] = t[i.points[u + s]]),
+                    (t[i.points[u + s]] += i.points[u + c]),
+                    r[l[u + s] + ""] > 0
+                      ? ((l[u + c] = (100 * l[u + c]) / r[l[u + s] + ""]),
+                        (l[u + 2] = (100 * l[u + 2]) / r[l[u + s] + ""]))
+                      : ((l[u + c] = 0), (l[u + 2] = 0));
+                i.points = l;
+              }
+            });
+        },
+        options: { series: { stackpercent: null } },
+        name: "stackpercent",
+        version: "0.1",
+      });
+    },
+    "xL/7": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return a;
+      }),
+        n.d(t, "b", function () {
+          return c;
+        }),
+        n.d(t, "c", function () {
+          return p;
+        }),
+        n.d(t, "d", function () {
+          return h;
+        }),
+        n.d(t, "e", function () {
+          return m;
+        });
+      var r,
+        a,
+        o = n("i7Pf");
+      function i(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function l(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      !(function (e) {
+        (e.Queries = "queries"),
+          (e.Visualization = "visualization"),
+          (e.Advanced = "advanced"),
+          (e.Alert = "alert");
+      })(a || (a = {}));
+      var s =
+          (l((r = {}), a.Queries, "Queries"),
+          l(r, a.Visualization, "Visualization"),
+          l(r, a.Advanced, "General"),
+          l(r, a.Alert, "Alert"),
+          r),
+        c = function (e) {
+          return { id: e, text: s[e] };
+        },
+        u = { activeTab: null, tabs: [] },
+        f = Object(o.c)({
+          name: "panelEditor",
+          initialState: u,
+          reducers: {
+            panelEditorInitCompleted: function (e, t) {
+              var n = t.payload;
+              return (function (e) {
+                for (var t = 1; t < arguments.length; t++) {
+                  var n = null != arguments[t] ? arguments[t] : {};
+                  t % 2
+                    ? i(Object(n), !0).forEach(function (t) {
+                        l(e, t, n[t]);
+                      })
+                    : Object.getOwnPropertyDescriptors
+                    ? Object.defineProperties(
+                        e,
+                        Object.getOwnPropertyDescriptors(n)
+                      )
+                    : i(Object(n)).forEach(function (t) {
+                        Object.defineProperty(
+                          e,
+                          t,
+                          Object.getOwnPropertyDescriptor(n, t)
+                        );
+                      });
+                }
+                return e;
+              })({}, e, { activeTab: n.activeTab, tabs: n.tabs });
+            },
+            panelEditorCleanUp: function (e, t) {
+              return u;
+            },
+          },
+        }),
+        d = f.actions,
+        p = d.panelEditorCleanUp,
+        h = d.panelEditorInitCompleted,
+        m = f.reducer;
+    },
+    xQSJ: function (e, t) {
+      var n = "public/app/core/components/search/search.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '\n<div class=search-backdrop ng-if=ctrl.isOpen></div>\n\n<div class=search-container ng-if=ctrl.isOpen>\n\n  <search-field query=ctrl.query autofocus=ctrl.giveSearchFocus on-change=ctrl.onQueryChange on-key-down=ctrl.onKeyDown />\n\n\n\t<div class=search-dropdown>\n    <div class=search-dropdown__col_1>\n      <div class=search-results-scroller>\n        <div class=search-results-container grafana-scrollbar>\n          <h6 ng-show="!ctrl.isLoading && ctrl.results.length === 0">No dashboards matching your query were found.</h6>\n          <dashboard-search-results results=ctrl.results on-tag-selected=ctrl.filterByTag($tag) on-folder-expanding=ctrl.folderExpanding() on-folder-expanded=ctrl.folderExpanded($folder) />\n        </div>\n      </div>\n    </div>\n\n    <div class=search-dropdown__col_2>\n      <div class=search-filter-box ng-click=ctrl.onFilterboxClick()>\n        <div class=search-filter-box__header>\n          <i class="fa fa-filter"></i>\n          Filter by:\n          <a class="pointer pull-right small" ng-click=ctrl.clearSearchFilter()>\n            <i class="fa fa-remove"></i> Clear\n          </a>\n        </div>\n\n        <tag-filter tags=ctrl.query.tags tagoptions=ctrl.getTags on-change=ctrl.onTagFiltersChanged>\n        </tag-filter>\n      </div>\n\n      <div class=search-filter-box ng-if="ctrl.isEditor || ctrl.hasEditPermissionInFolders">\n        <a href=dashboard/new class=search-filter-box-link>\n          <i class="gicon gicon-dashboard-new"></i> New dashboard\n        </a>\n        <a href=dashboards/folder/new class=search-filter-box-link ng-if=ctrl.isEditor>\n          <i class="gicon gicon-folder-new"></i> New folder\n        </a>\n        <a href=dashboard/import class=search-filter-box-link ng-if="ctrl.isEditor || ctrl.hasEditPermissionInFolders">\n          <i class="gicon gicon-dashboard-import"></i> Import dashboard\n        </a>\n        <a class=search-filter-box-link target=_blank href="https://grafana.com/dashboards?utm_source=grafana_search">\n          <img src=public/img/icn-dashboard-tiny.svg width=20 /> Find dashboards on Grafana.com\n        </a>\n      </div>\n    </div>\n  </div>\n</div>\n\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    xdKY: function (e, t, n) {
+      "use strict";
+      var r = n("mRsi"),
+        a = n.n(r),
+        o = n("BkRI"),
+        i = n.n(o),
+        l = n("KHwQ"),
+        s = n.n(l),
+        c = n("LvDl"),
+        u = n.n(c),
+        f = n("+2Rf"),
+        d = n.n(f),
+        p = n("txxJ"),
+        h = n("Xmxp"),
+        m = n("Obii");
+      function g(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function b(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var v = (function () {
+        function e(t, n) {
+          var r = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$scope = t),
+            (this.datasourceSrv = n),
+            (this.annotationDefaults = {
+              name: "",
+              datasource: null,
+              iconColor: "rgba(255, 96, 96, 1)",
+              enable: !0,
+              showIn: 0,
+              hide: !1,
+            }),
+            (this.emptyListCta = {
+              title: "There are no custom annotation queries added yet",
+              buttonIcon: "gicon gicon-annotation",
+              buttonTitle: "Add Annotation Query",
+              infoBox: {
+                __html:
+                  "<p>Annotations provide a way to integrate event data into your graphs. They are visualized as vertical lines\n    and icons on all graph panels. When you hover over an annotation icon you can get event text &amp; tags for\n    the event. You can add annotation events directly from grafana by holding CTRL or CMD + click on graph (or\n    drag region). These will be stored in Grafana's annotation database.\n  </p>\n  Checkout the\n  <a class='external-link' target='_blank' href='http://docs.grafana.org/reference/annotations/'\n    >Annotations documentation</a\n  >\n  for more information.",
+              },
+              infoBoxTitle: "What are annotations?",
+            }),
+            (this.showOptions = [
+              { text: "All Panels", value: 0 },
+              { text: "Specific Panels", value: 1 },
+            ]),
+            (this.setupNew = function () {
+              (r.mode = "new"), r.reset();
+            }),
+            (t.ctrl = this),
+            (this.dashboard = t.dashboard),
+            (this.mode = "list"),
+            (this.datasources = n.getAnnotationSources()),
+            (this.annotations = this.dashboard.annotations.list),
+            this.reset(),
+            (this.onColorChange = this.onColorChange.bind(this));
+        }
+        var t, n, r, a, o;
+        return (
+          (e.$inject = ["$scope", "datasourceSrv"]),
+          (t = e),
+          (n = [
+            {
+              key: "datasourceChanged",
+              value:
+                ((a = regeneratorRuntime.mark(function e() {
+                  var t,
+                    n = this;
+                  return regeneratorRuntime.wrap(
+                    function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            return (
+                              (e.next = 2),
+                              this.datasourceSrv.get(
+                                this.currentAnnotation.datasource
+                              )
+                            );
+                          case 2:
+                            (t = e.sent),
+                              this.$scope.$apply(function () {
+                                n.currentDatasource = t;
+                              });
+                          case 4:
+                          case "end":
+                            return e.stop();
+                        }
+                    },
+                    e,
+                    this
+                  );
+                })),
+                (o = function () {
+                  var e = this,
+                    t = arguments;
+                  return new Promise(function (n, r) {
+                    var o = a.apply(e, t);
+                    function i(e) {
+                      g(o, n, r, i, l, "next", e);
+                    }
+                    function l(e) {
+                      g(o, n, r, i, l, "throw", e);
+                    }
+                    i(void 0);
+                  });
+                }),
+                function () {
+                  return o.apply(this, arguments);
+                }),
+            },
+            {
+              key: "edit",
+              value: function (e) {
+                (this.currentAnnotation = e),
+                  (this.currentAnnotation.showIn =
+                    this.currentAnnotation.showIn || 0),
+                  (this.currentIsNew = !1),
+                  this.datasourceChanged(),
+                  (this.mode = "edit"),
+                  d()(".tooltip.in").remove();
+              },
+            },
+            {
+              key: "reset",
+              value: function () {
+                (this.currentAnnotation = s.a.copy(this.annotationDefaults)),
+                  (this.currentAnnotation.datasource = this.datasources[0].name),
+                  (this.currentIsNew = !0),
+                  this.datasourceChanged();
+              },
+            },
+            {
+              key: "update",
+              value: function () {
+                this.reset(), (this.mode = "list");
+              },
+            },
+            {
+              key: "backToList",
+              value: function () {
+                this.mode = "list";
+              },
+            },
+            {
+              key: "move",
+              value: function (e, t) {
+                u.a.move(this.annotations, e, e + t);
+              },
+            },
+            {
+              key: "add",
+              value: function () {
+                u.a.find(this.annotations, {
+                  name: this.currentAnnotation.name,
+                })
+                  ? h.b.emit(m.AppEvents.alertWarning, [
+                      "Validation",
+                      "Annotations with the same name already exists",
+                    ])
+                  : (this.annotations.push(this.currentAnnotation),
+                    this.reset(),
+                    (this.mode = "list"),
+                    this.dashboard.updateSubmenuVisibility());
+              },
+            },
+            {
+              key: "removeAnnotation",
+              value: function (e) {
+                var t = u.a.indexOf(this.annotations, e);
+                this.annotations.splice(t, 1),
+                  this.dashboard.updateSubmenuVisibility();
+              },
+            },
+            {
+              key: "onColorChange",
+              value: function (e) {
+                this.currentAnnotation.iconColor = e;
+              },
+            },
+          ]) && b(t.prototype, n),
+          r && b(t, r),
+          e
+        );
+      })();
+      function y(e) {
+        return "panel-alert" === e.eventType;
+      }
+      p.c.controller("AnnotationsEditorCtrl", v);
+      var w = n("t8hP"),
+        O = n("HJRA"),
+        x = n("NPB1");
+      function k(e) {
+        return (k =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function j(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var S = (function () {
+        function e() {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e);
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "init",
+              value: function (e) {
+                this.clearPromiseCaches(),
+                  e.on(
+                    m.PanelEvents.refresh,
+                    this.clearPromiseCaches.bind(this)
+                  );
+              },
+            },
+            {
+              key: "clearPromiseCaches",
+              value: function () {
+                (this.globalAnnotationsPromise = null),
+                  (this.alertStatesPromise = null),
+                  (this.datasourcePromises = null);
+              },
+            },
+            {
+              key: "getAnnotations",
+              value: function (e) {
+                return Promise.all([
+                  this.getGlobalAnnotations(e),
+                  this.getAlertStates(e),
+                ])
+                  .then(function (t) {
+                    var n = a()(t[0]);
+                    return {
+                      annotations: (n = (function (e) {
+                        var t = [],
+                          n = u.a.partition(e, "id"),
+                          r = u.a.groupBy(n[0], "id");
+                        return (
+                          (t = u.a.map(r, function (e) {
+                            return e.length > 1 && !u.a.every(e, y)
+                              ? u.a.find(e, function (e) {
+                                  return "panel-alert" !== e.eventType;
+                                })
+                              : u.a.head(e);
+                          })),
+                          (t = u.a.concat(t, n[1]))
+                        );
+                      })(
+                        (n = n.filter(function (t) {
+                          return (
+                            !t.panelId ||
+                            "dashboard" !== t.source.type ||
+                            t.panelId === e.panel.id
+                          );
+                        }))
+                      )),
+                      alertState: t[1].find(function (t) {
+                        return t.panelId === e.panel.id;
+                      }),
+                    };
+                  })
+                  .catch(function (e) {
+                    return (
+                      !e.message &&
+                        e.data &&
+                        e.data.message &&
+                        (e.message = e.data.message),
+                      console.log("AnnotationSrv.query error", e),
+                      O.a.emit(m.AppEvents.alertError, [
+                        "Annotation Query Failed",
+                        e.message || e,
+                      ]),
+                      []
+                    );
+                  });
+              },
+            },
+            {
+              key: "getAlertStates",
+              value: function (e) {
+                return e.dashboard.id
+                  ? e.panel && !e.panel.alert
+                    ? Promise.resolve([])
+                    : "now" !== e.range.raw.to
+                    ? Promise.resolve([])
+                    : this.alertStatesPromise
+                    ? this.alertStatesPromise
+                    : ((this.alertStatesPromise = Object(w.getBackendSrv)().get(
+                        "/api/alerts/states-for-dashboard",
+                        { dashboardId: e.dashboard.id },
+                        "get-alert-states-".concat(e.dashboard.id)
+                      )),
+                      this.alertStatesPromise)
+                  : Promise.resolve([]);
+              },
+            },
+            {
+              key: "getGlobalAnnotations",
+              value: function (e) {
+                var t = this,
+                  n = e.dashboard;
+                if (this.globalAnnotationsPromise)
+                  return this.globalAnnotationsPromise;
+                var r = Object(x.a)().timeRange(),
+                  a = [],
+                  o = [],
+                  l = !0,
+                  s = !1,
+                  c = void 0;
+                try {
+                  for (
+                    var u,
+                      f = function () {
+                        var e = u.value;
+                        if (!e.enable) return "continue";
+                        if (e.snapshotData)
+                          return {
+                            v: t.translateQueryResult(e, e.snapshotData),
+                          };
+                        var l = Object(w.getDataSourceSrv)().get(e.datasource);
+                        o.push(l),
+                          a.push(
+                            l
+                              .then(function (t) {
+                                return t.annotationQuery({
+                                  range: r,
+                                  rangeRaw: r.raw,
+                                  annotation: e,
+                                  dashboard: n,
+                                });
+                              })
+                              .then(function (r) {
+                                return (
+                                  n.snapshot && (e.snapshotData = i()(r)),
+                                  t.translateQueryResult(e, r)
+                                );
+                              })
+                          );
+                      },
+                      d = n.annotations.list[Symbol.iterator]();
+                    !(l = (u = d.next()).done);
+                    l = !0
+                  ) {
+                    var p = f();
+                    switch (p) {
+                      case "continue":
+                        continue;
+                      default:
+                        if ("object" === k(p)) return p.v;
+                    }
+                  }
+                } catch (e) {
+                  (s = !0), (c = e);
+                } finally {
+                  try {
+                    l || null == d.return || d.return();
+                  } finally {
+                    if (s) throw c;
+                  }
+                }
+                return (
+                  (this.datasourcePromises = Promise.all(o)),
+                  (this.globalAnnotationsPromise = Promise.all(a)),
+                  this.globalAnnotationsPromise
+                );
+              },
+            },
+            {
+              key: "saveAnnotationEvent",
+              value: function (e) {
+                return (
+                  (this.globalAnnotationsPromise = null),
+                  Object(w.getBackendSrv)().post("/api/annotations", e)
+                );
+              },
+            },
+            {
+              key: "updateAnnotationEvent",
+              value: function (e) {
+                return (
+                  (this.globalAnnotationsPromise = null),
+                  Object(w.getBackendSrv)().put(
+                    "/api/annotations/".concat(e.id),
+                    e
+                  )
+                );
+              },
+            },
+            {
+              key: "deleteAnnotationEvent",
+              value: function (e) {
+                this.globalAnnotationsPromise = null;
+                var t = "/api/annotations/".concat(e.id);
+                return Object(w.getBackendSrv)().delete(t);
+              },
+            },
+            {
+              key: "translateQueryResult",
+              value: function (e, t) {
+                e.snapshotData && delete (e = i()(e)).snapshotData;
+                var n = !0,
+                  r = !1,
+                  a = void 0;
+                try {
+                  for (
+                    var o, l = t[Symbol.iterator]();
+                    !(n = (o = l.next()).done);
+                    n = !0
+                  ) {
+                    var s = o.value;
+                    (s.source = e),
+                      (s.isRegion = s.timeEnd && s.time !== s.timeEnd);
+                  }
+                } catch (e) {
+                  (r = !0), (a = e);
+                } finally {
+                  try {
+                    n || null == l.return || l.return();
+                  } finally {
+                    if (r) throw a;
+                  }
+                }
+                return t;
+              },
+            },
+          ]) && j(t.prototype, n),
+          r && j(t, r),
+          e
+        );
+      })();
+      function E(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      p.c.service("annotationsSrv", S);
+      var C = (function () {
+        function e(t) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.annotationsSrv = t),
+            (this.event.panelId = this.panelCtrl.panel.id),
+            (this.event.dashboardId = this.panelCtrl.dashboard.id),
+            (this.event.time = P(this.event.time)),
+            this.event.isRegion && (this.event.timeEnd = P(this.event.timeEnd)),
+            (this.timeFormated = this.panelCtrl.dashboard.formatDate(
+              this.event.time
+            ));
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["annotationsSrv"]),
+          (t = e),
+          (n = [
+            {
+              key: "save",
+              value: function () {
+                var e = this;
+                if (this.form.$valid) {
+                  var t = u.a.cloneDeep(this.event);
+                  (t.time = t.time.valueOf()),
+                    (t.timeEnd = 0),
+                    t.isRegion &&
+                    ((t.timeEnd = this.event.timeEnd.valueOf()),
+                    t.timeEnd < t.time)
+                      ? console.log("invalid time")
+                      : t.id
+                      ? this.annotationsSrv
+                          .updateAnnotationEvent(t)
+                          .then(function () {
+                            e.panelCtrl.refresh(), e.close();
+                          })
+                          .catch(function () {
+                            e.panelCtrl.refresh(), e.close();
+                          })
+                      : this.annotationsSrv
+                          .saveAnnotationEvent(t)
+                          .then(function () {
+                            e.panelCtrl.refresh(), e.close();
+                          })
+                          .catch(function () {
+                            e.panelCtrl.refresh(), e.close();
+                          });
+                }
+              },
+            },
+            {
+              key: "save_anomaly_with_vars",
+              value: function () {
+                var e = this;
+                if (this.form.$valid) {
+                  var t = u.a.cloneDeep(this.event);
+                  t.tags.push("anomaly_expert");
+                  var nrMaxTemplateVars = this.panelCtrl.dashboard.templating
+                    .list.length;
+                  for (var i = 0; i < nrMaxTemplateVars; i++) {
+                    var currentTmpVar = this.panelCtrl.dashboard.templating
+                      .list[i];
+                    var nrMaxValues = currentTmpVar.options.length;
+                    for (var j = 0; j < nrMaxValues; j++) {
+                      var currentValueForTmpVal = currentTmpVar.options[j];
+                      if (currentValueForTmpVal.selected === true) {
+                        var nameSelectedVal = currentValueForTmpVal.value;
+                        if (nameSelectedVal !== "$__all") {
+                          console.log(
+                            "template var name: " + nameSelectedVal.toString()
+                          );
+                          t.tags.push(nameSelectedVal);
+                        }
+                      }
+                    }
+                  }
+                  (t.time = t.time.valueOf()),
+                    (t.timeEnd = 0),
+                    t.isRegion &&
+                    ((t.timeEnd = this.event.timeEnd.valueOf()),
+                    t.timeEnd < t.time)
+                      ? console.log("invalid time")
+                      : t.id
+                      ? this.annotationsSrv
+                          .updateAnnotationEvent(t)
+                          .then(function () {
+                            e.panelCtrl.refresh(), e.close();
+                          })
+                          .catch(function () {
+                            e.panelCtrl.refresh(), e.close();
+                          })
+                      : this.annotationsSrv
+                          .saveAnnotationEvent(t)
+                          .then(function () {
+                            e.panelCtrl.refresh(), e.close();
+                          })
+                          .catch(function () {
+                            e.panelCtrl.refresh(), e.close();
+                          });
+                }
+              },
+            },
+            {
+              key: "save_normal_with_vars",
+              value: function () {
+                var e = this;
+                if (this.form.$valid) {
+                  var t = u.a.cloneDeep(this.event);
+                  t.tags.push("normal_expert");
+                  var nrMaxTemplateVars = this.panelCtrl.dashboard.templating
+                    .list.length;
+                  for (var i = 0; i < nrMaxTemplateVars; i++) {
+                    var currentTmpVar = this.panelCtrl.dashboard.templating
+                      .list[i];
+                    var nrMaxValues = currentTmpVar.options.length;
+                    for (var j = 0; j < nrMaxValues; j++) {
+                      var currentValueForTmpVal = currentTmpVar.options[j];
+                      if (currentValueForTmpVal.selected === true) {
+                        var nameSelectedVal = currentValueForTmpVal.value;
+                        if (nameSelectedVal !== "$__all") {
+                          console.log(
+                            "template var name: " + nameSelectedVal.toString()
+                          );
+                          t.tags.push(nameSelectedVal);
+                        }
+                      }
+                    }
+                  }
+                  (t.time = t.time.valueOf()),
+                    (t.timeEnd = 0),
+                    t.isRegion &&
+                    ((t.timeEnd = this.event.timeEnd.valueOf()),
+                    t.timeEnd < t.time)
+                      ? console.log("invalid time")
+                      : t.id
+                      ? this.annotationsSrv
+                          .updateAnnotationEvent(t)
+                          .then(function () {
+                            e.panelCtrl.refresh(), e.close();
+                          })
+                          .catch(function () {
+                            e.panelCtrl.refresh(), e.close();
+                          })
+                      : this.annotationsSrv
+                          .saveAnnotationEvent(t)
+                          .then(function () {
+                            e.panelCtrl.refresh(), e.close();
+                          })
+                          .catch(function () {
+                            e.panelCtrl.refresh(), e.close();
+                          });
+                }
+              },
+            },
+            {
+              key: "delete",
+              value: function () {
+                var e = this;
+                return this.annotationsSrv
+                  .deleteAnnotationEvent(this.event)
+                  .then(function () {
+                    e.panelCtrl.refresh(), e.close();
+                  })
+                  .catch(function () {
+                    e.panelCtrl.refresh(), e.close();
+                  });
+              },
+            },
+          ]) && E(t.prototype, n),
+          r && E(t, r),
+          e
+        );
+      })();
+      function P(e) {
+        if (e && u.a.isNumber(e)) {
+          var t = Number(e);
+          return Object(m.dateTime)(t);
+        }
+        return e;
+      }
+      O.c.directive("eventEditor", function () {
+        return {
+          restrict: "E",
+          controller: C,
+          bindToController: !0,
+          controllerAs: "ctrl",
+          templateUrl:
+            "public/app/features/annotations/partials/event_editor.html",
+          scope: { panelCtrl: "=", event: "=", close: "&" },
+        };
+      });
+      var T = n("Zss7"),
+        D = n.n(T),
+        A = n("kDLi");
+      function _(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var N = (function () {
+        function e(t) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.panelCtrl = t);
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "editorClosed",
+              value: function () {
+                (this.event = null),
+                  (this.editorOpen = !1),
+                  this.panelCtrl.render();
+              },
+            },
+            {
+              key: "editorOpened",
+              value: function () {
+                this.editorOpen = !0;
+              },
+            },
+            {
+              key: "updateTime",
+              value: function (e) {
+                this.event ||
+                  ((this.event = {}),
+                  (this.event.dashboardId = this.panelCtrl.dashboard.id),
+                  (this.event.panelId = this.panelCtrl.panel.id)),
+                  (this.event.time = e.from),
+                  (this.event.isRegion = !1),
+                  e.to &&
+                    ((this.event.timeEnd = e.to), (this.event.isRegion = !0)),
+                  this.panelCtrl.render();
+              },
+            },
+            {
+              key: "editEvent",
+              value: function (e, t) {
+                (this.event = e), this.panelCtrl.render();
+              },
+            },
+            {
+              key: "addFlotEvents",
+              value: function (e, t) {
+                if (this.event || 0 !== e.length) {
+                  var n,
+                    r = {
+                      $__alerting: {
+                        color: A.ALERTING_COLOR,
+                        position: "BOTTOM",
+                        markerSize: 5,
+                      },
+                      $__ok: {
+                        color: A.OK_COLOR,
+                        position: "BOTTOM",
+                        markerSize: 5,
+                      },
+                      $__no_data: {
+                        color: A.NO_DATA_COLOR,
+                        position: "BOTTOM",
+                        markerSize: 5,
+                      },
+                      $__pending: {
+                        color: A.PENDING_COLOR,
+                        position: "BOTTOM",
+                        markerSize: 5,
+                      },
+                      $__editing: {
+                        color: A.DEFAULT_ANNOTATION_COLOR,
+                        position: "BOTTOM",
+                        markerSize: 5,
+                      },
+                    };
+                  if (this.event)
+                    e = this.event.isRegion
+                      ? [
+                          {
+                            isRegion: !0,
+                            min: this.event.time,
+                            timeEnd: this.event.timeEnd,
+                            text: this.event.text,
+                            eventType: "$__editing",
+                            editModel: this.event,
+                          },
+                        ]
+                      : [
+                          {
+                            min: this.event.time,
+                            text: this.event.text,
+                            editModel: this.event,
+                            eventType: "$__editing",
+                          },
+                        ];
+                  else
+                    for (var a = 0; a < e.length; a++) {
+                      var o = e[a];
+                      (o.min = o.time),
+                        (o.max = o.time),
+                        (o.eventType = o.source.name),
+                        o.newState
+                          ? (o.eventType = "$__" + o.newState)
+                          : r[o.source.name] ||
+                            (r[o.source.name] = {
+                              color: o.source.iconColor,
+                              position: "BOTTOM",
+                              markerSize: 5,
+                            });
+                    }
+                  !(function (e, t) {
+                    var n,
+                      r = t.grid.markings,
+                      a = A.DEFAULT_ANNOTATION_COLOR;
+                    u.a.each(e, function (e) {
+                      var t, o, i;
+                      (n = (e.source && e.source.iconColor) || a),
+                        (t = n),
+                        (o = A.REGION_FILL_ALPHA),
+                        (i = D()(t)),
+                        (n = i.isValid()
+                          ? (i.setAlpha(o), i.toRgbString())
+                          : t),
+                        r.push({
+                          xaxis: { from: e.min, to: e.timeEnd },
+                          color: n,
+                        });
+                    });
+                  })(((n = e), u.a.filter(n, "isRegion")), t),
+                    (t.grid.eventSectionHeight = 7),
+                    (t.xaxis.eventSectionHeight = 20),
+                    (t.events = {
+                      levels: u.a.keys(r).length + 1,
+                      data: e,
+                      types: r,
+                      manager: this,
+                    });
+                }
+              },
+            },
+          ]) && _(t.prototype, n),
+          r && _(t, r),
+          e
+        );
+      })();
+      var M = n("3ulR");
+      function I(e, t, n, r) {
+        function a(t) {
+          try {
+            return e(t);
+          } catch (e) {
+            return (
+              console.log(
+                "Could not sanitize annotation string, html escaping instead"
+              ),
+              u.a.escape(t)
+            );
+          }
+        }
+        return {
+          restrict: "E",
+          scope: { event: "=", onEdit: "&" },
+          link: function (e, n) {
+            var o = e.event,
+              i = o.title,
+              l = o.text,
+              s = t.getCurrent(),
+              c = '<div class="graph-annotation">',
+              f = "";
+            if (o.alertId) {
+              var p = M.a.getStateDisplayModel(o.newState);
+              (f = p.stateClass),
+                (i = '<i class="'
+                  .concat(p.iconClass, '"></i> ')
+                  .concat(p.text)),
+                (l = M.a.getAlertAnnotationInfo(o)),
+                o.text && (l = l + "<br />" + o.text);
+            } else
+              i && ((l = i + "<br />" + (u.a.isString(l) ? l : "")), (i = ""));
+            var h = '<div class="graph-annotation__header">';
+            o.login &&
+              (h += '<div class="graph-annotation__user" bs-tooltip="\'Created by '
+                .concat(o.login, '\'"><img src="')
+                .concat(o.avatarUrl, '" /></div>')),
+              (h += '\n          <span class="graph-annotation__title '
+                .concat(f, '">')
+                .concat(
+                  a(i),
+                  '</span>\n          <span class="graph-annotation__time">'
+                )
+                .concat(s.formatDate(o.min), "</span>\n      ")),
+              o.id &&
+                s.meta.canEdit &&
+                (h +=
+                  '\n          <span class="pointer graph-annotation__edit-icon" ng-click="onEdit()">\n            <i class="fa fa-pencil-square"></i>\n          </span>\n        '),
+              (c += h += "</div>"),
+              (c += '<div class="graph-annotation__body">'),
+              l &&
+                (c +=
+                  "<div ng-non-bindable>" +
+                  a(l.replace(/\n/g, "<br>")) +
+                  "</div>");
+            var m = o.tags;
+            m &&
+              m.length &&
+              ((e.tags = m),
+              (c +=
+                '<span class="label label-tag small" ng-repeat="tag in tags" tag-color-from-name="tag">{{tag}}</span><br/>')),
+              (c += "</div>"),
+              (c += "</div>"),
+              d()(c).appendTo(n),
+              r(n.contents())(e);
+          },
+        };
+      }
+      (I.$inject = ["$sanitize", "dashboardSrv", "contextSrv", "$compile"]),
+        p.c.directive("annotationTooltip", I),
+        n.d(t, "a", function () {
+          return N;
+        });
+    },
+    "y+vE": function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return h;
+      });
+      var r = n("q1tI"),
+        a = n.n(r),
+        o = n("i8i4"),
+        i = n.n(o),
+        l = n("/MKj"),
+        s = n("txxJ"),
+        c = n("iODs"),
+        u = n("t/ct"),
+        f = n("kDLi");
+      function d(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function p(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      m.$inject = [
+        "$route",
+        "$location",
+        "$injector",
+        "$rootScope",
+        "contextSrv",
+      ];
+      var h = function (e) {
+        return function (t) {
+          return a.a.createElement(
+            f.ModalsProvider,
+            null,
+            a.a.createElement(
+              a.a.Fragment,
+              null,
+              a.a.createElement(
+                e,
+                (function (e) {
+                  for (var t = 1; t < arguments.length; t++) {
+                    var n = null != arguments[t] ? arguments[t] : {};
+                    t % 2
+                      ? d(Object(n), !0).forEach(function (t) {
+                          p(e, t, n[t]);
+                        })
+                      : Object.getOwnPropertyDescriptors
+                      ? Object.defineProperties(
+                          e,
+                          Object.getOwnPropertyDescriptors(n)
+                        )
+                      : d(Object(n)).forEach(function (t) {
+                          Object.defineProperty(
+                            e,
+                            t,
+                            Object.getOwnPropertyDescriptor(n, t)
+                          );
+                        });
+                  }
+                  return e;
+                })({}, t)
+              ),
+              a.a.createElement(f.ModalRoot, null)
+            )
+          );
+        };
+      };
+      function m(e, t, n, r, o) {
+        return {
+          restrict: "E",
+          template: "",
+          link: function (s, d) {
+            var p = e.current.locals.roles;
+            p &&
+              p.length &&
+              (p.some(function (e) {
+                return o.hasRole(e);
+              }) ||
+                t.url("/"));
+            var m = e.current.locals.component;
+            m.default && (m = m.default);
+            var g = {
+              $injector: n,
+              $rootScope: r,
+              $scope: s,
+              $contextSrv: o,
+              routeInfo: e.current.$$route.routeInfo,
+            };
+            document.body.classList.add("is-react"),
+              i.a.render(
+                (function (e, t, n) {
+                  return a.a.createElement(
+                    l.Provider,
+                    { store: e },
+                    a.a.createElement(
+                      f.ErrorBoundaryAlert,
+                      { style: "page" },
+                      a.a.createElement(t, n)
+                    )
+                  );
+                })(c.d, Object(u.b)(h(m)), g),
+                d[0]
+              ),
+              s.$on("$destroy", function () {
+                document.body.classList.remove("is-react"),
+                  i.a.unmountComponentAtNode(d[0]);
+              });
+          },
+        };
+      }
+      s.c.directive("reactContainer", m);
+    },
+    y6L2: function (e, t, n) {
+      "use strict";
+      n.d(t, "e", function () {
+        return l;
+      }),
+        n.d(t, "c", function () {
+          return s;
+        }),
+        n.d(t, "d", function () {
+          return c;
+        }),
+        n.d(t, "f", function () {
+          return u;
+        }),
+        n.d(t, "g", function () {
+          return f;
+        }),
+        n.d(t, "b", function () {
+          return d;
+        });
+      var r = n("i7Pf"),
+        a = {
+          plugins: [],
+          searchQuery: "",
+          layoutMode: n("Wu7z").a.Grid,
+          hasFetched: !1,
+          dashboards: [],
+          isLoadingPluginDashboards: !1,
+          panels: {},
+        },
+        o = Object(r.c)({
+          name: "plugins",
+          initialState: a,
+          reducers: {
+            pluginsLoaded: function (e, t) {
+              (e.hasFetched = !0), (e.plugins = t.payload);
+            },
+            setPluginsSearchQuery: function (e, t) {
+              e.searchQuery = t.payload;
+            },
+            setPluginsLayoutMode: function (e, t) {
+              e.layoutMode = t.payload;
+            },
+            pluginDashboardsLoad: function (e, t) {
+              (e.isLoadingPluginDashboards = !0), (e.dashboards = []);
+            },
+            pluginDashboardsLoaded: function (e, t) {
+              (e.isLoadingPluginDashboards = !1), (e.dashboards = t.payload);
+            },
+            panelPluginLoaded: function (e, t) {
+              e.panels[t.payload.meta.id] = t.payload;
+            },
+          },
+        }),
+        i = o.actions,
+        l = i.pluginsLoaded,
+        s = i.pluginDashboardsLoad,
+        c = i.pluginDashboardsLoaded,
+        u = i.setPluginsLayoutMode,
+        f = i.setPluginsSearchQuery,
+        d = i.panelPluginLoaded,
+        p = o.reducer;
+      t.a = { plugins: p };
+    },
+    yFUm: function (e, t) {
+      var n = "public/app/features/folders/partials/folder_dashboards.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            '<page-header ng-if=ctrl.navModel model=ctrl.navModel></page-header>\n\n<div class="page-container page-body">\n  <manage-dashboards ng-if="ctrl.folderId && ctrl.uid" folder-id=ctrl.folderId folder-uid=ctrl.uid />\n</div>\n\n<footer/>\n'
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    yqtr: function (e, t, n) {
+      "use strict";
+      n.d(t, "b", function () {
+        return a;
+      });
+      var r = n("1VFa");
+      n.d(t, "d", function () {
+        return r.a;
+      });
+      var a,
+        o = n("Ke2B");
+      n.d(t, "h", function () {
+        return o.a;
+      }),
+        (function (e) {
+          (e.List = "list"), (e.Table = "table");
+        })(a || (a = {}));
+    },
+    zD9p: function (e, t, n) {
+      "use strict";
+      (function (e) {
+        var r = n("q1tI"),
+          a = n.n(r),
+          o = n("0cfB"),
+          i = n("/MKj"),
+          l = n("kDLi"),
+          s = n("lzJ5"),
+          c = n("ZFWI"),
+          u = n("ZGyg"),
+          f = n("Abyo"),
+          d = n("hqzN"),
+          p = n("0pSv"),
+          h = n("GQ3c"),
+          m = n("sAJe");
+        function g(e) {
+          return (g =
+            "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+              ? function (e) {
+                  return typeof e;
+                }
+              : function (e) {
+                  return e &&
+                    "function" == typeof Symbol &&
+                    e.constructor === Symbol &&
+                    e !== Symbol.prototype
+                    ? "symbol"
+                    : typeof e;
+                })(e);
+        }
+        function b(e, t, n, r, a, o, i) {
+          try {
+            var l = e[o](i),
+              s = l.value;
+          } catch (e) {
+            return void n(e);
+          }
+          l.done ? t(s) : Promise.resolve(s).then(r, a);
+        }
+        function v(e) {
+          return function () {
+            var t = this,
+              n = arguments;
+            return new Promise(function (r, a) {
+              var o = e.apply(t, n);
+              function i(e) {
+                b(o, r, a, i, l, "next", e);
+              }
+              function l(e) {
+                b(o, r, a, i, l, "throw", e);
+              }
+              i(void 0);
+            });
+          };
+        }
+        function y(e, t) {
+          if (!(e instanceof t))
+            throw new TypeError("Cannot call a class as a function");
+        }
+        function w(e, t) {
+          for (var n = 0; n < t.length; n++) {
+            var r = t[n];
+            (r.enumerable = r.enumerable || !1),
+              (r.configurable = !0),
+              "value" in r && (r.writable = !0),
+              Object.defineProperty(e, r.key, r);
+          }
+        }
+        function O(e, t) {
+          return !t || ("object" !== g(t) && "function" != typeof t)
+            ? (function (e) {
+                if (void 0 === e)
+                  throw new ReferenceError(
+                    "this hasn't been initialised - super() hasn't been called"
+                  );
+                return e;
+              })(e)
+            : t;
+        }
+        function x(e) {
+          return (x = Object.setPrototypeOf
+            ? Object.getPrototypeOf
+            : function (e) {
+                return e.__proto__ || Object.getPrototypeOf(e);
+              })(e);
+        }
+        function k(e, t) {
+          return (k =
+            Object.setPrototypeOf ||
+            function (e, t) {
+              return (e.__proto__ = t), e;
+            })(e, t);
+        }
+        var j = (function (e) {
+            function t() {
+              var e, n;
+              y(this, t);
+              for (
+                var r = arguments.length, a = new Array(r), o = 0;
+                o < r;
+                o++
+              )
+                a[o] = arguments[o];
+              return (
+                ((n = O(
+                  this,
+                  (e = x(t)).call.apply(e, [this].concat(a))
+                )).state = { isLoading: !0 }),
+                (n.search = function (e) {
+                  e.preventDefault();
+                  var t = e.target.elements.username.value;
+                  t && n.fetchUserMapping(t);
+                }),
+                (n.onClearUserError = function () {
+                  n.props.clearUserError();
+                }),
+                n
+              );
+            }
+            var n, r, o, i, s, m;
+            return (
+              (function (e, t) {
+                if ("function" != typeof t && null !== t)
+                  throw new TypeError(
+                    "Super expression must either be null or a function"
+                  );
+                (e.prototype = Object.create(t && t.prototype, {
+                  constructor: { value: e, writable: !0, configurable: !0 },
+                })),
+                  t && k(e, t);
+              })(t, e),
+              (n = t),
+              (r = [
+                {
+                  key: "componentDidMount",
+                  value:
+                    ((m = v(
+                      regeneratorRuntime.mark(function e() {
+                        var t, n, r, a;
+                        return regeneratorRuntime.wrap(
+                          function (e) {
+                            for (;;)
+                              switch ((e.prev = e.next)) {
+                                case 0:
+                                  return (
+                                    (t = this.props),
+                                    (n = t.username),
+                                    (r = t.clearUserMappingInfo),
+                                    (a = t.loadUserMapping),
+                                    (e.next = 3),
+                                    r()
+                                  );
+                                case 3:
+                                  return (e.next = 5), this.fetchLDAPStatus();
+                                case 5:
+                                  if (!n) {
+                                    e.next = 8;
+                                    break;
+                                  }
+                                  return (e.next = 8), a(n);
+                                case 8:
+                                  this.setState({ isLoading: !1 });
+                                case 9:
+                                case "end":
+                                  return e.stop();
+                              }
+                          },
+                          e,
+                          this
+                        );
+                      })
+                    )),
+                    function () {
+                      return m.apply(this, arguments);
+                    }),
+                },
+                {
+                  key: "fetchLDAPStatus",
+                  value:
+                    ((s = v(
+                      regeneratorRuntime.mark(function e() {
+                        var t, n, r;
+                        return regeneratorRuntime.wrap(
+                          function (e) {
+                            for (;;)
+                              switch ((e.prev = e.next)) {
+                                case 0:
+                                  return (
+                                    (t = this.props),
+                                    (n = t.loadLdapState),
+                                    (r = t.loadLdapSyncStatus),
+                                    e.abrupt("return", Promise.all([n(), r()]))
+                                  );
+                                case 2:
+                                case "end":
+                                  return e.stop();
+                              }
+                          },
+                          e,
+                          this
+                        );
+                      })
+                    )),
+                    function () {
+                      return s.apply(this, arguments);
+                    }),
+                },
+                {
+                  key: "fetchUserMapping",
+                  value:
+                    ((i = v(
+                      regeneratorRuntime.mark(function e(t) {
+                        var n;
+                        return regeneratorRuntime.wrap(
+                          function (e) {
+                            for (;;)
+                              switch ((e.prev = e.next)) {
+                                case 0:
+                                  return (
+                                    (n = this.props.loadUserMapping),
+                                    (e.next = 3),
+                                    n(t)
+                                  );
+                                case 3:
+                                  return e.abrupt("return", e.sent);
+                                case 4:
+                                case "end":
+                                  return e.stop();
+                              }
+                          },
+                          e,
+                          this
+                        );
+                      })
+                    )),
+                    function (e) {
+                      return i.apply(this, arguments);
+                    }),
+                },
+                {
+                  key: "render",
+                  value: function () {
+                    var e = this.props,
+                      t = e.ldapUser,
+                      n = e.userError,
+                      r = e.ldapError,
+                      o = e.ldapSyncInfo,
+                      i = e.ldapConnectionInfo,
+                      s = e.navModel,
+                      m = e.username,
+                      g = this.state.isLoading;
+                    return a.a.createElement(
+                      u.a,
+                      { navModel: s },
+                      a.a.createElement(
+                        u.a.Contents,
+                        { isLoading: g },
+                        a.a.createElement(
+                          a.a.Fragment,
+                          null,
+                          r &&
+                            r.title &&
+                            a.a.createElement(
+                              "div",
+                              { className: "gf-form-group" },
+                              a.a.createElement(l.Alert, {
+                                title: r.title,
+                                severity: h.AppNotificationSeverity.Error,
+                                children: r.body,
+                              })
+                            ),
+                          a.a.createElement(f.a, { ldapConnectionInfo: i }),
+                          c.b.licenseInfo.hasLicense &&
+                            o &&
+                            a.a.createElement(d.a, { ldapSyncInfo: o }),
+                          a.a.createElement(
+                            "h3",
+                            { className: "page-heading" },
+                            "Test user mapping"
+                          ),
+                          a.a.createElement(
+                            "div",
+                            { className: "gf-form-group" },
+                            a.a.createElement(
+                              "form",
+                              {
+                                onSubmit: this.search,
+                                className: "gf-form-inline",
+                              },
+                              a.a.createElement(l.FormField, {
+                                label: "Username",
+                                labelWidth: 8,
+                                inputWidth: 30,
+                                type: "text",
+                                id: "username",
+                                name: "username",
+                                defaultValue: m,
+                              }),
+                              a.a.createElement(
+                                "button",
+                                {
+                                  type: "submit",
+                                  className: "btn btn-primary",
+                                },
+                                "Run"
+                              )
+                            )
+                          ),
+                          n &&
+                            n.title &&
+                            a.a.createElement(
+                              "div",
+                              { className: "gf-form-group" },
+                              a.a.createElement(l.Alert, {
+                                title: n.title,
+                                severity: h.AppNotificationSeverity.Error,
+                                children: n.body,
+                                onRemove: this.onClearUserError,
+                              })
+                            ),
+                          t &&
+                            a.a.createElement(p.a, {
+                              ldapUser: t,
+                              showAttributeMapping: !0,
+                            })
+                        )
+                      )
+                    );
+                  },
+                },
+              ]) && w(n.prototype, r),
+              o && w(n, o),
+              t
+            );
+          })(r.PureComponent),
+          S = {
+            loadLdapState: m.i,
+            loadLdapSyncStatus: m.j,
+            loadUserMapping: m.k,
+            clearUserError: m.b,
+            clearUserMappingInfo: m.c,
+          };
+        t.a = Object(o.hot)(e)(
+          Object(i.connect)(function (e) {
+            return {
+              navModel: Object(s.a)(e.navIndex, "ldap"),
+              username: e.location.routeParams.user,
+              ldapConnectionInfo: e.ldap.connectionInfo,
+              ldapUser: e.ldap.user,
+              ldapSyncInfo: e.ldap.syncInfo,
+              userError: e.ldap.userError,
+              ldapError: e.ldap.ldapError,
+            };
+          }, S)(j)
+        );
+      }.call(this, n("3UD+")(e)));
+    },
+    zJCM: function (e, t) {
+      var n = "public/app/plugins/panel/graph/thresholds_form.html";
+      window.angular.module("ng").run([
+        "$templateCache",
+        function (e) {
+          e.put(
+            n,
+            "<div class=gf-form-group>\n  <p class=muted ng-show=ctrl.disabled>\n    Visual thresholds options <strong>disabled.</strong>\n    Visit the Alert tab to update your thresholds.<br>\n    To re-enable thresholds, the alert rule must be deleted from this panel.\n  </p>\n  <div ng-class=\"{'thresholds-form-disabled': ctrl.disabled}\">\n    <div class=gf-form-inline ng-repeat=\"threshold in ctrl.panel.thresholds\">\n      <div class=gf-form>\n        <label class=gf-form-label>T{{$index+1}}</label>\n      </div>\n\n      <div class=gf-form>\n        <div class=gf-form-select-wrapper>\n          <select class=gf-form-input ng-model=threshold.op ng-options=\"f for f in ['gt', 'lt']\" ng-change=ctrl.render() ng-disabled=ctrl.disabled></select>\n        </div>\n        <input type=number ng-model=threshold.value class=\"gf-form-input width-8\" ng-change=ctrl.render() placeholder=value ng-disabled=ctrl.disabled>\n      </div>\n\n      <div class=gf-form>\n        <label class=gf-form-label>Color</label>\n        <div class=gf-form-select-wrapper>\n          <select class=gf-form-input ng-model=threshold.colorMode ng-options=\"f for f in ['custom', 'critical', 'warning', 'ok']\" ng-change=ctrl.onThresholdTypeChange($index) ng-disabled=ctrl.disabled>\n          </select>\n        </div>\n      </div>\n\n      <gf-form-switch class=gf-form label=Fill checked=threshold.fill on-change=ctrl.render() ng-disabled=ctrl.disabled></gf-form-switch>\n\n      <div class=gf-form ng-if=\"threshold.fill && threshold.colorMode === 'custom'\">\n        <label class=gf-form-label>Fill color</label>\n        <span class=gf-form-label>\n          <color-picker color=threshold.fillColor onchange=ctrl.onFillColorChange($index)></color-picker>\n        </span>\n      </div>\n\n      <gf-form-switch class=gf-form label=Line checked=threshold.line on-change=ctrl.render() ng-disabled=ctrl.disabled></gf-form-switch>\n\n      <div class=gf-form ng-if=\"threshold.line && threshold.colorMode === 'custom'\">\n        <label class=gf-form-label>Line color</label>\n        <span class=gf-form-label>\n          <color-picker color=threshold.lineColor onchange=ctrl.onLineColorChange($index)></color-picker>\n        </span>\n      </div>\n\n      <div class=gf-form>\n        <label class=gf-form-label>Y-Axis</label>\n        <div class=gf-form-select-wrapper>\n          <select class=gf-form-input ng-model=threshold.yaxis ng-init=\"threshold.yaxis = threshold.yaxis === 'left' || threshold.yaxis === 'right' ? threshold.yaxis : 'left'\" ng-options=\"f for f in ['left', 'right']\" ng-change=ctrl.render() ng-disabled=ctrl.disabled>\n          </select>\n        </div>\n      </div>\n\n      <div class=gf-form>\n        <label class=gf-form-label>\n          <a class=pointer ng-click=ctrl.removeThreshold($index) ng-disabled=ctrl.disabled>\n            <i class=\"fa fa-trash\"></i>\n          </a>\n        </label>\n      </div>\n    </div>\n\n    <div class=gf-form-button-row>\n      <button class=\"btn btn-inverse\" ng-click=ctrl.addThreshold() ng-disabled=ctrl.disabled>\n        <i class=\"fa fa-plus\"></i>&nbsp;Add Threshold\n      </button>\n    </div>\n  </div>\n</div>\n"
+          );
+        },
+      ]),
+        (e.exports = n);
+    },
+    zVNn: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return a;
+      });
+      var r = n("i7Pf"),
+        a = Object(r.b)("core/cleanUpState");
+    },
+    zl43: function (e, t, n) {
+      "use strict";
+      n.r(t);
+      n("pNMO"),
+        n("4Brf"),
+        n("tjZM"),
+        n("3I1R"),
+        n("7+kd"),
+        n("0oug"),
+        n("KhsS"),
+        n("gOCb"),
+        n("a57n"),
+        n("GXvd"),
+        n("I1Gw"),
+        n("gXIK"),
+        n("lEou"),
+        n("gbiT"),
+        n("ma9I"),
+        n("qHT+"),
+        n("piMb"),
+        n("yyme"),
+        n("TeQF"),
+        n("fbCW"),
+        n("x0AG"),
+        n("BIHw"),
+        n("XbcX"),
+        n("QWBl"),
+        n("pjDv"),
+        n("yq1k"),
+        n("yXV3"),
+        n("4mDm"),
+        n("oVuX"),
+        n("uqXc"),
+        n("2B1R"),
+        n("Xe3L"),
+        n("E9XD"),
+        n("9N29"),
+        n("Junv"),
+        n("+2oP"),
+        n("Rfxz"),
+        n("94Xl"),
+        n("pDQq"),
+        n("QGkA"),
+        n("c9m3"),
+        n("wZ/5"),
+        n("gtqK"),
+        n("rOQg"),
+        n("tCCV"),
+        n("7+zs"),
+        n("tW5y"),
+        n("sMBO"),
+        n("DEfu"),
+        n("Tskq"),
+        n("Uydy"),
+        n("eajv"),
+        n("n/mU"),
+        n("PqOI"),
+        n("QNnp"),
+        n("/5zm"),
+        n("CsgD"),
+        n("9mRW"),
+        n("QFcT"),
+        n("vAFs"),
+        n("a5NK"),
+        n("yiG3"),
+        n("kNcU"),
+        n("KvGi"),
+        n("AmFO"),
+        n("eJiR"),
+        n("I9xj"),
+        n("tl/u"),
+        n("qePV"),
+        n("NbN+"),
+        n("8AyJ"),
+        n("i6QF"),
+        n("kSko"),
+        n("WDsR"),
+        n("r/Vq"),
+        n("5uH8"),
+        n("w1rZ"),
+        n("JevA"),
+        n("toAj"),
+        n("zKZe"),
+        n("Eqjn"),
+        n("5xtp"),
+        n("T63A"),
+        n("3KgV"),
+        n("wfmh"),
+        n("5DmW"),
+        n("27RR"),
+        n("cDke"),
+        n("NBAS"),
+        n("Kxld"),
+        n("yQYn"),
+        n("4h0Y"),
+        n("5D5o"),
+        n("tkto"),
+        n("v5b1"),
+        n("W/eh"),
+        n("zuhW"),
+        n("r5Og"),
+        n("ExoC"),
+        n("07d7"),
+        n("B6y2"),
+        n("5s+n"),
+        n("p532"),
+        n("pv2x"),
+        n("SuFq"),
+        n("PzqY"),
+        n("rBZX"),
+        n("XUE8"),
+        n("nkod"),
+        n("f3jH"),
+        n("x2An"),
+        n("25bX"),
+        n("G/JM"),
+        n("1t3B"),
+        n("ftMj"),
+        n("i5pp"),
+        n("TWNs"),
+        n("rB9j"),
+        n("U3f4"),
+        n("JfAA"),
+        n("YGK4"),
+        n("9bJ7"),
+        n("inlA"),
+        n("9tb/"),
+        n("JTJg"),
+        n("PKPk"),
+        n("Rm1S"),
+        n("hDyC"),
+        n("TZCg"),
+        n("2A+d"),
+        n("OM9Z"),
+        n("UxlC"),
+        n("hByQ"),
+        n("EnZy"),
+        n("LKBx"),
+        n("SYor"),
+        n("HiXI"),
+        n("7ueG"),
+        n("GKVU"),
+        n("E5NM"),
+        n("BNMt"),
+        n("zHFu"),
+        n("x83w"),
+        n("l2dK"),
+        n("GRPF"),
+        n("xdBZ"),
+        n("mRH6"),
+        n("yWo2"),
+        n("IxXR"),
+        n("TFPT"),
+        n("Zk8X"),
+        n("z8NH"),
+        n("SpvK"),
+        n("/Yfv"),
+        n("iwkZ"),
+        n("FDzp"),
+        n("XMab"),
+        n("ilnZ"),
+        n("hMMk"),
+        n("+ywr"),
+        n("moxL"),
+        n("qXVe"),
+        n("c162"),
+        n("waxf"),
+        n("0TkE"),
+        n("Onu3"),
+        n("1dYe"),
+        n("IL/d"),
+        n("gvgV"),
+        n("6R/c"),
+        n("YL0P"),
+        n("X5Zq"),
+        n("MoCz"),
+        n("P8wP"),
+        n("7JcK"),
+        n("ypFw"),
+        n("JaFt"),
+        n("zSZm"),
+        n("PF2M"),
+        n("KVSy"),
+        n("ZJ55"),
+        n("IZzc"),
+        n("Fwt+"),
+        n("s5qe"),
+        n("cvf0"),
+        n("ENF9"),
+        n("H+LF"),
+        n("FZtP"),
+        n("3bBZ"),
+        n("Ew+T"),
+        n("n5b4"),
+        n("R5XZ"),
+        n("Kz25"),
+        n("vxnP"),
+        n("mGGf"),
+        n("ls82"),
+        n("bZMm"),
+        n("QkDe");
+      var r = n("JgE6"),
+        a = n.n(r),
+        o = (n("JEAp"), n("LvDl")),
+        i = n.n(o),
+        l = n("+2Rf"),
+        s = n.n(l),
+        c = n("KHwQ"),
+        u = n.n(c),
+        f = (n("STM2"), n("wmx0"), n("YTCJ"), n("VBMh"), n("q1tI")),
+        d = n.n(f),
+        p = n("i8i4"),
+        h = n.n(p),
+        m = (n("kX54"), n("Qhie"), n("ZFWI")),
+        g = n("Obii"),
+        b = n("Xmxp"),
+        v = null;
+      var y =
+        (function () {
+          if (null !== v) return v;
+          if ("undefined" != typeof document) {
+            var e = document.createElement("div"),
+              t = {
+                width: "100px",
+                height: "100px",
+                position: "absolute",
+                top: "-9999px",
+                overflow: "scroll",
+                MsOverflowStyle: "scrollbar",
+              };
+            Object.keys(t).map(function (n) {
+              e.style[n] = t[n];
+            }),
+              document.body.appendChild(e),
+              (v = e.offsetWidth - e.clientWidth),
+              document.body.removeChild(e);
+          } else v = 0;
+          return v || 0;
+        })() > 0;
+      var w = n("Vw/f"),
+        O = n("txxJ"),
+        x = n("HJRA"),
+        k = n("UIT+"),
+        j = n("GQ3c"),
+        S = n("NXk7");
+      function E(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      var C = function e(t, n, r, a, o) {
+        E(this, e),
+          t.appEvent(j.CoreEvents.dashboardFetchStart),
+          n.uid || n.slug
+            ? "script" === n.type || "snapshot" === n.type || n.uid
+              ? r.loadDashboard(n.type, n.slug, n.uid).then(function (e) {
+                  if (e.meta.url) {
+                    var r = k.b.stripBaseFromUrl(e.meta.url);
+                    if (r !== a.path()) return void a.path(r).replace();
+                  }
+                  (e.meta.autofitpanels = n.autofitpanels),
+                    (e.meta.kiosk = n.kiosk),
+                    t.initDashboard(e, t);
+                })
+              : S.b.getDashboardBySlug(n.slug).then(function (e) {
+                  e && a.path(k.b.stripBaseFromUrl(e.meta.url)).replace();
+                })
+            : S.b.get("/api/dashboards/home").then(function (e) {
+                if (e.redirectUri) {
+                  var n = k.b.stripBaseFromUrl(e.redirectUri);
+                  a.path(n);
+                } else {
+                  var r = e.meta;
+                  (r.canSave = r.canShare = r.canStar = !1),
+                    t.initDashboard(e, t);
+                }
+              });
+      };
+      (C.$inject = [
+        "$scope",
+        "$routeParams",
+        "dashboardLoaderSrv",
+        "$location",
+        "$browser",
+      ]),
+        (C.$inject = [
+          "$scope",
+          "$routeParams",
+          "dashboardLoaderSrv",
+          "$location",
+          "$browser",
+        ]);
+      var P = function e(t, n) {
+        E(this, e),
+          t.initDashboard(
+            {
+              meta: {
+                canStar: !1,
+                canShare: !1,
+                isNew: !0,
+                folderId: Number(n.folderId),
+              },
+              dashboard: {
+                title: "New dashboard",
+                panels: [
+                  {
+                    type: "add-panel",
+                    gridPos: { x: 0, y: 0, w: 12, h: 9 },
+                    title: "Panel Title",
+                  },
+                ],
+              },
+            },
+            t
+          );
+      };
+      (P.$inject = ["$scope", "$routeParams"]),
+        (P.$inject = ["$scope", "$routeParams"]),
+        O.c.controller("LoadDashboardCtrl", C),
+        O.c.controller("NewDashboardCtrl", P);
+      n("y+vE");
+      var T = [];
+      var D = n("2KQq");
+      function A(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var _ = (function () {
+        function e(t, n, r, a) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$location = t),
+            (this.validationSrv = n),
+            (this.$scope = a),
+            (this.title = ""),
+            (this.titleTouched = !1),
+            (this.navModel = r.getNav("dashboards", "manage-dashboards", 0));
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$location", "validationSrv", "navModelSrv", "$scope"]),
+          (t = e),
+          (n = [
+            {
+              key: "create",
+              value: function () {
+                var e = this;
+                this.hasValidationError ||
+                  Object(D.a)(this.$scope)(
+                    S.b.createFolder({ title: this.title }).then(function (t) {
+                      b.b.emit(g.AppEvents.alertSuccess, [
+                        "Folder Created",
+                        "OK",
+                      ]),
+                        e.$location.url(k.b.stripBaseFromUrl(t.url));
+                    })
+                  );
+              },
+            },
+            {
+              key: "titleChanged",
+              value: function () {
+                var e = this;
+                (this.titleTouched = !0),
+                  Object(D.a)(this.$scope)(
+                    this.validationSrv
+                      .validateNewFolderName(this.title)
+                      .then(function () {
+                        e.hasValidationError = !1;
+                      })
+                      .catch(function (t) {
+                        (e.hasValidationError = !0),
+                          (e.validationError = t.message);
+                      })
+                  );
+              },
+            },
+          ]) && A(t.prototype, n),
+          r && A(t, r),
+          e
+        );
+      })();
+      function N(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var M = (function () {
+        function e() {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e);
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "load",
+              value: function (e, t, n) {
+                return (
+                  (e.navModel = {
+                    main: {
+                      icon: "fa fa-folder-open",
+                      id: "manage-folder",
+                      subTitle: "Manage folder dashboards & permissions",
+                      url: "",
+                      text: "",
+                      breadcrumbs: [{ title: "Dashboards", url: "dashboards" }],
+                      children: [
+                        {
+                          active: "manage-folder-dashboards" === n,
+                          icon: "fa fa-fw fa-th-large",
+                          id: "manage-folder-dashboards",
+                          text: "Dashboards",
+                          url: "dashboards",
+                        },
+                        {
+                          active: "manage-folder-permissions" === n,
+                          icon: "fa fa-fw fa-lock",
+                          id: "manage-folder-permissions",
+                          text: "Permissions",
+                          url: "dashboards/permissions",
+                        },
+                        {
+                          active: "manage-folder-settings" === n,
+                          icon: "gicon gicon-cog",
+                          id: "manage-folder-settings",
+                          text: "Settings",
+                          url: "dashboards/settings",
+                        },
+                      ],
+                    },
+                  }),
+                  S.b.getFolderByUid(t).then(function (t) {
+                    e.folderId = t.id;
+                    var n = t.title,
+                      r = t.url;
+                    e.navModel.main.text = n;
+                    var a = e.navModel.main.children.find(function (e) {
+                      return "manage-folder-dashboards" === e.id;
+                    });
+                    return (
+                      (a.url = r),
+                      t.canAdmin
+                        ? ((e.navModel.main.children.find(function (e) {
+                            return "manage-folder-permissions" === e.id;
+                          }).url = r + "/permissions"),
+                          (e.navModel.main.children.find(function (e) {
+                            return "manage-folder-settings" === e.id;
+                          }).url = r + "/settings"))
+                        : (e.navModel.main.children = [a]),
+                      t
+                    );
+                  })
+                );
+              },
+            },
+          ]) && N(t.prototype, n),
+          r && N(t, r),
+          e
+        );
+      })();
+      var I = function e(t, n, r, a) {
+        if (
+          ((function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+          (this.$routeParams = n),
+          (this.$scope = a),
+          this.$routeParams.uid)
+        ) {
+          this.uid = n.uid;
+          var o = new M();
+          Object(D.a)(this.$scope)(
+            o
+              .load(this, this.uid, "manage-folder-dashboards")
+              .then(function (e) {
+                var t = k.b.stripBaseFromUrl(e.url);
+                t !== r.path() && r.path(t).replace();
+              })
+          );
+        }
+      };
+      function R(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      I.$inject = ["navModelSrv", "$routeParams", "$location", "$scope"];
+      var F = (function () {
+          function e(t, n, r, a, o) {
+            var i = this;
+            !(function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, e),
+              (this.$scope = t),
+              (this.validationSrv = n),
+              (this.$location = a),
+              (this.onFolderChange = function (e) {
+                (i.folderId = e.id), i.titleChanged();
+              }),
+              (this.onEnterFolderCreation = function () {
+                i.inputsValid = !1;
+              }),
+              (this.onExitFolderCreation = function () {
+                i.inputValueChanged();
+              }),
+              (this.navModel = r.getNav("create", "import")),
+              (this.step = 1),
+              (this.nameExists = !1),
+              (this.uidExists = !1),
+              (this.autoGenerateUid = !0),
+              (this.autoGenerateUidValue = "auto-generated"),
+              (this.folderId = o.folderId ? Number(o.folderId) || 0 : null),
+              (this.initialFolderTitle = "Select a folder"),
+              o.gnetId &&
+                ((this.gnetUrl = o.gnetId), this.checkGnetDashboard());
+          }
+          var t, n, r;
+          return (
+            (e.$inject = [
+              "$scope",
+              "validationSrv",
+              "navModelSrv",
+              "$location",
+              "$routeParams",
+            ]),
+            (t = e),
+            (n = [
+              {
+                key: "onUpload",
+                value: function (e) {
+                  if (
+                    ((this.dash = e),
+                    (this.dash.id = null),
+                    (this.step = 2),
+                    (this.inputs = []),
+                    this.dash.__inputs)
+                  ) {
+                    var t = !0,
+                      n = !1,
+                      r = void 0;
+                    try {
+                      for (
+                        var a, o = this.dash.__inputs[Symbol.iterator]();
+                        !(t = (a = o.next()).done);
+                        t = !0
+                      ) {
+                        var i = a.value,
+                          l = {
+                            name: i.name,
+                            label: i.label,
+                            info: i.description,
+                            value: i.value,
+                            type: i.type,
+                            pluginId: i.pluginId,
+                            options: [],
+                          };
+                        "datasource" === i.type
+                          ? this.setDatasourceOptions(i, l)
+                          : l.info || (l.info = "Specify a string constant"),
+                          this.inputs.push(l);
+                      }
+                    } catch (e) {
+                      (n = !0), (r = e);
+                    } finally {
+                      try {
+                        t || null == o.return || o.return();
+                      } finally {
+                        if (n) throw r;
+                      }
+                    }
+                  }
+                  (this.inputsValid = 0 === this.inputs.length),
+                    this.titleChanged(),
+                    this.uidChanged(!0);
+                },
+              },
+              {
+                key: "setDatasourceOptions",
+                value: function (e, t) {
+                  var n = i.a.filter(m.b.datasources, function (t) {
+                    return t.type === e.pluginId;
+                  });
+                  0 === n.length
+                    ? (t.info =
+                        "No data sources of type " + e.pluginName + " found")
+                    : t.info ||
+                      (t.info = "Select a " + e.pluginName + " data source"),
+                    (t.options = n.map(function (e) {
+                      return { text: e.name, value: e.name };
+                    }));
+                },
+              },
+              {
+                key: "inputValueChanged",
+                value: function () {
+                  this.inputsValid = !0;
+                  var e = !0,
+                    t = !1,
+                    n = void 0;
+                  try {
+                    for (
+                      var r, a = this.inputs[Symbol.iterator]();
+                      !(e = (r = a.next()).done);
+                      e = !0
+                    )
+                      r.value.value || (this.inputsValid = !1);
+                  } catch (e) {
+                    (t = !0), (n = e);
+                  } finally {
+                    try {
+                      e || null == a.return || a.return();
+                    } finally {
+                      if (t) throw n;
+                    }
+                  }
+                },
+              },
+              {
+                key: "titleChanged",
+                value: function () {
+                  var e = this;
+                  (this.titleTouched = !0),
+                    (this.nameExists = !1),
+                    Object(D.a)(this.$scope)(
+                      this.validationSrv
+                        .validateNewDashboardName(
+                          this.folderId,
+                          this.dash.title
+                        )
+                        .then(function () {
+                          (e.nameExists = !1), (e.hasNameValidationError = !1);
+                        })
+                        .catch(function (t) {
+                          "EXISTING" === t.type && (e.nameExists = !0),
+                            (e.hasNameValidationError = !0),
+                            (e.nameValidationError = t.message);
+                        })
+                    );
+                },
+              },
+              {
+                key: "uidChanged",
+                value: function (e) {
+                  var t = this;
+                  (this.uidExists = !1),
+                    (this.hasUidValidationError = !1),
+                    !0 === e &&
+                      this.dash.uid &&
+                      (this.autoGenerateUidValue = "value set"),
+                    this.dash.uid &&
+                      Object(D.a)(this.$scope)(
+                        S.b
+                          .getDashboardByUid(this.dash.uid)
+                          .then(function (e) {
+                            (t.uidExists = !0),
+                              (t.hasUidValidationError = !0),
+                              (t.uidValidationError = "Dashboard named '"
+                                .concat(e.dashboard.title, "' in folder '")
+                                .concat(
+                                  e.meta.folderTitle,
+                                  "' has the same uid"
+                                ));
+                          })
+                          .catch(function (e) {
+                            e.isHandled = !0;
+                          })
+                      );
+                },
+              },
+              {
+                key: "isValid",
+                value: function () {
+                  return this.inputsValid && null !== this.folderId;
+                },
+              },
+              {
+                key: "saveDashboard",
+                value: function () {
+                  var e = this,
+                    t = this.inputs.map(function (e) {
+                      return {
+                        name: e.name,
+                        type: e.type,
+                        pluginId: e.pluginId,
+                        value: e.value,
+                      };
+                    });
+                  return Object(D.a)(this.$scope)(
+                    S.b
+                      .post("api/dashboards/import", {
+                        dashboard: this.dash,
+                        overwrite: !0,
+                        inputs: t,
+                        folderId: this.folderId,
+                      })
+                      .then(function (t) {
+                        var n = k.b.stripBaseFromUrl(t.importedUrl);
+                        e.$location.url(n);
+                      })
+                  );
+                },
+              },
+              {
+                key: "loadJsonText",
+                value: function () {
+                  try {
+                    this.parseError = "";
+                    var e = JSON.parse(this.jsonText);
+                    this.onUpload(e);
+                  } catch (e) {
+                    return console.log(e), void (this.parseError = e.message);
+                  }
+                },
+              },
+              {
+                key: "checkGnetDashboard",
+                value: function () {
+                  var e = this;
+                  this.gnetError = "";
+                  var t,
+                    n = /(^\d+$)|dashboards\/(\d+)/.exec(this.gnetUrl);
+                  return (
+                    n && n[1]
+                      ? (t = n[1])
+                      : n && n[2]
+                      ? (t = n[2])
+                      : (this.gnetError = "Could not find dashboard"),
+                    Object(D.a)(this.$scope)(
+                      S.b
+                        .get("api/gnet/dashboards/" + t)
+                        .then(function (t) {
+                          (e.gnetInfo = t),
+                            (t.json.gnetId = t.id),
+                            e.onUpload(t.json);
+                        })
+                        .catch(function (t) {
+                          (t.isHandled = !0),
+                            (e.gnetError = t.data.message || t);
+                        })
+                    )
+                  );
+                },
+              },
+              {
+                key: "back",
+                value: function () {
+                  (this.gnetUrl = ""),
+                    (this.step = 1),
+                    (this.gnetError = ""),
+                    (this.gnetInfo = "");
+                },
+              },
+            ]) && R(t.prototype, n),
+            r && R(t, r),
+            e
+          );
+        })(),
+        L = n("zD9p"),
+        V = n("0mC0"),
+        B = n("38Hk"),
+        q = n("1w3K"),
+        U = function () {
+          return d.a.createElement(
+            "div",
+            { className: "login-signup-box" },
+            d.a.createElement(
+              "div",
+              { className: "login-signup-title p-r-1" },
+              "New to Grafana?"
+            ),
+            d.a.createElement(
+              "a",
+              {
+                href: "signup",
+                className: "btn btn-medium btn-signup btn-p-x-2",
+              },
+              "Sign Up"
+            )
+          );
+        },
+        z = function () {
+          var e = !!m.b.oauth;
+          return {
+            saml: {
+              enabled: m.b.samlEnabled,
+              name: "SAML",
+              className: "github",
+              icon: "key",
+            },
+            google: { enabled: e && m.b.oauth.google, name: "Google" },
+            azuread: { enabled: m.b.oauth.azuread, name: "Microsoft" },
+            github: { enabled: e && m.b.oauth.github, name: "GitHub" },
+            gitlab: { enabled: e && m.b.oauth.gitlab, name: "GitLab" },
+            grafanacom: {
+              enabled: e && m.b.oauth.grafana_com,
+              name: "Grafana.com",
+              hrefName: "grafana_com",
+              icon: "grafana_com",
+            },
+            oauth: {
+              enabled: e && m.b.oauth.generic_oauth,
+              name:
+                e && m.b.oauth.generic_oauth
+                  ? m.b.oauth.generic_oauth.name
+                  : "OAuth",
+              icon: "sign-in",
+              hrefName: "generic_oauth",
+            },
+          };
+        },
+        H = function () {
+          var e = Object.keys(z()).filter(function (e) {
+            return z()[e].enabled;
+          });
+          if (0 === e.length) return null;
+          var t = e.map(function (e) {
+              var t = z()[e];
+              return d.a.createElement(
+                "a",
+                {
+                  key: e,
+                  className: "btn btn-medium btn-service btn-service--".concat(
+                    t.className || e,
+                    " login-btn"
+                  ),
+                  href: "login/".concat(t.hrefName ? t.hrefName : e),
+                  target: "_self",
+                },
+                d.a.createElement("i", {
+                  className: "btn-service-icon fa fa-".concat(
+                    t.icon ? t.icon : e
+                  ),
+                }),
+                "Sign in with ",
+                t.name
+              );
+            }),
+            n = d.a.createElement(
+              d.a.Fragment,
+              null,
+              d.a.createElement(
+                "div",
+                { className: "text-center login-divider" },
+                d.a.createElement(
+                  "div",
+                  null,
+                  d.a.createElement("div", { className: "login-divider-line" })
+                ),
+                d.a.createElement(
+                  "div",
+                  null,
+                  d.a.createElement(
+                    "span",
+                    { className: "login-divider-text" },
+                    m.b.disableLoginForm
+                      ? null
+                      : d.a.createElement("span", null, "or")
+                  )
+                ),
+                d.a.createElement(
+                  "div",
+                  null,
+                  d.a.createElement("div", { className: "login-divider-line" })
+                )
+              ),
+              d.a.createElement("div", { className: "clearfix" })
+            );
+          return d.a.createElement(
+            d.a.Fragment,
+            null,
+            n,
+            d.a.createElement(
+              "div",
+              { className: "login-oauth text-center" },
+              t
+            )
+          );
+        },
+        G = n("LOGi"),
+        W = n("1gCF");
+      function Q(e) {
+        return (Q =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Y(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function K(e, t) {
+        return !t || ("object" !== Q(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function J(e) {
+        return (J = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Z(e, t) {
+        return (Z =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var X = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = K(this, J(t).call(this, e))).onSubmit = function (e) {
+                e.preventDefault();
+                var t = n.state,
+                  r = t.user,
+                  a = t.password,
+                  o = t.email;
+                n.state.valid &&
+                  n.props.onSubmit({ user: r, password: a, email: o });
+              }),
+              (n.onChangePassword = function (e) {
+                n.setState({
+                  password: e.target.value,
+                  valid: n.validate(n.state.user, e.target.value),
+                });
+              }),
+              (n.onChangeUsername = function (e) {
+                n.setState({
+                  user: e.target.value,
+                  valid: n.validate(e.target.value, n.state.password),
+                });
+              }),
+              (n.state = { user: "", password: "", email: "", valid: !1 }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Z(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value: function () {
+                  this.userInput.focus();
+                },
+              },
+              {
+                key: "validate",
+                value: function (e, t) {
+                  return e.length > 0 && t.length > 0;
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this;
+                  return d.a.createElement(
+                    "form",
+                    {
+                      name: "loginForm",
+                      className: "login-form-group gf-form-group",
+                    },
+                    d.a.createElement(
+                      "div",
+                      { className: "login-form" },
+                      d.a.createElement("input", {
+                        ref: function (t) {
+                          e.userInput = t;
+                        },
+                        type: "text",
+                        name: "user",
+                        className: "gf-form-input login-form-input",
+                        required: !0,
+                        placeholder: this.props.loginHint,
+                        "aria-label": W.a.pages.Login.selectors.username,
+                        onChange: this.onChangeUsername,
+                      })
+                    ),
+                    d.a.createElement(
+                      "div",
+                      { className: "login-form" },
+                      d.a.createElement("input", {
+                        type: "password",
+                        name: "password",
+                        className: "gf-form-input login-form-input",
+                        required: !0,
+                        "ng-model": "formModel.password",
+                        id: "inputPassword",
+                        placeholder: this.props.passwordHint,
+                        "aria-label": W.a.pages.Login.selectors.password,
+                        onChange: this.onChangePassword,
+                      })
+                    ),
+                    d.a.createElement(
+                      "div",
+                      { className: "login-button-group" },
+                      this.props.isLoggingIn
+                        ? d.a.createElement(
+                            "button",
+                            {
+                              type: "submit",
+                              disabled: !0,
+                              className:
+                                "btn btn-large p-x-2 btn-inverse btn-loading",
+                            },
+                            "Logging In",
+                            d.a.createElement("span", null, "."),
+                            d.a.createElement("span", null, "."),
+                            d.a.createElement("span", null, ".")
+                          )
+                        : d.a.createElement(
+                            "button",
+                            {
+                              type: "submit",
+                              "aria-label": W.a.pages.Login.selectors.submit,
+                              className: "btn btn-large p-x-2 ".concat(
+                                this.state.valid ? "btn-primary" : "btn-inverse"
+                              ),
+                              onClick: this.onSubmit,
+                              disabled: !this.state.valid,
+                            },
+                            "Log In"
+                          ),
+                      this.props.displayForgotPassword
+                        ? d.a.createElement(
+                            "div",
+                            { className: "small login-button-forgot-password" },
+                            d.a.createElement(
+                              "a",
+                              { href: "user/password/send-reset-email" },
+                              "Forgot your password?"
+                            )
+                          )
+                        : null
+                    )
+                  );
+                },
+              },
+            ]) && Y(n.prototype, r),
+            a && Y(n, a),
+            t
+          );
+        })(f.PureComponent),
+        ee = n("kDLi");
+      function te(e) {
+        return (te =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function ne(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function re(e, t) {
+        return !t || ("object" !== te(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function ae(e) {
+        return (ae = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function oe(e, t) {
+        return (oe =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var ie = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = re(this, ae(t).call(this, e))).onSubmit = function (e) {
+                e.preventDefault();
+                var t = n.state,
+                  r = t.newPassword;
+                t.valid
+                  ? n.props.onSubmit(r)
+                  : b.b.emit(g.AppEvents.alertWarning, [
+                      "New passwords do not match",
+                    ]);
+              }),
+              (n.onNewPasswordChange = function (e) {
+                n.setState({
+                  newPassword: e.target.value,
+                  valid: n.validate("newPassword", e.target.value),
+                });
+              }),
+              (n.onConfirmPasswordChange = function (e) {
+                n.setState({
+                  confirmNew: e.target.value,
+                  valid: n.validate("confirmNew", e.target.value),
+                });
+              }),
+              (n.onSkip = function (e) {
+                n.props.onSkip();
+              }),
+              (n.state = { newPassword: "", confirmNew: "", valid: !1 }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && oe(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidUpdate",
+                value: function (e) {
+                  !e.focus && this.props.focus && this.focus();
+                },
+              },
+              {
+                key: "focus",
+                value: function () {
+                  this.userInput.focus();
+                },
+              },
+              {
+                key: "validate",
+                value: function (e, t) {
+                  return "newPassword" === e
+                    ? this.state.confirmNew === t
+                    : "confirmNew" === e && this.state.newPassword === t;
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this;
+                  return d.a.createElement(
+                    "div",
+                    {
+                      className: "login-inner-box",
+                      id: "change-password-view",
+                    },
+                    d.a.createElement(
+                      "div",
+                      { className: "text-left login-change-password-info" },
+                      d.a.createElement("h5", null, "Change Password"),
+                      "Before you can get started with awesome dashboards we need you to make your account more secure by changing your password.",
+                      d.a.createElement("br", null),
+                      "You can change your password again later."
+                    ),
+                    d.a.createElement(
+                      "form",
+                      { className: "login-form-group gf-form-group" },
+                      d.a.createElement(
+                        "div",
+                        { className: "login-form" },
+                        d.a.createElement("input", {
+                          type: "password",
+                          id: "newPassword",
+                          name: "newPassword",
+                          className: "gf-form-input login-form-input",
+                          required: !0,
+                          placeholder: "New password",
+                          onChange: this.onNewPasswordChange,
+                          ref: function (t) {
+                            e.userInput = t;
+                          },
+                        })
+                      ),
+                      d.a.createElement(
+                        "div",
+                        { className: "login-form" },
+                        d.a.createElement("input", {
+                          type: "password",
+                          name: "confirmNew",
+                          className: "gf-form-input login-form-input",
+                          required: !0,
+                          "ng-model": "command.confirmNew",
+                          placeholder: "Confirm new password",
+                          onChange: this.onConfirmPasswordChange,
+                        })
+                      ),
+                      d.a.createElement(
+                        "div",
+                        {
+                          className:
+                            "login-button-group login-button-group--right text-right",
+                        },
+                        d.a.createElement(
+                          ee.Tooltip,
+                          {
+                            placement: "bottom",
+                            content:
+                              "If you skip you will be prompted to change password next time you login.",
+                          },
+                          d.a.createElement(
+                            "a",
+                            {
+                              className: "btn btn-link",
+                              onClick: this.onSkip,
+                              "aria-label": W.a.pages.Login.selectors.skip,
+                            },
+                            "Skip"
+                          )
+                        ),
+                        d.a.createElement(
+                          "button",
+                          {
+                            type: "submit",
+                            className: "btn btn-large p-x-2 ".concat(
+                              this.state.valid ? "btn-primary" : "btn-inverse"
+                            ),
+                            onClick: this.onSubmit,
+                            disabled: !this.state.valid,
+                          },
+                          "Save"
+                        )
+                      )
+                    )
+                  );
+                },
+              },
+            ]) && ne(n.prototype, r),
+            a && ne(n, a),
+            t
+          );
+        })(f.PureComponent),
+        le = n("ibPz"),
+        se = n("5C3A"),
+        ce = function () {
+          return d.a.createElement(
+            le.a.LoginBackground,
+            { className: "login container" },
+            d.a.createElement(
+              "div",
+              { className: "login-content" },
+              d.a.createElement(
+                "div",
+                { className: "login-branding" },
+                d.a.createElement(le.a.LoginLogo, { className: "login-logo" })
+              ),
+              d.a.createElement(G.a, null, function (e) {
+                var t = e.loginHint,
+                  n = e.passwordHint,
+                  r = (e.isOauthEnabled, e.ldapEnabled),
+                  a = e.authProxyEnabled,
+                  o = e.disableLoginForm,
+                  i = e.disableUserSignUp,
+                  l = e.login,
+                  s = e.isLoggingIn,
+                  c = e.changePassword,
+                  u = e.skipPasswordChange,
+                  f = e.isChangingPassword;
+                return d.a.createElement(
+                  "div",
+                  { className: "login-outer-box" },
+                  d.a.createElement(
+                    "div",
+                    {
+                      className: "login-inner-box ".concat(f ? "hidden" : ""),
+                      id: "login-view",
+                    },
+                    o
+                      ? null
+                      : d.a.createElement(X, {
+                          displayForgotPassword: !(r || a),
+                          onSubmit: l,
+                          loginHint: t,
+                          passwordHint: n,
+                          isLoggingIn: s,
+                        }),
+                    d.a.createElement(H, null),
+                    i ? null : d.a.createElement(U, null)
+                  ),
+                  d.a.createElement(
+                    q.CSSTransition,
+                    {
+                      appear: !0,
+                      mountOnEnter: !0,
+                      in: f,
+                      timeout: 250,
+                      classNames: "login-inner-box",
+                    },
+                    d.a.createElement(ie, { onSubmit: c, onSkip: u, focus: f })
+                  )
+                );
+              }),
+              d.a.createElement("div", { className: "clearfix" })
+            ),
+            d.a.createElement(se.a, null)
+          );
+        },
+        ue = n("CnBM"),
+        fe = n.n(ue),
+        de = d.a.memo(function () {
+          return d.a.createElement(
+            "div",
+            { className: "preloader" },
+            d.a.createElement(ee.LoadingPlaceholder, { text: "Loading..." })
+          );
+        });
+      de.displayName = "LoadingChunkPlaceHolder";
+      var pe = n("kDDq");
+      function he() {
+        var e = (function (e, t) {
+          t || (t = e.slice(0));
+          return Object.freeze(
+            Object.defineProperties(e, { raw: { value: Object.freeze(t) } })
+          );
+        })(["\n    width: 508px;\n    margin: 128px auto;\n  "]);
+        return (
+          (he = function () {
+            return e;
+          }),
+          e
+        );
+      }
+      var me = Object(ee.stylesFactory)(function () {
+          return Object(pe.css)(he());
+        }),
+        ge = function (e) {
+          var t = e.error;
+          return d.a.createElement(
+            "div",
+            { className: me() },
+            d.a.createElement("h2", null, "Unable to find application file"),
+            d.a.createElement("br", null),
+            d.a.createElement(
+              "h2",
+              { className: "page-heading" },
+              "Grafana has likely been updated. Please try reloading the page."
+            ),
+            d.a.createElement("br", null),
+            d.a.createElement(
+              "div",
+              { className: "gf-form-group" },
+              d.a.createElement(
+                ee.Button,
+                {
+                  size: "md",
+                  variant: "secondary",
+                  icon: "fa fa-repeat",
+                  onClick: function () {
+                    return window.location.reload();
+                  },
+                },
+                "Reload"
+              )
+            ),
+            d.a.createElement(
+              "details",
+              { style: { whiteSpace: "pre-wrap" } },
+              t && t.message ? t.message : "Unexpected error occurred",
+              d.a.createElement("br", null),
+              t && t.stack ? t.stack : null
+            )
+          );
+        };
+      ge.displayName = "ErrorLoadingChunk";
+      var be = function (e) {
+          var t = e.error,
+            n = e.pastDelay;
+          return t
+            ? d.a.createElement(ge, { error: t })
+            : n
+            ? d.a.createElement(de, null)
+            : null;
+        },
+        ve = function (e) {
+          return function (t) {
+            var n = Object.assign({}, t),
+              r = fe()({
+                loader: function () {
+                  return e;
+                },
+                loading: be,
+              });
+            return d.a.createElement(r, n);
+          };
+        };
+      function ye(e, t) {
+        t.html5Mode(!0);
+        var r = function () {
+          return ve(
+            Promise.all([n.e(0), n.e(3), n.e(10)]).then(n.bind(null, "lIMf"))
+          );
+        };
+        e
+          .when("/", {
+            template: "<react-container />",
+            pageClass: "page-dashboard",
+            routeInfo: j.DashboardRouteInfo.Home,
+            reloadOnSearch: !1,
+            resolve: { component: r },
+          })
+          .when("/d/:uid/:slug", {
+            template: "<react-container />",
+            pageClass: "page-dashboard",
+            routeInfo: j.DashboardRouteInfo.Normal,
+            reloadOnSearch: !1,
+            resolve: { component: r },
+          })
+          .when("/d/:uid", {
+            template: "<react-container />",
+            pageClass: "page-dashboard",
+            reloadOnSearch: !1,
+            routeInfo: j.DashboardRouteInfo.Normal,
+            resolve: { component: r },
+          })
+          .when("/dashboard/:type/:slug", {
+            template: "<react-container />",
+            pageClass: "page-dashboard",
+            routeInfo: j.DashboardRouteInfo.Normal,
+            reloadOnSearch: !1,
+            resolve: { component: r },
+          })
+          .when("/dashboard/new", {
+            template: "<react-container />",
+            pageClass: "page-dashboard",
+            routeInfo: j.DashboardRouteInfo.New,
+            reloadOnSearch: !1,
+            resolve: { component: r },
+          })
+          .when("/d-solo/:uid/:slug", {
+            template: "<react-container />",
+            pageClass: "dashboard-solo",
+            routeInfo: j.DashboardRouteInfo.Normal,
+            reloadOnSearch: !1,
+            resolve: {
+              component: function () {
+                return ve(
+                  Promise.all([n.e(0), n.e(3), n.e(21)]).then(
+                    n.bind(null, "gBvE")
+                  )
+                );
+              },
+            },
+          })
+          .when("/d-solo/:uid", {
+            template: "<react-container />",
+            pageClass: "dashboard-solo",
+            routeInfo: j.DashboardRouteInfo.Normal,
+            reloadOnSearch: !1,
+            resolve: {
+              component: function () {
+                return ve(
+                  Promise.all([n.e(0), n.e(3), n.e(21)]).then(
+                    n.bind(null, "gBvE")
+                  )
+                );
+              },
+            },
+          })
+          .when("/dashboard-solo/:type/:slug", {
+            template: "<react-container />",
+            pageClass: "dashboard-solo",
+            routeInfo: j.DashboardRouteInfo.Normal,
+            reloadOnSearch: !1,
+            resolve: {
+              component: function () {
+                return ve(
+                  Promise.all([n.e(0), n.e(3), n.e(21)]).then(
+                    n.bind(null, "gBvE")
+                  )
+                );
+              },
+            },
+          })
+          .when("/dashboard/import", {
+            templateUrl:
+              "public/app/features/manage-dashboards/partials/dashboard_import.html",
+            controller: F,
+            controllerAs: "ctrl",
+          })
+          .when("/datasources", {
+            template: "<react-container />",
+            resolve: {
+              component: function () {
+                return ve(n.e(13).then(n.bind(null, "rouV")));
+              },
+            },
+          })
+          .when("/datasources/edit/:id/", {
+            template: "<react-container />",
+            reloadOnSearch: !1,
+            resolve: {
+              component: function () {
+                return ve(n.e(12).then(n.bind(null, "Klwq")));
+              },
+            },
+          })
+          .when("/datasources/edit/:id/dashboards", {
+            template: "<react-container />",
+            resolve: {
+              component: function () {
+                return ve(n.e(11).then(n.bind(null, "BLAY")));
+              },
+            },
+          })
+          .when("/datasources/new", {
+            template: "<react-container />",
+            resolve: {
+              component: function () {
+                return ve(n.e(16).then(n.bind(null, "Fofh")));
+              },
+            },
+          })
+          .when("/dashboards", {
+            templateUrl:
+              "public/app/features/manage-dashboards/partials/dashboard_list.html",
+            controller: "DashboardListCtrl",
+            controllerAs: "ctrl",
+          })
+          .when("/dashboards/folder/new", {
+            templateUrl:
+              "public/app/features/folders/partials/create_folder.html",
+            controller: _,
+            controllerAs: "ctrl",
+          })
+          .when("/dashboards/f/:uid/:slug/permissions", {
+            template: "<react-container />",
+            resolve: {
+              component: function () {
+                return ve(n.e(14).then(n.bind(null, "rtU1")));
+              },
+            },
+          })
+          .when("/dashboards/f/:uid/:slug/settings", {
+            template: "<react-container />",
+            resolve: {
+              component: function () {
+                return ve(n.e(15).then(n.bind(null, "kzsD")));
+              },
+            },
+          })
+          .when("/dashboards/f/:uid/:slug", {
+            templateUrl:
+              "public/app/features/folders/partials/folder_dashboards.html",
+            controller: I,
+            controllerAs: "ctrl",
+          })
+          .when("/dashboards/f/:uid", {
+            templateUrl:
+              "public/app/features/folders/partials/folder_dashboards.html",
+            controller: I,
+            controllerAs: "ctrl",
+          })
+          .when("/explore", {
+            template: "<react-container />",
+            reloadOnSearch: !1,
+            resolve: {
+              roles: function () {
+                return m.b.viewersCanEdit ? [] : ["Editor", "Admin"];
+              },
+              component: function () {
+                return ve(
+                  Promise.all([n.e(0), n.e(34)]).then(n.bind(null, "eX1b"))
+                );
+              },
+            },
+          })
+          .when("/a/:pluginId/", {
+            template: "<react-container />",
+            reloadOnSearch: !1,
+            resolve: {
+              component: function () {
+                return ve(
+                  Promise.all([n.e(2), n.e(8)]).then(n.bind(null, "Xzuj"))
+                );
+              },
+            },
+          })
+          .when("/org", {
+            template: "<react-container />",
+            resolve: {
+              component: function () {
+                return ve(n.e(17).then(n.bind(null, "e5mm")));
+              },
+            },
+          })
+          .when("/org/new", {
+            templateUrl: "public/app/features/org/partials/newOrg.html",
+            controller: "NewOrgCtrl",
+          })
+          .when("/org/users", {
+            template: "<react-container />",
+            resolve: {
+              component: function () {
+                return ve(n.e(26).then(n.bind(null, "DWvN")));
+              },
+            },
+          })
+          .when("/org/users/invite", {
+            template: "<react-container/>",
+            resolve: {
+              component: function () {
+                return ve(n.e(25).then(n.bind(null, "IeNb")));
+              },
+            },
+          })
+          .when("/org/apikeys", {
+            template: "<react-container />",
+            resolve: {
+              roles: function () {
+                return ["Editor", "Admin"];
+              },
+              component: function () {
+                return ve(n.e(7).then(n.bind(null, "pSIq")));
+              },
+            },
+          })
+          .when("/org/teams", {
+            template: "<react-container />",
+            resolve: {
+              roles: function () {
+                return m.b.editorsCanAdmin ? [] : ["Editor", "Admin"];
+              },
+              component: function () {
+                return ve(n.e(22).then(n.bind(null, "+nK6")));
+              },
+            },
+          })
+          .when("/org/teams/new", {
+            template: "<react-container />",
+            resolve: {
+              roles: function () {
+                return m.b.editorsCanAdmin ? [] : ["Admin"];
+              },
+              component: function () {
+                return ve(n.e(9).then(n.bind(null, "9i9D")));
+              },
+            },
+          })
+          .when("/org/teams/edit/:id/:page?", {
+            template: "<react-container />",
+            resolve: {
+              roles: function () {
+                return m.b.editorsCanAdmin ? [] : ["Admin"];
+              },
+              component: function () {
+                return ve(n.e(23).then(n.bind(null, "p+xb")));
+              },
+            },
+          })
+          .when("/profile", {
+            templateUrl: "public/app/features/profile/partials/profile.html",
+            controller: "ProfileCtrl",
+            controllerAs: "ctrl",
+          })
+          .when("/profile/password", {
+            template: "<react-container />",
+            resolve: {
+              component: function () {
+                return ve(n.e(54).then(n.bind(null, "PEdC")));
+              },
+            },
+          })
+          .when("/profile/select-org", {
+            templateUrl: "public/app/features/org/partials/select_org.html",
+            controller: "SelectOrgCtrl",
+          })
+          .when("/admin", {
+            templateUrl: "public/app/features/admin/partials/admin_home.html",
+            controller: "AdminHomeCtrl",
+            controllerAs: "ctrl",
+          })
+          .when("/admin/settings", {
+            template: "<react-container />",
+            resolve: {
+              component: function () {
+                return ve(n.e(5).then(n.bind(null, "Cqi4")));
+              },
+            },
+          })
+          .when("/admin/upgrading", {
+            template: "<react-container />",
+            resolve: {
+              component: function () {
+                return ve(n.e(53).then(n.bind(null, "QBpM")));
+              },
+            },
+          })
+          .when("/admin/users", {
+            templateUrl: "public/app/features/admin/partials/users.html",
+            controller: "AdminListUsersCtrl",
+            controllerAs: "ctrl",
+          })
+          .when("/admin/users/create", {
+            template: "<react-container />",
+            resolve: {
+              component: function () {
+                return ve(n.e(24).then(n.bind(null, "w+x2")));
+              },
+            },
+          })
+          .when("/admin/users/edit/:id", {
+            template: "<react-container />",
+            resolve: {
+              component: function () {
+                return V.a;
+              },
+            },
+          })
+          .when("/admin/orgs", {
+            templateUrl: "public/app/features/admin/partials/orgs.html",
+            controller: "AdminListOrgsCtrl",
+            controllerAs: "ctrl",
+          })
+          .when("/admin/orgs/edit/:id", {
+            templateUrl: "public/app/features/admin/partials/edit_org.html",
+            controller: "AdminEditOrgCtrl",
+            controllerAs: "ctrl",
+          })
+          .when("/admin/stats", {
+            template: "<react-container />",
+            resolve: {
+              component: function () {
+                return ve(n.e(19).then(n.bind(null, "jmwA")));
+              },
+            },
+          })
+          .when("/admin/ldap", {
+            template: "<react-container />",
+            resolve: {
+              component: function () {
+                return L.a;
+              },
+            },
+          })
+          .when("/login", {
+            template: "<react-container/>",
+            resolve: {
+              component: function () {
+                return ce;
+              },
+            },
+            pageClass: "login-page sidemenu-hidden",
+          })
+          .when("/invite/:code", {
+            template: "<react-container/>",
+            pageClass: "sidemenu-hidden",
+            resolve: {
+              component: function () {
+                return ve(n.e(20).then(n.bind(null, "mwzk")));
+              },
+            },
+          })
+          .when("/signup", {
+            template: "<react-container/>",
+            resolve: {
+              component: function () {
+                return B.a;
+              },
+            },
+            pageClass: "sidemenu-hidden",
+          })
+          .when("/user/password/send-reset-email", {
+            templateUrl: "public/app/partials/reset_password.html",
+            controller: "ResetPasswordCtrl",
+            pageClass: "sidemenu-hidden",
+          })
+          .when("/user/password/reset", {
+            templateUrl: "public/app/partials/reset_password.html",
+            controller: "ResetPasswordCtrl",
+            pageClass: "sidemenu-hidden",
+          })
+          .when("/dashboard/snapshots", {
+            templateUrl:
+              "public/app/features/manage-dashboards/partials/snapshot_list.html",
+            controller: "SnapshotListCtrl",
+            controllerAs: "ctrl",
+          })
+          .when("/plugins", {
+            template: "<react-container />",
+            resolve: {
+              component: function () {
+                return ve(n.e(18).then(n.bind(null, "mGjS")));
+              },
+            },
+          })
+          .when("/plugins/:pluginId/", {
+            template: "<react-container />",
+            reloadOnSearch: !1,
+            resolve: {
+              component: function () {
+                return ve(n.e(2).then(n.bind(null, "kYMR")));
+              },
+            },
+          })
+          .when("/plugins/:pluginId/page/:slug", {
+            templateUrl:
+              "public/app/features/plugins/partials/plugin_page.html",
+            controller: "AppPageCtrl",
+            controllerAs: "ctrl",
+          })
+          .when("/alerting", { redirectTo: "/alerting/list" })
+          .when("/alerting/list", {
+            template: "<react-container />",
+            reloadOnSearch: !1,
+            resolve: {
+              component: function () {
+                return ve(n.e(6).then(n.bind(null, "JRIL")));
+              },
+            },
+          })
+          .when("/alerting/notifications", {
+            templateUrl:
+              "public/app/features/alerting/partials/notifications_list.html",
+            controller: "AlertNotificationsListCtrl",
+            controllerAs: "ctrl",
+          })
+          .when("/alerting/notification/new", {
+            templateUrl:
+              "public/app/features/alerting/partials/notification_edit.html",
+            controller: "AlertNotificationEditCtrl",
+            controllerAs: "ctrl",
+          })
+          .when("/alerting/notification/:id/edit", {
+            templateUrl:
+              "public/app/features/alerting/partials/notification_edit.html",
+            controller: "AlertNotificationEditCtrl",
+            controllerAs: "ctrl",
+          })
+          .otherwise({
+            templateUrl: "public/app/partials/error.html",
+            controller: "ErrorCtrl",
+          }),
+          (function (e) {
+            var t = !0,
+              n = !1,
+              r = void 0;
+            try {
+              for (
+                var a, o = T[Symbol.iterator]();
+                !(t = (a = o.next()).done);
+                t = !0
+              ) {
+                (0, a.value)(e);
+              }
+            } catch (e) {
+              (n = !0), (r = e);
+            } finally {
+              try {
+                t || null == o.return || o.return();
+              } finally {
+                if (n) throw r;
+              }
+            }
+          })(e);
+      }
+      ye.$inject = ["$routeProvider", "$locationProvider"];
+      var we = n("t8hP"),
+        Oe = n("umNM");
+      function xe(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function ke(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? xe(Object(n), !0).forEach(function (t) {
+                je(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : xe(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function je(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var Se = function e(t) {
+          var n = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.config = { flushInterval: 1e4, debug: !1 }),
+            (this.backends = []),
+            (this.logDebug = function () {
+              n.config.debug;
+            }),
+            (this.flush = function () {
+              var e = !0,
+                t = !1,
+                r = void 0;
+              try {
+                for (
+                  var a, o = n.backends[Symbol.iterator]();
+                  !(e = (a = o.next()).done);
+                  e = !0
+                ) {
+                  a.value.flush();
+                }
+              } catch (e) {
+                (t = !0), (r = e);
+              } finally {
+                try {
+                  e || null == o.return || o.return();
+                } finally {
+                  if (t) throw r;
+                }
+              }
+            }),
+            (this.addBackend = function (e) {
+              n.logDebug("Adding backend", e), n.backends.push(e);
+            }),
+            (this.addEvent = function (e, t) {
+              var r = ke({}, e, { meta: ke({}, n.getMeta(), {}, t) }),
+                a = !0,
+                o = !1,
+                i = void 0;
+              try {
+                for (
+                  var l, s = n.backends[Symbol.iterator]();
+                  !(a = (l = s.next()).done);
+                  a = !0
+                ) {
+                  var c = l.value;
+                  (0 === c.supportedEvents.length ||
+                    c.supportedEvents.indexOf(r.type) > -1) &&
+                    c.addEvent(r);
+                }
+              } catch (e) {
+                (o = !0), (i = e);
+              } finally {
+                try {
+                  a || null == s.return || s.return();
+                } finally {
+                  if (o) throw i;
+                }
+              }
+              n.logDebug("Adding event", r);
+            }),
+            (this.getMeta = function () {
+              return {
+                sessionId: "",
+                userId: Oe.a.user.id,
+                userLogin: Oe.a.user.login,
+                userSignedIn: Oe.a.user.isSignedIn,
+                screenSize: {
+                  width: window.innerWidth,
+                  height: window.innerHeight,
+                },
+                windowSize: {
+                  width: window.screen.width,
+                  height: window.screen.height,
+                },
+                userAgent: window.navigator.userAgent,
+                ts: new Date().getTime(),
+                timeSinceNavigationStart: performance.now(),
+                url: window.location.href,
+              };
+            }),
+            (this.config = ke({}, this.config, {}, t)),
+            setInterval(this.flush, this.config.flushInterval);
+        },
+        Ee = function (e, t) {
+          Object(we.getEchoSrv)().addEvent({
+            type: we.EchoEventType.Performance,
+            payload: { metricName: e, duration: t },
+          });
+        };
+      var Ce = function e(t) {
+          var n = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.options = t),
+            (this.buffer = []),
+            (this.supportedEvents = [we.EchoEventType.Performance]),
+            (this.addEvent = function (e) {
+              n.buffer.push(e);
+            }),
+            (this.flush = function () {
+              if (0 !== n.buffer.length) {
+                n.buffer;
+                0, (n.buffer = []);
+              }
+            });
+        },
+        Pe = n("XI+/"),
+        Te = n.n(Pe),
+        De = n("T9PE"),
+        Ae = n("NPB1"),
+        _e = n("WUic");
+      function Ne(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var Me = (function () {
+        function e(t, n) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$compile = t),
+            (this.$rootScope = n);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$compile", "$rootScope"]),
+          (t = e),
+          (n = [
+            {
+              key: "load",
+              value: function (e, t, n) {
+                var r = this.$rootScope.$new();
+                i.a.assign(r, t);
+                var a = this.$compile(n)(r);
+                return (
+                  u.a.element(e).append(a),
+                  {
+                    destroy: function () {
+                      r.$destroy(), a.remove();
+                    },
+                    digest: function () {
+                      r.$$phase || r.$digest();
+                    },
+                    getScope: function () {
+                      return r;
+                    },
+                  }
+                );
+              },
+            },
+          ]) && Ne(t.prototype, n),
+          r && Ne(t, r),
+          e
+        );
+      })();
+      O.c.service("angularLoader", Me);
+      var Ie = n("i7Pf"),
+        Re = n("1mXj"),
+        Fe = n("sINF"),
+        Le = n("iODs");
+      function Ve(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Be(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var $e = Object(Ie.c)({
+          name: "application",
+          initialState: { logActions: !1 },
+          reducers: {
+            toggleLogActions: function (e) {
+              return (function (e) {
+                for (var t = 1; t < arguments.length; t++) {
+                  var n = null != arguments[t] ? arguments[t] : {};
+                  t % 2
+                    ? Ve(Object(n), !0).forEach(function (t) {
+                        Be(e, t, n[t]);
+                      })
+                    : Object.getOwnPropertyDescriptors
+                    ? Object.defineProperties(
+                        e,
+                        Object.getOwnPropertyDescriptors(n)
+                      )
+                    : Ve(Object(n)).forEach(function (t) {
+                        Object.defineProperty(
+                          e,
+                          t,
+                          Object.getOwnPropertyDescriptor(n, t)
+                        );
+                      });
+                }
+                return e;
+              })({}, e, { logActions: !e.logActions });
+            },
+          },
+        }),
+        qe = ($e.actions.toggleLogActions, $e.reducer),
+        Ue = n("ANjH"),
+        ze = n("zVNn"),
+        He = n("R9Tc"),
+        Ge = n("13X4"),
+        We = n("vMjj"),
+        Qe = {
+          navIndex: He.b,
+          location: Ge.a,
+          appNotifications: We.a,
+          application: qe,
+        },
+        Ye = n("qOGI"),
+        Ke = n("BPIC"),
+        Je = n("Gz/h"),
+        Ze = n("BAXh"),
+        Xe = n("KyLG"),
+        et = n("m257"),
+        tt = n("sBLX"),
+        nt = n("OTXG"),
+        rt = n("iZOS"),
+        at = n("QJHg"),
+        ot = n("66yP");
+      function it(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function lt(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function st(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      function ct(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var ut = (function () {
+        function e(t, n, r, a) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.state = t),
+            (this.dataFrames = n),
+            (this.intervalMs = r),
+            (this.timeZone = a);
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "getGraphResult",
+              value: function () {
+                if (this.state.mode !== g.ExploreMode.Metrics) return null;
+                var e = this.dataFrames.filter(ft);
+                return 0 === e.length
+                  ? null
+                  : Object(ot.a)(
+                      e,
+                      this.timeZone,
+                      {},
+                      { showBars: !1, showLines: !0, showPoints: !1 },
+                      { asTable: !1, isVisible: !0, placement: "under" }
+                    );
+              },
+            },
+            {
+              key: "getTableResult",
+              value: function () {
+                if (this.state.mode !== g.ExploreMode.Metrics) return null;
+                var e = this.dataFrames.filter(function (e) {
+                  return !ft(e);
+                });
+                if (0 === e.length) return null;
+                var t = e.map(function (e) {
+                    for (
+                      var t = e.fields,
+                        n = t.length,
+                        r = e.length,
+                        a = t.map(function (e) {
+                          return {
+                            text: e.name,
+                            type: e.type,
+                            filterable: e.config.filterable,
+                          };
+                        }),
+                        o = [],
+                        i = 0;
+                      i < r;
+                      i++
+                    ) {
+                      for (var l = [], s = 0; s < n; s++)
+                        l.push(e.fields[s].values.get(i));
+                      o.push(l);
+                    }
+                    return new rt.a({ columns: a, rows: o, meta: e.meta });
+                  }),
+                  n = rt.b.apply(void 0, [new rt.a()].concat(st(t))),
+                  r = Object(g.toDataFrame)(n),
+                  a = !0,
+                  o = !1,
+                  i = void 0;
+                try {
+                  for (
+                    var l, s = r.fields[Symbol.iterator]();
+                    !(a = (l = s.next()).done);
+                    a = !0
+                  ) {
+                    var c = l.value;
+                    c.display = Object(g.getDisplayProcessor)({
+                      field: c,
+                      theme: m.a.theme,
+                    });
+                  }
+                } catch (e) {
+                  (o = !0), (i = e);
+                } finally {
+                  try {
+                    a || null == s.return || s.return();
+                  } finally {
+                    if (o) throw i;
+                  }
+                }
+                return r;
+              },
+            },
+            {
+              key: "getLogsResult",
+              value: function () {
+                if (this.state.mode !== g.ExploreMode.Logs) return null;
+                var e = Object(at.a)(
+                    this.dataFrames,
+                    this.intervalMs,
+                    this.timeZone
+                  ),
+                  t = Object(et.s)(this.state.refreshInterval),
+                  n = Object(et.w)(e, t);
+                return (function (e) {
+                  for (var t = 1; t < arguments.length; t++) {
+                    var n = null != arguments[t] ? arguments[t] : {};
+                    t % 2
+                      ? it(Object(n), !0).forEach(function (t) {
+                          lt(e, t, n[t]);
+                        })
+                      : Object.getOwnPropertyDescriptors
+                      ? Object.defineProperties(
+                          e,
+                          Object.getOwnPropertyDescriptors(n)
+                        )
+                      : it(Object(n)).forEach(function (t) {
+                          Object.defineProperty(
+                            e,
+                            t,
+                            Object.getOwnPropertyDescriptor(n, t)
+                          );
+                        });
+                  }
+                  return e;
+                })({}, n, { rows: n.rows, series: n.series });
+              },
+            },
+          ]) && ct(t.prototype, n),
+          r && ct(t, r),
+          e
+        );
+      })();
+      function ft(e) {
+        return 2 === e.fields.length && e.fields[1].type === g.FieldType.time;
+      }
+      var dt = n("3SGO");
+      function pt(e, t) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) return e;
+          })(e) ||
+          (function (e, t) {
+            if (
+              !(
+                Symbol.iterator in Object(e) ||
+                "[object Arguments]" === Object.prototype.toString.call(e)
+              )
+            )
+              return;
+            var n = [],
+              r = !0,
+              a = !1,
+              o = void 0;
+            try {
+              for (
+                var i, l = e[Symbol.iterator]();
+                !(r = (i = l.next()).done) &&
+                (n.push(i.value), !t || n.length !== t);
+                r = !0
+              );
+            } catch (e) {
+              (a = !0), (o = e);
+            } finally {
+              try {
+                r || null == l.return || l.return();
+              } finally {
+                if (a) throw o;
+              }
+            }
+            return n;
+          })(e, t) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to destructure non-iterable instance"
+            );
+          })()
+        );
+      }
+      function ht(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function mt(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? ht(Object(n), !0).forEach(function (t) {
+                gt(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : ht(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function gt(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function bt(e) {
+        return (
+          (function (e) {
+            if (Array.isArray(e)) {
+              for (var t = 0, n = new Array(e.length); t < e.length; t++)
+                n[t] = e[t];
+              return n;
+            }
+          })(e) ||
+          (function (e) {
+            if (
+              Symbol.iterator in Object(e) ||
+              "[object Arguments]" === Object.prototype.toString.call(e)
+            )
+              return Array.from(e);
+          })(e) ||
+          (function () {
+            throw new TypeError(
+              "Invalid attempt to spread non-iterable instance"
+            );
+          })()
+        );
+      }
+      var vt = { from: "now-6h", to: "now" },
+        yt = function () {
+          return {
+            containerWidth: 0,
+            datasourceInstance: null,
+            requestedDatasourceName: null,
+            datasourceLoading: null,
+            datasourceMissing: !1,
+            history: [],
+            queries: [],
+            initialized: !1,
+            range: { from: null, to: null, raw: vt },
+            absoluteRange: { from: null, to: null },
+            scanning: !1,
+            scanRange: null,
+            showingGraph: !0,
+            showingTable: !0,
+            loading: !1,
+            queryKeys: [],
+            urlState: null,
+            update: {
+              datasource: !1,
+              queries: !1,
+              range: !1,
+              mode: !1,
+              ui: !1,
+            },
+            latency: 0,
+            supportedModes: [],
+            mode: null,
+            isLive: !1,
+            isPaused: !1,
+            urlReplaced: !1,
+            queryResponse: wt(),
+          };
+        },
+        wt = function () {
+          return {
+            state: g.LoadingState.NotStarted,
+            request: {},
+            series: [],
+            error: null,
+            timeRange: g.DefaultTimeRange,
+          };
+        },
+        Ot = yt(),
+        xt = {
+          split: !1,
+          syncedTimes: !1,
+          left: Ot,
+          right: Ot,
+          richHistory: [],
+        },
+        kt = function () {
+          var e =
+              arguments.length > 0 && void 0 !== arguments[0]
+                ? arguments[0]
+                : yt(),
+            t = arguments.length > 1 ? arguments[1] : void 0;
+          if (nt.a.match(t)) {
+            var n = e.queries,
+              r = t.payload,
+              a = r.index,
+              o = r.query,
+              i = [].concat(
+                bt(n.slice(0, a + 1)),
+                [mt({}, o)],
+                bt(n.slice(a + 1))
+              );
+            return mt({}, e, {
+              queries: i,
+              logsHighlighterExpressions: void 0,
+              queryKeys: Object(et.m)(i, e.datasourceInstance),
+            });
+          }
+          if (nt.d.match(t)) {
+            var l = e.queries,
+              s = t.payload,
+              c = s.query,
+              u = s.index,
+              f = Object(et.j)(c, l, u),
+              d = bt(l);
+            return (
+              (d[u] = f),
+              mt({}, e, {
+                queries: d,
+                queryKeys: Object(et.m)(d, e.datasourceInstance),
+              })
+            );
+          }
+          if (nt.g.match(t)) {
+            var p = t.payload.width;
+            return mt({}, e, { containerWidth: p });
+          }
+          if (nt.c.match(t))
+            return mt({}, e, {
+              mode: t.payload.mode,
+              graphResult: null,
+              tableResult: null,
+              logsResult: null,
+              queryResponse: wt(),
+              loading: !1,
+            });
+          if (nt.f.match(t)) {
+            var h = t.payload.refreshInterval,
+              m = ee.RefreshPicker.isLive(h),
+              b = Object(et.s)(h),
+              v = Object(et.w)(e.logsResult, b);
+            return (
+              ee.RefreshPicker.isLive(e.refreshInterval) &&
+                !m &&
+                Object(et.x)(e.querySubscription),
+              mt({}, e, {
+                refreshInterval: h,
+                queryResponse: mt({}, e.queryResponse, {
+                  state: m ? g.LoadingState.Streaming : g.LoadingState.Done,
+                }),
+                isLive: m,
+                isPaused: !m && e.isPaused,
+                loading: m,
+                logsResult: v,
+              })
+            );
+          }
+          if (nt.h.match(t)) {
+            var y = Object(et.h)();
+            return (
+              Object(et.x)(e.querySubscription),
+              mt({}, e, {
+                queries: y.slice(),
+                graphResult: null,
+                tableResult: null,
+                logsResult: null,
+                queryKeys: Object(et.m)(y, e.datasourceInstance),
+                queryResponse: wt(),
+                loading: !1,
+              })
+            );
+          }
+          if (nt.i.match(t)) {
+            var w = t.payload.expressions;
+            return mt({}, e, { logsHighlighterExpressions: w });
+          }
+          if (nt.k.match(t)) {
+            var O = t.payload,
+              x = O.containerWidth,
+              k = O.eventBridge,
+              j = O.queries,
+              S = O.range,
+              E = O.mode,
+              C = O.ui,
+              P = O.originPanelId;
+            return mt(
+              {},
+              e,
+              {
+                containerWidth: x,
+                eventBridge: k,
+                range: S,
+                mode: E,
+                queries: j,
+                initialized: !0,
+                queryKeys: Object(et.m)(j, e.datasourceInstance),
+              },
+              C,
+              {
+                originPanelId: P,
+                update: {
+                  datasource: !1,
+                  queries: !1,
+                  range: !1,
+                  mode: !1,
+                  ui: !1,
+                },
+              }
+            );
+          }
+          if (nt.G.match(t)) {
+            var T = t.payload,
+              D = T.datasourceInstance,
+              A = T.version,
+              _ = T.mode;
+            Object(et.x)(e.querySubscription);
+            var N = D.meta;
+            if (A && A.length && "Loki" === D.meta.name) {
+              var M = { v0: { metrics: !1 }, v1: { metrics: !0 } };
+              N = mt({}, N, {}, M[A]);
+            }
+            var I = Object.assign(D, { meta: N }),
+              R = Et(I, e.mode),
+              F = pt(R, 2),
+              L = F[0],
+              V = F[1];
+            return mt({}, e, {
+              datasourceInstance: I,
+              graphResult: null,
+              tableResult: null,
+              logsResult: null,
+              latency: 0,
+              queryResponse: wt(),
+              loading: !1,
+              queryKeys: [],
+              supportedModes: L,
+              mode: null != _ ? _ : V,
+              originPanelId: e.urlState && e.urlState.originPanelId,
+            });
+          }
+          if (nt.l.match(t))
+            return mt({}, e, {
+              datasourceMissing: !0,
+              datasourceLoading: !1,
+              update: {
+                datasource: !1,
+                queries: !1,
+                range: !1,
+                mode: !1,
+                ui: !1,
+              },
+            });
+          if (nt.m.match(t))
+            return mt({}, e, {
+              datasourceLoading: !0,
+              requestedDatasourceName: t.payload.requestedDatasourceName,
+            });
+          if (nt.n.match(t)) {
+            var B = t.payload.history;
+            return mt({}, e, {
+              history: B,
+              datasourceLoading: !1,
+              datasourceMissing: !1,
+              logsHighlighterExpressions: void 0,
+              update: {
+                datasource: !1,
+                queries: !1,
+                range: !1,
+                mode: !1,
+                ui: !1,
+              },
+            });
+          }
+          if (nt.o.match(t)) {
+            var $,
+              q = e.queries,
+              U = t.payload,
+              z = U.modification,
+              H = U.index,
+              G = U.modifier;
+            return (
+              ($ =
+                void 0 === H
+                  ? q.map(function (e, t) {
+                      var n = G(mt({}, e), z);
+                      return Object(et.j)(n, q, t);
+                    })
+                  : q.map(function (e, t) {
+                      if (t === H) {
+                        var n = G(mt({}, e), z);
+                        return Object(et.j)(n, q, t);
+                      }
+                      return e;
+                    })),
+              mt({}, e, {
+                queries: $,
+                queryKeys: Object(et.m)($, e.datasourceInstance),
+              })
+            );
+          }
+          if (nt.s.match(t)) {
+            var W = e.queries,
+              Q = e.queryKeys,
+              Y = t.payload.index;
+            if (W.length <= 1) return e;
+            var K = [].concat(bt(W.slice(0, Y)), bt(W.slice(Y + 1))),
+              J = [].concat(bt(Q.slice(0, Y)), bt(Q.slice(Y + 1)));
+            return mt({}, e, {
+              queries: K,
+              logsHighlighterExpressions: void 0,
+              queryKeys: J,
+            });
+          }
+          if (nt.v.match(t)) return mt({}, e, { scanning: !0 });
+          if (nt.w.match(t))
+            return mt({}, e, {
+              scanning: !1,
+              scanRange: void 0,
+              update: {
+                datasource: !1,
+                queries: !1,
+                range: !1,
+                mode: !1,
+                ui: !1,
+              },
+            });
+          if (nt.y.match(t)) {
+            var Z = t.payload.queries;
+            return mt({}, e, {
+              queries: Z.slice(),
+              queryKeys: Object(et.m)(Z, e.datasourceInstance),
+            });
+          }
+          if (nt.H.match(t)) return mt({}, e, {}, t.payload);
+          if (nt.D.match(t)) {
+            var X = !e.showingGraph;
+            return mt(
+              {},
+              e,
+              X ? { showingGraph: X } : { showingGraph: X, graphResult: null }
+            );
+          }
+          if (nt.F.match(t)) {
+            var te = !e.showingTable;
+            return mt(
+              {},
+              e,
+              te
+                ? { showingTable: te }
+                : { showingTable: te, tableResult: null }
+            );
+          }
+          if (nt.p.match(t)) {
+            var ne = t.payload.queries;
+            return mt({}, e, {
+              queries: ne,
+              queryKeys: Object(et.m)(ne, e.datasourceInstance),
+            });
+          }
+          if (nt.E.match(t)) {
+            var re = t.payload.hiddenLogLevels;
+            return mt({}, e, { hiddenLogLevels: Array.from(re) });
+          }
+          if (nt.j.match(t)) return mt({}, e, { history: t.payload.history });
+          if (nt.z.match(t)) return mt({}, e, { urlReplaced: !0 });
+          if (nt.e.match(t)) {
+            var ae = t.payload,
+              oe = ae.range,
+              ie = ae.absoluteRange;
+            return mt({}, e, {
+              range: oe,
+              absoluteRange: ie,
+              update: {
+                datasource: !1,
+                queries: !1,
+                range: !1,
+                mode: !1,
+                ui: !1,
+              },
+            });
+          }
+          if (nt.b.match(t)) {
+            var le = t.payload.loadingState;
+            return mt({}, e, {
+              queryResponse: mt({}, e.queryResponse, { state: le }),
+              loading:
+                le === g.LoadingState.Loading ||
+                le === g.LoadingState.Streaming,
+            });
+          }
+          if (nt.x.match(t)) {
+            var se = t.payload.isPaused;
+            return mt({}, e, { isPaused: se });
+          }
+          if (nt.q.match(t)) {
+            var ce = t.payload.querySubscription;
+            return mt({}, e, { querySubscription: ce });
+          }
+          return nt.r.match(t) ? jt(e, t) : e;
+        },
+        jt = function (e, t) {
+          var n = t.payload.response,
+            r = n.request,
+            a = n.state,
+            o = n.series,
+            i = n.error;
+          if (i)
+            return i.cancelled
+              ? e
+              : (e.eventBridge.emit(g.PanelEvents.dataError, i),
+                mt({}, e, {
+                  loading: !1,
+                  queryResponse: n,
+                  graphResult: null,
+                  tableResult: null,
+                  logsResult: null,
+                  update: {
+                    datasource: !1,
+                    queries: !1,
+                    range: !1,
+                    mode: !1,
+                    ui: !1,
+                  },
+                }));
+          var l = r.endTime ? r.endTime - r.startTime : 0,
+            s = new ut(e, o, r.intervalMs, r.timezone),
+            c = s.getGraphResult(),
+            u = s.getTableResult(),
+            f = s.getLogsResult();
+          if (e.datasourceInstance.components.QueryCtrl) {
+            var d = o.map(function (e) {
+              return Object(g.toLegacyResponseData)(e);
+            });
+            e.eventBridge.emit(g.PanelEvents.dataReceived, d);
+          }
+          return mt({}, e, {
+            latency: l,
+            queryResponse: n,
+            graphResult: c,
+            tableResult: u,
+            logsResult: f,
+            loading:
+              a === g.LoadingState.Loading || a === g.LoadingState.Streaming,
+            update: {
+              datasource: !1,
+              queries: !1,
+              range: !1,
+              mode: !1,
+              ui: !1,
+            },
+          });
+        },
+        St = function (e, t, n) {
+          var r = t.path || "",
+            a = t.query[n];
+          if (!a) return e;
+          var o = Object(et.r)(a);
+          if (!e.urlState || "/explore" !== r)
+            return mt({}, e, {
+              urlState: o,
+              update: {
+                datasource: !1,
+                queries: !1,
+                range: !1,
+                mode: !1,
+                ui: !1,
+              },
+            });
+          var l =
+              !1 === i.a.isEqual(o ? o.datasource : "", e.urlState.datasource),
+            s = !1 === i.a.isEqual(o ? o.queries : [], e.urlState.queries),
+            c = !1 === i.a.isEqual(o ? o.range : vt, e.urlState.range),
+            u =
+              !1 ===
+              i.a.isEqual(o ? o.mode : g.ExploreMode.Metrics, e.urlState.mode),
+            f = !1 === i.a.isEqual(o ? o.ui : et.b, e.urlState.ui);
+          return mt({}, e, {
+            urlState: o,
+            update: mt({}, e.update, {
+              datasource: l,
+              queries: s,
+              range: c,
+              mode: u,
+              ui: f,
+            }),
+          });
+        },
+        Et = function (e, t) {
+          var n = e.meta.metrics,
+            r = e.meta.logs,
+            a = t || g.ExploreMode.Metrics,
+            o = [];
+          return (
+            n && o.push(g.ExploreMode.Metrics),
+            r && o.push(g.ExploreMode.Logs),
+            1 === o.length && (a = o[0]),
+            "Loki" !== e.meta.name || t || (a = g.ExploreMode.Logs),
+            [o, a]
+          );
+        },
+        Ct = {
+          explore: function () {
+            var e =
+                arguments.length > 0 && void 0 !== arguments[0]
+                  ? arguments[0]
+                  : xt,
+              t = arguments.length > 1 ? arguments[1] : void 0;
+            if (nt.A.match(t)) {
+              var n = t.payload,
+                r = n.itemId,
+                a = {
+                  left: r === tt.a.left ? e.right : e.left,
+                  right: xt.right,
+                };
+              return mt({}, e, {}, a, { split: !1 });
+            }
+            if (nt.B.match(t))
+              return mt({}, e, {
+                split: !0,
+                right: mt({}, t.payload.itemState),
+              });
+            if (nt.C.match(t))
+              return mt({}, e, { syncedTimes: t.payload.syncedTimes });
+            if (nt.u.match(t))
+              return mt({}, e, { richHistory: t.payload.richHistory });
+            if (nt.t.match(t)) {
+              var o = t.payload,
+                i = e[tt.a.left],
+                l = e[tt.a.right];
+              return (
+                Object(et.x)(i.querySubscription),
+                Object(et.x)(l.querySubscription),
+                o.force || !Number.isInteger(e.left.originPanelId)
+                  ? xt
+                  : mt({}, xt, {
+                      left: mt({}, Ot, {
+                        queries: e.left.queries,
+                        originPanelId: e.left.originPanelId,
+                      }),
+                    })
+              );
+            }
+            if (dt.c.match(t)) {
+              var s,
+                c = t.payload,
+                u = c.query;
+              if (!u || !u[tt.a.left]) return e;
+              var f = !!u[tt.a.right],
+                d = e[tt.a.left],
+                p = e[tt.a.right];
+              return mt(
+                {},
+                e,
+                (gt((s = { split: f }), tt.a.left, St(d, c, tt.a.left)),
+                gt(s, tt.a.right, St(p, c, tt.a.right)),
+                s)
+              );
+            }
+            if (t.payload) {
+              var h = t.payload.exploreId;
+              if (void 0 !== h) {
+                var m = e[h];
+                return mt({}, e, gt({}, h, kt(m, t)));
+              }
+            }
+            return e;
+          },
+        },
+        Pt = n("y6L2"),
+        Tt = n("FFN/"),
+        Dt = n("nABS"),
+        At = {
+          orgId: m.b.bootData.user.orgId,
+          timeZone: m.b.bootData.user.timezone,
+        },
+        _t = {
+          user: function () {
+            var e =
+              arguments.length > 0 && void 0 !== arguments[0]
+                ? arguments[0]
+                : At;
+            arguments.length > 1 && arguments[1];
+            return e;
+          },
+        },
+        Nt = n("fZn8"),
+        Mt = n("YiuE"),
+        It = n("4qJB"),
+        Rt = n("buVq"),
+        Ft = n("P20H"),
+        Lt = function (e) {
+          for (
+            var t = arguments.length, n = new Array(t > 1 ? t - 1 : 0), r = 1;
+            r < t;
+            r++
+          )
+            n[r - 1] = arguments[r];
+          return n.reduce(function (e, t) {
+            return t(e);
+          }, e);
+        };
+      function Vt(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Bt(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? Vt(Object(n), !0).forEach(function (t) {
+                $t(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : Vt(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function $t(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var qt = {
+          uuid: "",
+          highlightIndex: -1,
+          queryValue: null,
+          selectedTags: [],
+          selectedValues: [],
+          tags: [],
+          options: [],
+          multi: !1,
+        },
+        Ut = function (e) {
+          return (
+            (e.selectedValues = e.options.filter(function (e) {
+              return e.selected;
+            })),
+            e
+          );
+        },
+        zt = function (e) {
+          return Array.isArray(e) ? e.slice(0, Math.min(e.length, 1e3)) : [];
+        },
+        Ht = function (e) {
+          var t = e.options;
+          return (
+            t.length > 0 &&
+              0 ===
+                t.filter(function (e) {
+                  return e.selected;
+                }).length &&
+              (t[0].selected = !0),
+            e
+          );
+        },
+        Gt = Object(Ie.c)({
+          name: "templating/optionsPicker",
+          initialState: qt,
+          reducers: {
+            showOptions: function (e, t) {
+              var n,
+                r = t.payload,
+                a = r.query,
+                i = r.options,
+                l = r.multi;
+              if (
+                ((e.highlightIndex = -1),
+                (e.options = Object(o.cloneDeep)(i)),
+                (e.tags =
+                  ((n = t.payload),
+                  Object(Ft.a)(n) && Array.isArray(n.tags)
+                    ? Object(o.cloneDeep)(n.tags)
+                    : [])),
+                (e.multi = null != l && l),
+                (e.uuid = t.payload.uuid),
+                (e.queryValue = ""),
+                Object(Ft.a)(t.payload))
+              ) {
+                var s = t.payload.queryValue,
+                  c = Object(It.e)(a);
+                e.queryValue = c && s ? s : "";
+              }
+              return Lt(e, Ut);
+            },
+            hideOptions: function (e, t) {
+              return Bt({}, qt);
+            },
+            toggleOption: function (e, t) {
+              var n = t.payload,
+                r = n.option,
+                a = n.forceSelect,
+                o = n.clearOthers,
+                i = e.multi,
+                l = e.options.map(function (e) {
+                  if (e.value !== r.value) {
+                    var t = e.selected;
+                    return (
+                      e.text === Rt.a || r.text === Rt.a
+                        ? (t = !1)
+                        : i
+                        ? o && (t = !1)
+                        : (t = !1),
+                      (e.selected = t),
+                      e
+                    );
+                  }
+                  return (e.selected = !!a || !i || !r.selected), e;
+                });
+              return (e.options = l), Lt(e, Ht, Ut);
+            },
+            toggleTag: function (e, t) {
+              var n = t.payload,
+                r = n.values || [],
+                a = !n.selected;
+              return (
+                (e.tags = e.tags.map(function (e) {
+                  return e.text !== n.text
+                    ? e
+                    : ((e.selected = a),
+                      (e.values = r),
+                      a ? (e.valuesText = r.join(" + ")) : delete e.valuesText,
+                      e);
+                })),
+                (e.options = e.options.map(function (e) {
+                  return (
+                    e.value === Rt.b && !0 === a && (e.selected = !1),
+                    -1 === r.indexOf(e.value) ? e : ((e.selected = a), e)
+                  );
+                })),
+                Lt(e, Ht, Ut)
+              );
+            },
+            moveOptionsHighlight: function (e, t) {
+              var n = e.highlightIndex + t.payload;
+              return (
+                n < 0
+                  ? (n = 0)
+                  : n >= e.options.length && (n = e.options.length - 1),
+                Bt({}, e, { highlightIndex: n })
+              );
+            },
+            toggleAllOptions: function (e, t) {
+              var n = !e.options.find(function (e) {
+                return e.selected;
+              });
+              return (
+                (e.options = e.options.map(function (e) {
+                  return Bt({}, e, { selected: n });
+                })),
+                Lt(e, Ut)
+              );
+            },
+            updateSearchQuery: function (e, t) {
+              return (e.queryValue = t.payload), e;
+            },
+            updateOptionsAndFilter: function (e, t) {
+              var n,
+                r = (null !== (n = e.queryValue) && void 0 !== n
+                  ? n
+                  : ""
+                ).toLowerCase();
+              return (
+                (e.options = zt(t.payload)),
+                (e.highlightIndex = 0),
+                (e.options = e.options.filter(function (e) {
+                  return (
+                    -1 !==
+                    (Array.isArray(e.text) ? e.text.toString() : e.text)
+                      .toLowerCase()
+                      .indexOf(r)
+                  );
+                })),
+                Lt(e, Ut)
+              );
+            },
+            updateOptionsFromSearch: function (e, t) {
+              return (
+                (e.options = zt(t.payload)), (e.highlightIndex = 0), Lt(e, Ut)
+              );
+            },
+          },
+        }),
+        Wt = Gt.actions,
+        Qt = Wt.toggleOption,
+        Yt = Wt.showOptions,
+        Kt = Wt.hideOptions,
+        Jt = Wt.toggleTag,
+        Zt = Wt.moveOptionsHighlight,
+        Xt = Wt.toggleAllOptions,
+        en = Wt.updateSearchQuery,
+        tn = Wt.updateOptionsAndFilter,
+        nn = Wt.updateOptionsFromSearch,
+        rn = Gt.reducer,
+        an = n("dcGt"),
+        on = n("gKd5"),
+        ln = {
+          templating: Object(Ue.combineReducers)({
+            optionsPicker: rn,
+            editor: an.i,
+            variables: on.b,
+          }),
+        };
+      function sn(e) {
+        return (sn =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function cn(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function un(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? cn(Object(n), !0).forEach(function (t) {
+                fn(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : cn(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function fn(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var dn = un(
+          {},
+          Qe,
+          {},
+          Ye.a,
+          {},
+          Ke.a,
+          {},
+          Je.b,
+          {},
+          Ze.a,
+          {},
+          Xe.j,
+          {},
+          Ct,
+          {},
+          Pt.a,
+          {},
+          Tt.f,
+          {},
+          Dt.a,
+          {},
+          _t,
+          {},
+          Nt.a,
+          {},
+          Mt.c,
+          {},
+          ln
+        ),
+        pn = {},
+        hn = function e(t, n) {
+          for (var r in t)
+            if (t.hasOwnProperty(r)) {
+              var a = t[r];
+              if (a === n) return (t[r] = void 0), !0;
+              if ("object" === sn(a)) if (e(a, n)) return !0;
+            }
+          return !1;
+        };
+      var mn = n("GkHB"),
+        gn = n("p+Sq");
+      yn.$inject = [
+        "playlistSrv",
+        "contextSrv",
+        "$timeout",
+        "$rootScope",
+        "$location",
+      ];
+      var bn = function e(t, n, r, a, o, l, s, c, u, f, d) {
+        var p;
+        !(function (e, t) {
+          if (!(e instanceof t))
+            throw new TypeError("Cannot call a class as a function");
+        })(this, e),
+          (p = d),
+          Object(we.setAngularLoader)(p),
+          Object(we.setBackendSrv)(S.b),
+          Object(we.setDataSourceSrv)(c),
+          Object(Ae.b)(l),
+          Object(mn.e)(s),
+          Object(_e.b)(u),
+          Object(gn.b)(f);
+        var h = (function () {
+          Object(Re.createLogger)({
+            predicate: function (e) {
+              return e().application.logActions;
+            },
+          });
+          var e,
+            t = [Fe.a],
+            n = Object(Ie.a)({
+              reducer:
+                ((e = Object(Ue.combineReducers)(un({}, dn, {}, pn))),
+                function (t, n) {
+                  if (n.type !== ze.a.type) return e(t, n);
+                  var r = (0, n.payload.stateSelector)(t);
+                  return hn(t, r), e(t, n);
+                }),
+              middleware: t,
+              devTools: !1,
+              preloadedState: { navIndex: Object(He.a)() },
+            });
+          return Object(Le.c)(n), n;
+        })();
+        Object(we.setLocationSrv)({
+          update: function (e) {
+            h.dispatch(Object(dt.c)(e));
+          },
+        }),
+          (t.init = function () {
+            (t.contextSrv = a),
+              (t.appSubUrl = m.b.appSubUrl),
+              (t._ = i.a),
+              De.a.init(m.b, r),
+              n.init(),
+              o.init();
+          }),
+          (r.colors = ee.colors),
+          (r.onAppEvent = function (e, t, n) {
+            var a;
+            a = "string" == typeof e ? r.$on(e, t) : r.$on(e.name, t);
+            var o = this;
+            1 !== o.$id ||
+              n ||
+              console.log(
+                "warning rootScope onAppEvent called without localscope"
+              ),
+              n && (o = n),
+              o.$on("$destroy", a);
+          }),
+          (r.appEvent = function (e, t) {
+            "string" == typeof e
+              ? (r.$emit(e, t), b.b.emit(e, t))
+              : (r.$emit(e.name, t), b.b.emit(e, t));
+          }),
+          t.init();
+      };
+      function vn(e, t) {
+        switch (
+          (e.removeClass("view-mode--tv"),
+          e.removeClass("view-mode--kiosk"),
+          e.removeClass("view-mode--inactive"),
+          t)
+        ) {
+          case "tv":
+            e.addClass("view-mode--tv");
+            break;
+          case "1":
+          case !0:
+            e.addClass("view-mode--kiosk");
+        }
+      }
+      function yn(e, t, n, r, a) {
+        return {
+          restrict: "E",
+          controller: bn,
+          link: function (e, t) {
+            var r,
+              o = s()("body");
+            (s.a.fn.modal.Constructor.prototype.enforceFocus = function () {}),
+              s()(".preloader").remove(),
+              b.b.on(j.CoreEvents.toggleSidemenuMobile, function () {
+                o.toggleClass("sidemenu-open--xs");
+              }),
+              b.b.on(j.CoreEvents.toggleSidemenuHidden, function () {
+                o.toggleClass("sidemenu-hidden");
+              }),
+              b.b.on(j.CoreEvents.playlistStarted, function () {
+                t.toggleClass("view-mode--playlist", !0);
+              }),
+              b.b.on(j.CoreEvents.playlistStopped, function () {
+                t.toggleClass("view-mode--playlist", !1);
+              }),
+              m.b.phantomJSRenderer &&
+                -1 !== document.cookie.indexOf("renderKey") &&
+                o.addClass("body--phantomjs"),
+              e.$on("$routeChangeSuccess", function (e, t) {
+                r && o.removeClass(r),
+                  t.$$route && (r = t.$$route.pageClass) && o.addClass(r),
+                  o.removeClass("sidemenu-open--xs"),
+                  s()("#tooltip, .tooltip").remove(),
+                  vn(o, t.params.kiosk);
+                var n = !0,
+                  a = !1,
+                  i = void 0;
+                try {
+                  for (
+                    var l, c = Te.a.drops[Symbol.iterator]();
+                    !(n = (l = c.next()).done);
+                    n = !0
+                  ) {
+                    l.value.destroy();
+                  }
+                } catch (e) {
+                  (a = !0), (i = e);
+                } finally {
+                  try {
+                    n || null == c.return || c.return();
+                  } finally {
+                    if (a) throw i;
+                  }
+                }
+                b.b.emit(j.CoreEvents.hideDashSearch);
+              }),
+              b.b.on(j.CoreEvents.toggleKioskMode, function (e) {
+                var t = a.search();
+                switch ((e && e.exit && (t.kiosk = "1"), t.kiosk)) {
+                  case "tv":
+                    (t.kiosk = !0),
+                      b.b.emit(g.AppEvents.alertSuccess, [
+                        "Press ESC to exit Kiosk mode",
+                      ]);
+                    break;
+                  case "1":
+                  case !0:
+                    delete t.kiosk;
+                    break;
+                  default:
+                    t.kiosk = "tv";
+                }
+                n(function () {
+                  return a.search(t);
+                }),
+                  vn(o, t.kiosk);
+              });
+            var i = new Date().getTime(),
+              l = !0;
+            function c() {
+              l &&
+                o.hasClass("page-dashboard") &&
+                new Date().getTime() - i > 3e5 &&
+                ((l = !1), o.addClass("view-mode--inactive"));
+            }
+            function u() {
+              (i = new Date().getTime()),
+                l || ((l = !0), o.removeClass("view-mode--inactive"));
+            }
+            o.mousemove(u),
+              o.keydown(u),
+              document.addEventListener("wheel", u, {
+                capture: !0,
+                passive: !0,
+              }),
+              document.addEventListener("visibilitychange", u),
+              setInterval(c, 2e3),
+              b.b.on(j.CoreEvents.toggleViewMode, function () {
+                (i = 0), c();
+              }),
+              o.click(function (n) {
+                var r = s()(n.target);
+                if (0 !== r.parents().length) {
+                  o.find(".dropdown-menu-open").removeClass(
+                    "dropdown-menu-open"
+                  );
+                  var a = r.closest("[data-click-hide]");
+                  if (a.length) {
+                    var i = a.parent();
+                    a.detach(),
+                      setTimeout(function () {
+                        i.append(a);
+                      }, 100);
+                  }
+                  o.find(".search-container").length > 0 &&
+                    0 ===
+                      r.parents(
+                        ".search-results-container, .search-field-wrapper"
+                      ).length &&
+                    e.$apply(function () {
+                      e.appEvent(j.CoreEvents.hideDashSearch);
+                    });
+                  var l = t.find(".popover");
+                  l.length > 0 &&
+                    0 === r.parents(".graph-legend").length &&
+                    l.hide();
+                }
+              });
+          },
+        };
+      }
+      (bn.$inject = [
+        "$scope",
+        "utilSrv",
+        "$rootScope",
+        "contextSrv",
+        "bridgeSrv",
+        "timeSrv",
+        "linkSrv",
+        "datasourceSrv",
+        "keybindingSrv",
+        "dashboardSrv",
+        "angularLoader",
+      ]),
+        (bn.$inject = [
+          "$scope",
+          "utilSrv",
+          "$rootScope",
+          "contextSrv",
+          "bridgeSrv",
+          "timeSrv",
+          "linkSrv",
+          "datasourceSrv",
+          "keybindingSrv",
+          "dashboardSrv",
+          "angularLoader",
+        ]),
+        O.c.directive("grafanaApp", yn);
+      n("xdKY");
+      function wn(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function On(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              wn(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              wn(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function xn(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function kn(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      var jn = function e(t, n, r, a) {
+        !(function (e, t) {
+          if (!(e instanceof t))
+            throw new TypeError("Cannot call a class as a function");
+        })(this, e),
+          (t.variableTypes = It.i),
+          (t.ctrl = {}),
+          (t.namePattern = /^(?!__).*$/),
+          (t._ = i.a),
+          (t.optionsLimit = 20),
+          (t.emptyListCta = {
+            title: "There are no variables yet",
+            buttonTitle: "Add variable",
+            buttonIcon: "gicon gicon-variable",
+            infoBox: {
+              __html:
+                ' <p>\n      Variables enable more interactive and dynamic dashboards. Instead of hard-coding things like server or\n      sensor names in your metric queries you can use variables in their place. Variables are shown as dropdown\n      select boxes at the top of the dashboard. These dropdowns make it easy to change the data being displayed in\n      your dashboard. Check out the\n      <a class="external-link" href="http://docs.grafana.org/reference/templating/" target="_blank">\n        Templating documentation\n      </a>\n      for more information.\n    </p>',
+              infoBoxTitle: "What do variables do?",
+            },
+          }),
+          (t.refreshOptions = [
+            { value: 0, text: "Never" },
+            { value: 1, text: "On Dashboard Load" },
+            { value: 2, text: "On Time Range Change" },
+          ]),
+          (t.sortOptions = [
+            { value: 0, text: "Disabled" },
+            { value: 1, text: "Alphabetical (asc)" },
+            { value: 2, text: "Alphabetical (desc)" },
+            { value: 3, text: "Numerical (asc)" },
+            { value: 4, text: "Numerical (desc)" },
+            { value: 5, text: "Alphabetical (case-insensitive, asc)" },
+            { value: 6, text: "Alphabetical (case-insensitive, desc)" },
+          ]),
+          (t.hideOptions = [
+            { value: 0, text: "" },
+            { value: 1, text: "Label" },
+            { value: 2, text: "Variable" },
+          ]),
+          (t.selectors = (function (e) {
+            for (var t = 1; t < arguments.length; t++) {
+              var n = null != arguments[t] ? arguments[t] : {};
+              t % 2
+                ? xn(Object(n), !0).forEach(function (t) {
+                    kn(e, t, n[t]);
+                  })
+                : Object.getOwnPropertyDescriptors
+                ? Object.defineProperties(
+                    e,
+                    Object.getOwnPropertyDescriptors(n)
+                  )
+                : xn(Object(n)).forEach(function (t) {
+                    Object.defineProperty(
+                      e,
+                      t,
+                      Object.getOwnPropertyDescriptor(n, t)
+                    );
+                  });
+            }
+            return e;
+          })(
+            {},
+            W.a.pages.Dashboard.Settings.Variables.List.selectors,
+            {},
+            W.a.pages.Dashboard.Settings.Variables.Edit.General.selectors,
+            {},
+            W.a.pages.Dashboard.Settings.Variables.Edit.QueryVariable.selectors,
+            {},
+            W.a.pages.Dashboard.Settings.Variables.Edit.ConstantVariable
+              .selectors
+          )),
+          (t.init = function () {
+            (t.mode = "list"),
+              (t.variables = r.variables),
+              t.reset(),
+              t.$watch("mode", function (e) {
+                "new" === e && t.reset();
+              });
+          }),
+          (t.setMode = function (e) {
+            t.mode = e;
+          }),
+          (t.setNewMode = function () {
+            t.setMode("new");
+          }),
+          (t.add = function () {
+            t.isValid() && (r.addVariable(t.current), t.update());
+          }),
+          (t.isValid = function () {
+            if (!t.ctrl.form.$valid) return !1;
+            if (!t.current.name.match(/^\w+$/))
+              return (
+                b.b.emit(g.AppEvents.alertWarning, [
+                  "Validation",
+                  "Only word and digit characters are allowed in variable names",
+                ]),
+                !1
+              );
+            var e = i.a.find(t.variables, { name: t.current.name });
+            return e && e !== t.current
+              ? (b.b.emit(g.AppEvents.alertWarning, [
+                  "Validation",
+                  "Variable with the same name already exists",
+                ]),
+                !1)
+              : "query" !== t.current.type ||
+                  !i.a.isString(t.current.query) ||
+                  !t.current.query.match(
+                    new RegExp("\\$" + t.current.name + "(/| |$)")
+                  ) ||
+                  (b.b.emit(g.AppEvents.alertWarning, [
+                    "Validation",
+                    "Query cannot contain a reference to itself. Variable: $" +
+                      t.current.name,
+                  ]),
+                  !1);
+          }),
+          (t.validate = function () {
+            (t.infoText = ""),
+              "adhoc" === t.current.type &&
+                null !== t.current.datasource &&
+                ((t.infoText =
+                  "Adhoc filters are applied automatically to all queries that target this datasource"),
+                Object(D.a)(t)(
+                  n.get(t.current.datasource).then(function (e) {
+                    e.getTagKeys ||
+                      (t.infoText =
+                        "This datasource does not support adhoc filters yet.");
+                  })
+                ));
+          }),
+          (t.runQuery = function () {
+            return (
+              (t.optionsLimit = 20),
+              r.updateOptions(t.current).catch(function (e) {
+                e.data && e.data.message && (e.message = e.data.message),
+                  b.b.emit(g.AppEvents.alertError, [
+                    "Templating",
+                    "Template variables could not be initialized: " + e.message,
+                  ]);
+              })
+            );
+          }),
+          (t.onQueryChange = function (e, n) {
+            (t.current.query = e), (t.current.definition = n), t.runQuery();
+          }),
+          (t.edit = function (e) {
+            (t.current = e),
+              (t.currentIsNew = !1),
+              (t.mode = "edit"),
+              t.validate(),
+              Object(D.a)(t)(
+                n.get(t.current.datasource).then(function (e) {
+                  t.currentDatasource = e;
+                })
+              );
+          }),
+          (t.duplicate = function (e) {
+            var n = i.a.cloneDeep(e.getSaveModel());
+            (t.current = r.createVariableFromModel(n)),
+              (t.current.name = "copy_of_" + e.name),
+              r.addVariable(t.current);
+          }),
+          (t.update = function () {
+            t.isValid() &&
+              Object(D.a)(t)(
+                t.runQuery().then(function () {
+                  t.reset(), (t.mode = "list"), a.updateIndex();
+                })
+              );
+          }),
+          (t.reset = function () {
+            (t.currentIsNew = !0),
+              (t.current = r.createVariableFromModel({ type: "query" })),
+              (t.datasources = i.a.filter(n.getMetricSources(), function (e) {
+                return !e.meta.mixed && null !== e.value;
+              })),
+              (t.datasourceTypes = i()(t.datasources)
+                .uniqBy("meta.id")
+                .map(function (e) {
+                  return { text: e.meta.name, value: e.meta.id };
+                })
+                .value());
+          }),
+          (t.typeChanged = function () {
+            var e = t.current;
+            (t.current = r.createVariableFromModel({ type: t.current.type })),
+              (t.current.name = e.name),
+              (t.current.label = e.label);
+            var n = i.a.indexOf(this.variables, e);
+            -1 !== n && (this.variables[n] = t.current), t.validate();
+          }),
+          (t.removeVariable = function (e) {
+            r.removeVariable(e);
+          }),
+          (t.showMoreOptions = function () {
+            t.optionsLimit += 20;
+          }),
+          (t.datasourceChanged = On(
+            regeneratorRuntime.mark(function e() {
+              return regeneratorRuntime.wrap(function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      Object(D.a)(t)(
+                        n.get(t.current.datasource).then(function (e) {
+                          (t.current.query = ""), (t.currentDatasource = e);
+                        })
+                      );
+                    case 1:
+                    case "end":
+                      return e.stop();
+                  }
+              }, e);
+            })
+          ));
+      };
+      (jn.$inject = ["$scope", "datasourceSrv", "variableSrv", "templateSrv"]),
+        (jn.$inject = [
+          "$scope",
+          "datasourceSrv",
+          "variableSrv",
+          "templateSrv",
+        ]),
+        O.c.controller("VariableEditorCtrl", jn);
+      var Sn = n("5kRJ"),
+        En = n("Y8cN");
+      function Cn(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var Pn = (function () {
+        function e(t, n, r, a, o) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$q = t),
+            (this.$location = n),
+            (this.$injector = r),
+            (this.templateSrv = a),
+            (this.timeSrv = o),
+            (this.variables = []);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = [
+            "$q",
+            "$location",
+            "$injector",
+            "templateSrv",
+            "timeSrv",
+          ]),
+          (t = e),
+          (n = [
+            {
+              key: "init",
+              value: function (e) {
+                var t = this;
+                (this.dashboard = e),
+                  this.dashboard.events.on(
+                    j.CoreEvents.timeRangeUpdated,
+                    this.onTimeRangeUpdated.bind(this)
+                  ),
+                  this.dashboard.events.on(
+                    j.CoreEvents.templateVariableValueUpdated,
+                    this.updateUrlParamsWithCurrentVariables.bind(this)
+                  ),
+                  (this.variables = e.templating.list = e.templating.list.map(
+                    this.createVariableFromModel.bind(this)
+                  )),
+                  this.templateSrv.init(
+                    this.variables,
+                    this.timeSrv.timeRange()
+                  );
+                var n = !0,
+                  r = !1,
+                  a = void 0;
+                try {
+                  for (
+                    var o, i = this.variables[Symbol.iterator]();
+                    !(n = (o = i.next()).done);
+                    n = !0
+                  )
+                    o.value.initLock = this.$q.defer();
+                } catch (e) {
+                  (r = !0), (a = e);
+                } finally {
+                  try {
+                    n || null == i.return || i.return();
+                  } finally {
+                    if (r) throw a;
+                  }
+                }
+                var l = this.$location.search();
+                return this.$q
+                  .all(
+                    this.variables.map(function (e) {
+                      return t.processVariable(e, l);
+                    })
+                  )
+                  .then(function () {
+                    t.templateSrv.updateIndex(),
+                      t.templateSrv.setGlobalVariable("__dashboard", {
+                        value: {
+                          name: e.title,
+                          uid: e.uid,
+                          toString: function () {
+                            return this.uid;
+                          },
+                        },
+                      }),
+                      t.templateSrv.setGlobalVariable("__org", {
+                        value: {
+                          name: x.b.user.orgName,
+                          id: x.b.user.id,
+                          toString: function () {
+                            return this.id;
+                          },
+                        },
+                      });
+                  });
+              },
+            },
+            {
+              key: "onTimeRangeUpdated",
+              value: function (e) {
+                var t = this;
+                this.templateSrv.updateTimeRange(e);
+                var n = this.variables
+                  .filter(function (e) {
+                    return 2 === e.refresh;
+                  })
+                  .map(function (e) {
+                    var n = e.options.slice();
+                    return e.updateOptions().then(function () {
+                      u.a.toJson(n) !== u.a.toJson(e.options) &&
+                        t.dashboard.templateVariableValueUpdated();
+                    });
+                  });
+                return this.$q
+                  .all(n)
+                  .then(function () {
+                    t.dashboard.startRefresh();
+                  })
+                  .catch(function (e) {
+                    x.a.emit(g.AppEvents.alertError, [
+                      "Template variable service failed",
+                      e.message,
+                    ]);
+                  });
+              },
+            },
+            {
+              key: "processVariable",
+              value: function (e, t) {
+                var n = this,
+                  r = [],
+                  a = !0,
+                  o = !1,
+                  i = void 0;
+                try {
+                  for (
+                    var l, s = this.variables[Symbol.iterator]();
+                    !(a = (l = s.next()).done);
+                    a = !0
+                  ) {
+                    var c = l.value;
+                    e.dependsOn(c) && r.push(c.initLock.promise);
+                  }
+                } catch (e) {
+                  (o = !0), (i = e);
+                } finally {
+                  try {
+                    a || null == s.return || s.return();
+                  } finally {
+                    if (o) throw i;
+                  }
+                }
+                return this.$q
+                  .all(r)
+                  .then(function () {
+                    var n = t["var-" + e.name];
+                    return void 0 !== n
+                      ? e.setValueFromUrl(n).then(e.initLock.resolve)
+                      : 1 === e.refresh || 2 === e.refresh
+                      ? e.updateOptions().then(e.initLock.resolve)
+                      : void e.initLock.resolve();
+                  })
+                  .finally(function () {
+                    n.templateSrv.variableInitialized(e), delete e.initLock;
+                  });
+              },
+            },
+            {
+              key: "createVariableFromModel",
+              value: function (e) {
+                var t = It.i[e.type].ctor;
+                if (!t)
+                  throw {
+                    message:
+                      "Unable to find variable constructor for " + e.type,
+                  };
+                return this.$injector.instantiate(t, { model: e });
+              },
+            },
+            {
+              key: "addVariable",
+              value: function (e) {
+                this.variables.push(e),
+                  this.templateSrv.updateIndex(),
+                  this.dashboard.updateSubmenuVisibility();
+              },
+            },
+            {
+              key: "removeVariable",
+              value: function (e) {
+                var t = i.a.indexOf(this.variables, e);
+                this.variables.splice(t, 1),
+                  this.templateSrv.updateIndex(),
+                  this.dashboard.updateSubmenuVisibility();
+              },
+            },
+            {
+              key: "updateOptions",
+              value: function (e) {
+                return e.updateOptions();
+              },
+            },
+            {
+              key: "variableUpdated",
+              value: function (e, t) {
+                var n = this;
+                if (e.initLock) return this.$q.when();
+                var r = this.createGraph().getNode(e.name),
+                  a = [];
+                return (
+                  r &&
+                    (a = r.getOptimizedInputEdges().map(function (e) {
+                      return n.updateOptions(
+                        n.variables.find(function (t) {
+                          return t.name === e.inputNode.name;
+                        })
+                      );
+                    })),
+                  this.$q.all(a).then(function () {
+                    t &&
+                      (n.dashboard.templateVariableValueUpdated(),
+                      n.dashboard.startRefresh());
+                  })
+                );
+              },
+            },
+            {
+              key: "selectOptionsForCurrentValue",
+              value: function (e) {
+                var t,
+                  n,
+                  r,
+                  a,
+                  o = [];
+                for (t = 0; t < e.options.length; t++)
+                  if (
+                    (((a = e.options[t]).selected = !1),
+                    i.a.isArray(e.current.value))
+                  )
+                    for (n = 0; n < e.current.value.length; n++)
+                      (r = e.current.value[n]),
+                        a.value === r && ((a.selected = !0), o.push(a));
+                  else
+                    a.value === e.current.value &&
+                      ((a.selected = !0), o.push(a));
+                return o;
+              },
+            },
+            {
+              key: "validateVariableSelectionState",
+              value: function (e, t) {
+                if (
+                  (e.current || (e.current = {}), i.a.isArray(e.current.value))
+                ) {
+                  var n = this.selectOptionsForCurrentValue(e);
+                  return (
+                    (n =
+                      0 === n.length
+                        ? e.options[0]
+                        : {
+                            value: i.a.map(n, function (e) {
+                              return e.value;
+                            }),
+                            text: i.a.map(n, function (e) {
+                              return e.text;
+                            }),
+                          }),
+                    e.setValue(n)
+                  );
+                }
+                var r = void 0;
+                return (r = i.a.find(e.options, { text: e.current.text }))
+                  ? e.setValue(r)
+                  : t && (r = i.a.find(e.options, { text: t }))
+                  ? e.setValue(r)
+                  : e.options
+                  ? e.setValue(e.options[0])
+                  : Promise.resolve();
+              },
+            },
+            {
+              key: "setOptionFromUrl",
+              value: function (e, t) {
+                var n = this.$q.when();
+                return (
+                  e.refresh && (n = e.updateOptions()),
+                  n.then(function () {
+                    var n = i.a.find(e.options, function (e) {
+                      return e.text === t || e.value === t;
+                    });
+                    if (!n) {
+                      var r = t,
+                        a = t;
+                      i.a.isArray(t) &&
+                        (r = t.reduce(function (t, n) {
+                          var r = i.a.find(e.options, { value: n });
+                          return r ? t.push(r.text) : t.push(n), t;
+                        }, [])),
+                        (n = { text: r, value: a });
+                    }
+                    return (
+                      e.multi &&
+                        (n = {
+                          text: i.a.castArray(n.text),
+                          value: i.a.castArray(n.value),
+                        }),
+                      e.setValue(n)
+                    );
+                  })
+                );
+              },
+            },
+            {
+              key: "setOptionAsCurrent",
+              value: function (e, t) {
+                return (
+                  (e.current = i.a.cloneDeep(t)),
+                  i.a.isArray(e.current.text) && e.current.text.length > 0
+                    ? (e.current.text = e.current.text.join(" + "))
+                    : i.a.isArray(e.current.value) &&
+                      "$__all" !== e.current.value[0] &&
+                      (e.current.text = e.current.value.join(" + ")),
+                  this.selectOptionsForCurrentValue(e),
+                  this.variableUpdated(e)
+                );
+              },
+            },
+            {
+              key: "templateVarsChangedInUrl",
+              value: function (e) {
+                var t = this,
+                  n = [],
+                  r = !0,
+                  a = !1,
+                  o = void 0;
+                try {
+                  for (
+                    var i, l = this.variables[Symbol.iterator]();
+                    !(r = (i = l.next()).done);
+                    r = !0
+                  ) {
+                    var s = i.value,
+                      c = "var-".concat(s.name);
+                    e.hasOwnProperty(c) &&
+                      this.isVariableUrlValueDifferentFromCurrent(s, e[c]) &&
+                      n.push(s.setValueFromUrl(e[c]));
+                  }
+                } catch (e) {
+                  (a = !0), (o = e);
+                } finally {
+                  try {
+                    r || null == l.return || l.return();
+                  } finally {
+                    if (a) throw o;
+                  }
+                }
+                n.length &&
+                  Promise.all(n).then(function () {
+                    t.dashboard.templateVariableValueUpdated(),
+                      t.dashboard.startRefresh();
+                  });
+              },
+            },
+            {
+              key: "isVariableUrlValueDifferentFromCurrent",
+              value: function (e, t) {
+                return !i.a.isEqual(e.getValueForUrl(), t);
+              },
+            },
+            {
+              key: "updateUrlParamsWithCurrentVariables",
+              value: function () {
+                var e = this.$location.search();
+                i.a.each(e, function (t, n) {
+                  0 === n.indexOf("var-") && delete e[n];
+                }),
+                  this.templateSrv.fillVariableValuesForUrl(e),
+                  this.$location.search(e);
+              },
+            },
+            {
+              key: "setAdhocFilter",
+              value: function (e) {
+                var t = i.a.find(this.variables, {
+                  type: "adhoc",
+                  datasource: e.datasource,
+                });
+                t ||
+                  ((t = this.createVariableFromModel({
+                    name: "Filters",
+                    type: "adhoc",
+                    datasource: e.datasource,
+                  })),
+                  this.addVariable(t));
+                var n = t.filters,
+                  r = i.a.find(n, { key: e.key, value: e.value });
+                r || ((r = { key: e.key, value: e.value }), n.push(r)),
+                  (r.operator = e.operator),
+                  this.variableUpdated(t, !0);
+              },
+            },
+            {
+              key: "createGraph",
+              value: function () {
+                var e = this,
+                  t = new En.a();
+                return (
+                  this.variables.forEach(function (e) {
+                    t.createNode(e.name);
+                  }),
+                  this.variables.forEach(function (n) {
+                    e.variables.forEach(function (e) {
+                      n !== e && n.dependsOn(e) && t.link(n.name, e.name);
+                    });
+                  }),
+                  t
+                );
+              },
+            },
+          ]) && Cn(t.prototype, n),
+          r && Cn(t, r),
+          e
+        );
+      })();
+      O.c.service("variableSrv", Pn);
+      var Tn = n("PbtU");
+      function Dn(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var An = (function () {
+        function e(t, n, r, a) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.model = t),
+            (this.timeSrv = n),
+            (this.templateSrv = r),
+            (this.variableSrv = a),
+            (this.defaults = {
+              type: "interval",
+              name: "",
+              label: "",
+              hide: It.a.dontHide,
+              skipUrlSync: !1,
+              auto_count: 30,
+              auto_min: "10s",
+              options: [],
+              auto: !1,
+              query: "1m,10m,30m,1h,6h,12h,1d,7d,14d,30d",
+              refresh: It.b.onTimeRangeChanged,
+              current: {},
+            }),
+            Object(It.d)(this, t, this.defaults),
+            (this.refresh = It.b.onTimeRangeChanged);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["model", "timeSrv", "templateSrv", "variableSrv"]),
+          (t = e),
+          (n = [
+            {
+              key: "getSaveModel",
+              value: function () {
+                return (
+                  Object(It.d)(this.model, this, this.defaults), this.model
+                );
+              },
+            },
+            {
+              key: "setValue",
+              value: function (e) {
+                return (
+                  this.updateAutoValue(),
+                  this.variableSrv.setOptionAsCurrent(this, e)
+                );
+              },
+            },
+            {
+              key: "updateAutoValue",
+              value: function () {
+                if (this.auto) {
+                  this.options.length &&
+                    "auto" !== this.options[0].text &&
+                    this.options.unshift({
+                      text: "auto",
+                      value: "$__auto_interval_" + this.name,
+                      selected: !1,
+                    });
+                  var e = Tn.a.calculateInterval(
+                    this.timeSrv.timeRange(),
+                    this.auto_count,
+                    this.auto_min
+                  );
+                  this.templateSrv.setGrafanaVariable(
+                    "$__auto_interval_" + this.name,
+                    e.interval
+                  ),
+                    this.templateSrv.setGrafanaVariable(
+                      "$__auto_interval",
+                      e.interval
+                    );
+                }
+              },
+            },
+            {
+              key: "updateOptions",
+              value: function () {
+                return (
+                  (this.options = i.a.map(
+                    this.query.match(/(["'])(.*?)\1|\w+/g),
+                    function (e) {
+                      return {
+                        text: (e = e.replace(/["']+/g, "")).trim(),
+                        value: e.trim(),
+                        selected: !1,
+                      };
+                    }
+                  )),
+                  this.updateAutoValue(),
+                  this.variableSrv.validateVariableSelectionState(this)
+                );
+              },
+            },
+            {
+              key: "dependsOn",
+              value: function (e) {
+                return !1;
+              },
+            },
+            {
+              key: "setValueFromUrl",
+              value: function (e) {
+                return (
+                  this.updateAutoValue(),
+                  this.variableSrv.setOptionFromUrl(this, e)
+                );
+              },
+            },
+            {
+              key: "getValueForUrl",
+              value: function () {
+                return this.current.value;
+              },
+            },
+          ]) && Dn(t.prototype, n),
+          r && Dn(t, r),
+          e
+        );
+      })();
+      function _n(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      It.i.interval = {
+        name: "Interval",
+        ctor: An,
+        description: "Define a timespan interval (ex 1m, 1h, 1d)",
+      };
+      var Nn = (function () {
+        function e(t, n, r, a, o) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.model = t),
+            (this.datasourceSrv = n),
+            (this.templateSrv = r),
+            (this.variableSrv = a),
+            (this.timeSrv = o),
+            (this.defaults = {
+              type: "query",
+              name: "",
+              label: null,
+              hide: It.a.dontHide,
+              skipUrlSync: !1,
+              datasource: null,
+              query: "",
+              regex: "",
+              sort: It.c.disabled,
+              refresh: It.b.never,
+              multi: !1,
+              includeAll: !1,
+              allValue: null,
+              options: [],
+              current: {},
+              tags: [],
+              useTags: !1,
+              tagsQuery: "",
+              tagValuesQuery: "",
+              definition: "",
+              index: -1,
+            }),
+            Object(It.d)(this, t, this.defaults),
+            this.updateOptionsFromMetricFindQuery.bind(this);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = [
+            "model",
+            "datasourceSrv",
+            "templateSrv",
+            "variableSrv",
+            "timeSrv",
+          ]),
+          (t = e),
+          (n = [
+            {
+              key: "getSaveModel",
+              value: function () {
+                return (
+                  Object(It.d)(this.model, this, this.defaults),
+                  0 !== this.refresh && (this.model.options = []),
+                  this.model
+                );
+              },
+            },
+            {
+              key: "setValue",
+              value: function (e) {
+                return this.variableSrv.setOptionAsCurrent(this, e);
+              },
+            },
+            {
+              key: "setValueFromUrl",
+              value: function (e) {
+                return this.variableSrv.setOptionFromUrl(this, e);
+              },
+            },
+            {
+              key: "getValueForUrl",
+              value: function () {
+                return "All" === this.current.text ? "All" : this.current.value;
+              },
+            },
+            {
+              key: "updateOptions",
+              value: function (e) {
+                var t,
+                  n = this;
+                return this.datasourceSrv
+                  .get(null !== (t = this.datasource) && void 0 !== t ? t : "")
+                  .then(function (t) {
+                    return n.updateOptionsFromMetricFindQuery(t, e);
+                  })
+                  .then(this.updateTags.bind(this))
+                  .then(
+                    this.variableSrv.validateVariableSelectionState.bind(
+                      this.variableSrv,
+                      this
+                    )
+                  );
+              },
+            },
+            {
+              key: "updateTags",
+              value: function (e) {
+                var t = this;
+                return this.useTags
+                  ? this.metricFindQuery(e, this.tagsQuery).then(function (n) {
+                      t.tags = [];
+                      for (var r = 0; r < n.length; r++) t.tags.push(n[r].text);
+                      return e;
+                    })
+                  : (delete this.tags, e);
+              },
+            },
+            {
+              key: "getValuesForTag",
+              value: function (e) {
+                var t,
+                  n = this;
+                return this.datasourceSrv
+                  .get(null !== (t = this.datasource) && void 0 !== t ? t : "")
+                  .then(function (t) {
+                    var r = n.tagValuesQuery.replace("$tag", e);
+                    return n.metricFindQuery(t, r).then(function (e) {
+                      return i.a.map(e, function (e) {
+                        return e.text;
+                      });
+                    });
+                  });
+              },
+            },
+            {
+              key: "updateOptionsFromMetricFindQuery",
+              value: function (e, t) {
+                var n = this;
+                return this.metricFindQuery(e, this.query, t).then(function (
+                  t
+                ) {
+                  return (
+                    (n.options = n.metricNamesToVariableValues(t)),
+                    n.includeAll && n.addAllOption(),
+                    n.options.length ||
+                      n.options.push({
+                        text: "None",
+                        value: "",
+                        isNone: !0,
+                        selected: !1,
+                      }),
+                    e
+                  );
+                });
+              },
+            },
+            {
+              key: "metricFindQuery",
+              value: function (e, t, n) {
+                var r = { range: void 0, variable: this, searchFilter: n };
+                return (
+                  2 === this.refresh && (r.range = this.timeSrv.timeRange()),
+                  e.metricFindQuery(t, r)
+                );
+              },
+            },
+            {
+              key: "addAllOption",
+              value: function () {
+                this.options.unshift({
+                  text: "All",
+                  value: "$__all",
+                  selected: !1,
+                });
+              },
+            },
+            {
+              key: "metricNamesToVariableValues",
+              value: function (e) {
+                var t, n, r, a;
+                for (
+                  n = [],
+                    this.regex &&
+                      (t = Object(g.stringToJsRegex)(
+                        this.templateSrv.replace(this.regex, {}, "regex")
+                      )),
+                    r = 0;
+                  r < e.length;
+                  r++
+                ) {
+                  var o = e[r],
+                    l = void 0 === o.text || null === o.text ? o.value : o.text,
+                    s =
+                      void 0 === o.value || null === o.value ? o.text : o.value;
+                  if (
+                    (i.a.isNumber(s) && (s = s.toString()),
+                    i.a.isNumber(l) && (l = l.toString()),
+                    t)
+                  ) {
+                    if (!(a = t.exec(s))) continue;
+                    a.length > 1 && ((s = a[1]), (l = a[1]));
+                  }
+                  n.push({ text: l, value: s });
+                }
+                return (
+                  (n = i.a.uniqBy(n, "value")),
+                  this.sortVariableValues(n, this.sort)
+                );
+              },
+            },
+            {
+              key: "sortVariableValues",
+              value: function (e, t) {
+                if (0 === t) return e;
+                var n = Math.ceil(t / 2),
+                  r = t % 2 == 0;
+                return (
+                  1 === n
+                    ? (e = i.a.sortBy(e, "text"))
+                    : 2 === n
+                    ? (e = i.a.sortBy(e, function (e) {
+                        var t = e.text.match(/.*?(\d+).*/);
+                        return !t || t.length < 2 ? -1 : parseInt(t[1], 10);
+                      }))
+                    : 3 === n &&
+                      (e = i.a.sortBy(e, function (e) {
+                        return i.a.toLower(e.text);
+                      })),
+                  r && (e = e.reverse()),
+                  e
+                );
+              },
+            },
+            {
+              key: "dependsOn",
+              value: function (e) {
+                return Object(It.f)(
+                  this.query,
+                  this.datasource,
+                  this.regex,
+                  e.name
+                );
+              },
+            },
+          ]) && _n(t.prototype, n),
+          r && _n(t, r),
+          e
+        );
+      })();
+      function Mn(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      It.i.query = {
+        name: "Query",
+        ctor: Nn,
+        description: "Variable values are fetched from a datasource query",
+        supportsMulti: !0,
+      };
+      var In = (function () {
+        function e(t, n, r, a) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.model = t),
+            (this.datasourceSrv = n),
+            (this.variableSrv = r),
+            (this.templateSrv = a),
+            (this.defaults = {
+              type: "datasource",
+              name: "",
+              hide: 0,
+              label: "",
+              current: {},
+              regex: "",
+              options: [],
+              query: "",
+              multi: !1,
+              includeAll: !1,
+              refresh: 1,
+              skipUrlSync: !1,
+            }),
+            Object(It.d)(this, t, this.defaults),
+            (this.refresh = 1);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = [
+            "model",
+            "datasourceSrv",
+            "variableSrv",
+            "templateSrv",
+          ]),
+          (t = e),
+          (n = [
+            {
+              key: "getSaveModel",
+              value: function () {
+                return (
+                  Object(It.d)(this.model, this, this.defaults),
+                  (this.model.options = []),
+                  this.model
+                );
+              },
+            },
+            {
+              key: "setValue",
+              value: function (e) {
+                return this.variableSrv.setOptionAsCurrent(this, e);
+              },
+            },
+            {
+              key: "updateOptions",
+              value: function () {
+                var e,
+                  t = [],
+                  n = this.datasourceSrv.getMetricSources({
+                    skipVariables: !0,
+                  });
+                this.regex &&
+                  ((e = this.templateSrv.replace(this.regex, void 0, "regex")),
+                  (e = Object(g.stringToJsRegex)(e)));
+                for (var r = 0; r < n.length; r++) {
+                  var a = n[r];
+                  a.meta.id === this.query &&
+                    ((e && !e.exec(a.name)) ||
+                      t.push({ text: a.name, value: a.name, selected: !1 }));
+                }
+                0 === t.length &&
+                  t.push({
+                    text: "No data sources found",
+                    value: "",
+                    selected: !1,
+                  }),
+                  (this.options = t),
+                  this.includeAll && this.addAllOption();
+                var o = we.config.bootData.settings.defaultDatasource;
+                return this.variableSrv.validateVariableSelectionState(this, o);
+              },
+            },
+            {
+              key: "addAllOption",
+              value: function () {
+                this.options.unshift({
+                  text: "All",
+                  value: "$__all",
+                  selected: !1,
+                });
+              },
+            },
+            {
+              key: "dependsOn",
+              value: function (e) {
+                return !!this.regex && Object(It.f)(this.regex, e.name);
+              },
+            },
+            {
+              key: "setValueFromUrl",
+              value: function (e) {
+                return this.variableSrv.setOptionFromUrl(this, e);
+              },
+            },
+            {
+              key: "getValueForUrl",
+              value: function () {
+                return "All" === this.current.text ? "All" : this.current.value;
+              },
+            },
+          ]) && Mn(t.prototype, n),
+          r && Mn(t, r),
+          e
+        );
+      })();
+      function Rn(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      It.i.datasource = {
+        name: "Datasource",
+        ctor: In,
+        supportsMulti: !0,
+        description:
+          "Enabled you to dynamically switch the datasource for multiple panels",
+      };
+      var Fn = (function () {
+        function e(t, n) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.model = t),
+            (this.variableSrv = n),
+            (this.defaults = {
+              type: "custom",
+              name: "",
+              label: "",
+              hide: It.a.dontHide,
+              skipUrlSync: !1,
+              query: "",
+              options: [],
+              includeAll: !1,
+              multi: !1,
+              current: {},
+              allValue: null,
+            }),
+            Object(It.d)(this, t, this.defaults);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["model", "variableSrv"]),
+          (t = e),
+          (n = [
+            {
+              key: "setValue",
+              value: function (e) {
+                return this.variableSrv.setOptionAsCurrent(this, e);
+              },
+            },
+            {
+              key: "getSaveModel",
+              value: function () {
+                return (
+                  Object(It.d)(this.model, this, this.defaults), this.model
+                );
+              },
+            },
+            {
+              key: "updateOptions",
+              value: function () {
+                return (
+                  (this.options = i.a.map(
+                    this.query.match(/(?:\\,|[^,])+/g),
+                    function (e) {
+                      return {
+                        text: (e = e.replace(/\\,/g, ",")).trim(),
+                        value: e.trim(),
+                        selected: !1,
+                      };
+                    }
+                  )),
+                  this.includeAll && this.addAllOption(),
+                  this.variableSrv.validateVariableSelectionState(this)
+                );
+              },
+            },
+            {
+              key: "addAllOption",
+              value: function () {
+                this.options.unshift({
+                  text: "All",
+                  value: "$__all",
+                  selected: !1,
+                });
+              },
+            },
+            {
+              key: "dependsOn",
+              value: function (e) {
+                return !1;
+              },
+            },
+            {
+              key: "setValueFromUrl",
+              value: function (e) {
+                return this.variableSrv.setOptionFromUrl(this, e);
+              },
+            },
+            {
+              key: "getValueForUrl",
+              value: function () {
+                return "All" === this.current.text ? "All" : this.current.value;
+              },
+            },
+          ]) && Rn(t.prototype, n),
+          r && Rn(t, r),
+          e
+        );
+      })();
+      function Ln(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      It.i.custom = {
+        name: "Custom",
+        ctor: Fn,
+        description: "Define variable values manually",
+        supportsMulti: !0,
+      };
+      var Vn = (function () {
+        function e(t, n) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.model = t),
+            (this.variableSrv = n),
+            (this.defaults = {
+              type: "constant",
+              name: "",
+              hide: It.a.hideVariable,
+              label: "",
+              query: "",
+              current: {},
+              options: [],
+              skipUrlSync: !1,
+            }),
+            Object(It.d)(this, t, this.defaults);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["model", "variableSrv"]),
+          (t = e),
+          (n = [
+            {
+              key: "getSaveModel",
+              value: function () {
+                return (
+                  Object(It.d)(this.model, this, this.defaults), this.model
+                );
+              },
+            },
+            {
+              key: "setValue",
+              value: function (e) {
+                this.variableSrv.setOptionAsCurrent(this, e);
+              },
+            },
+            {
+              key: "updateOptions",
+              value: function () {
+                return (
+                  (this.options = [
+                    {
+                      text: this.query.trim(),
+                      value: this.query.trim(),
+                      selected: !1,
+                    },
+                  ]),
+                  this.setValue(this.options[0]),
+                  Promise.resolve()
+                );
+              },
+            },
+            {
+              key: "dependsOn",
+              value: function (e) {
+                return !1;
+              },
+            },
+            {
+              key: "setValueFromUrl",
+              value: function (e) {
+                return this.variableSrv.setOptionFromUrl(this, e);
+              },
+            },
+            {
+              key: "getValueForUrl",
+              value: function () {
+                return this.current.value;
+              },
+            },
+          ]) && Ln(t.prototype, n),
+          r && Ln(t, r),
+          e
+        );
+      })();
+      function Bn(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      It.i.constant = {
+        name: "Constant",
+        ctor: Vn,
+        description:
+          "Define a hidden constant variable, useful for metric prefixes in dashboards you want to share",
+      };
+      var $n = (function () {
+        function e(t) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.model = t),
+            (this.defaults = {
+              type: "adhoc",
+              name: "",
+              label: "",
+              hide: It.a.dontHide,
+              skipUrlSync: !1,
+              datasource: null,
+              filters: [],
+            }),
+            Object(It.d)(this, t, this.defaults);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["model"]),
+          (t = e),
+          (n = [
+            {
+              key: "setValue",
+              value: function (e) {
+                return Promise.resolve();
+              },
+            },
+            {
+              key: "getSaveModel",
+              value: function () {
+                return (
+                  Object(It.d)(this.model, this, this.defaults), this.model
+                );
+              },
+            },
+            {
+              key: "updateOptions",
+              value: function () {
+                return Promise.resolve();
+              },
+            },
+            {
+              key: "dependsOn",
+              value: function (e) {
+                return !1;
+              },
+            },
+            {
+              key: "setValueFromUrl",
+              value: function (e) {
+                var t = this;
+                return (
+                  i.a.isArray(e) || (e = [e]),
+                  (this.filters = e.map(function (e) {
+                    var n = e.split("|").map(function (e) {
+                      return t.unescapeDelimiter(e);
+                    });
+                    return {
+                      key: n[0],
+                      operator: n[1],
+                      value: n[2],
+                      condition: "",
+                    };
+                  })),
+                  Promise.resolve()
+                );
+              },
+            },
+            {
+              key: "getValueForUrl",
+              value: function () {
+                var e = this;
+                return this.filters.map(function (t) {
+                  return [t.key, t.operator, t.value]
+                    .map(function (t) {
+                      return e.escapeDelimiter(t);
+                    })
+                    .join("|");
+                });
+              },
+            },
+            {
+              key: "escapeDelimiter",
+              value: function (e) {
+                return e.replace(/\|/g, "__gfp__");
+              },
+            },
+            {
+              key: "unescapeDelimiter",
+              value: function (e) {
+                return e.replace(/__gfp__/g, "|");
+              },
+            },
+            {
+              key: "setFilters",
+              value: function (e) {
+                this.filters = e;
+              },
+            },
+          ]) && Bn(t.prototype, n),
+          r && Bn(t, r),
+          e
+        );
+      })();
+      function qn(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      It.i.adhoc = {
+        name: "Ad hoc filters",
+        ctor: $n,
+        description: "Add key/value filters on the fly",
+      };
+      var Un = (function () {
+        function e(t, n) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.model = t),
+            (this.variableSrv = n),
+            (this.defaults = {
+              type: "textbox",
+              name: "",
+              label: "",
+              hide: It.a.dontHide,
+              query: "",
+              current: {},
+              options: [],
+              skipUrlSync: !1,
+            }),
+            Object(It.d)(this, t, this.defaults);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["model", "variableSrv"]),
+          (t = e),
+          (n = [
+            {
+              key: "getSaveModel",
+              value: function () {
+                return (
+                  Object(It.d)(this.model, this, this.defaults), this.model
+                );
+              },
+            },
+            {
+              key: "setValue",
+              value: function (e) {
+                this.variableSrv.setOptionAsCurrent(this, e);
+              },
+            },
+            {
+              key: "updateOptions",
+              value: function () {
+                return (
+                  (this.options = [
+                    {
+                      text: this.query.trim(),
+                      value: this.query.trim(),
+                      selected: !1,
+                    },
+                  ]),
+                  (this.current = this.options[0]),
+                  Promise.resolve()
+                );
+              },
+            },
+            {
+              key: "dependsOn",
+              value: function (e) {
+                return !1;
+              },
+            },
+            {
+              key: "setValueFromUrl",
+              value: function (e) {
+                return (
+                  (this.query = e), this.variableSrv.setOptionFromUrl(this, e)
+                );
+              },
+            },
+            {
+              key: "getValueForUrl",
+              value: function () {
+                return this.current.value;
+              },
+            },
+          ]) && qn(t.prototype, n),
+          r && qn(t, r),
+          e
+        );
+      })();
+      It.i.textbox = {
+        name: "Text box",
+        ctor: Un,
+        description:
+          "Define a textbox variable, where users can enter any arbitrary string",
+      };
+      var zn = n("+CPp"),
+        Hn = n("BkRI"),
+        Gn = n.n(Hn),
+        Wn = {
+          uuid: Rt.c,
+          global: !1,
+          index: -1,
+          type: "query",
+          name: "",
+          label: null,
+          hide: It.a.dontHide,
+          skipUrlSync: !1,
+          datasource: null,
+          query: "",
+          regex: "",
+          sort: It.c.disabled,
+          refresh: It.b.never,
+          multi: !1,
+          includeAll: !1,
+          allValue: null,
+          options: [],
+          current: {},
+          tags: [],
+          useTags: !1,
+          tagsQuery: "",
+          tagValuesQuery: "",
+          definition: "",
+          initLock: null,
+        },
+        Qn = function (e, t, n) {
+          var r,
+            a,
+            o,
+            l = [];
+          for (
+            e && (r = Object(g.stringToJsRegex)(Sn.b.replace(e, {}, "regex"))),
+              a = 0;
+            a < n.length;
+            a++
+          ) {
+            var s = n[a],
+              c = void 0 === s.text || null === s.text ? s.value : s.text,
+              u = void 0 === s.value || null === s.value ? s.text : s.value;
+            if (
+              (i.a.isNumber(u) && (u = u.toString()),
+              i.a.isNumber(c) && (c = c.toString()),
+              r)
+            ) {
+              if (!(o = r.exec(u))) continue;
+              o.length > 1 && ((u = o[1]), (c = o[1]));
+            }
+            l.push({ text: c, value: u, selected: !1 });
+          }
+          return (function (e, t) {
+            if (t === It.c.disabled) return e;
+            var n = Math.ceil(t / 2),
+              r = t % 2 == 0;
+            return (
+              1 === n
+                ? (e = i.a.sortBy(e, "text"))
+                : 2 === n
+                ? (e = i.a.sortBy(e, function (e) {
+                    var t = e.text.match(/.*?(\d+).*/);
+                    return !t || t.length < 2 ? -1 : parseInt(t[1], 10);
+                  }))
+                : 3 === n &&
+                  (e = i.a.sortBy(e, function (e) {
+                    return i.a.toLower(e.text);
+                  })),
+              r && (e = e.reverse()),
+              e
+            );
+          })((l = i.a.uniqBy(l, "value")), t);
+        },
+        Yn = Object(Ie.c)({
+          name: "templating/query",
+          initialState: on.a,
+          reducers: {
+            updateVariableOptions: function (e, t) {
+              var n = t.payload.data,
+                r = Object(Rt.f)(e, t.payload.uuid),
+                a = r.regex,
+                o = r.includeAll,
+                i = r.sort,
+                l = Qn(a, i, n);
+              o && l.unshift({ text: Rt.a, value: Rt.b, selected: !1 }),
+                l.length ||
+                  l.push({ text: Rt.d, value: Rt.e, isNone: !0, selected: !1 }),
+                (r.options = l);
+            },
+            updateVariableTags: function (e, t) {
+              for (
+                var n = Object(Rt.f)(e, t.payload.uuid),
+                  r = t.payload.data,
+                  a = [],
+                  o = 0;
+                o < r.length;
+                o++
+              )
+                a.push({ text: r[o].text, selected: !1 });
+              n.tags = a;
+            },
+          },
+        }),
+        Kn = Yn.reducer,
+        Jn = Yn.actions,
+        Zn = Jn.updateVariableOptions,
+        Xn = Jn.updateVariableTags,
+        er = n("M/8g"),
+        tr = n("/MKj");
+      function nr(e) {
+        return (nr =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function rr(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function ar(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function or(e, t) {
+        return !t || ("object" !== nr(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function ir(e) {
+        return (ir = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function lr(e, t) {
+        return (lr =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var sr,
+        cr = (function (e) {
+          function t() {
+            var e, n;
+            rr(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = or(
+                this,
+                (e = ir(t)).call.apply(e, [this].concat(a))
+              )).onClick = function (e) {
+                e.stopPropagation(), e.preventDefault(), n.props.onClick();
+              }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && lr(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.tags,
+                    n = void 0 === t ? [] : t,
+                    r = e.text;
+                  return d.a.createElement(
+                    "a",
+                    {
+                      onClick: this.onClick,
+                      className: "variable-value-link",
+                      "aria-label": W.a.pages.Dashboard.SubMenu.selectors.submenuItemValueDropDownValueLinkTexts(
+                        "".concat(r)
+                      ),
+                    },
+                    r,
+                    n.map(function (e) {
+                      var t = Object(ee.getTagColorsFromName)(
+                          e.text.toString()
+                        ),
+                        n = t.color,
+                        r = t.borderColor;
+                      return d.a.createElement(
+                        "span",
+                        {
+                          "bs-tooltip": "tag.valuesText",
+                          "data-placement": "bottom",
+                          key: "".concat(e.text),
+                        },
+                        d.a.createElement(
+                          "span",
+                          {
+                            className: "label-tag",
+                            style: { backgroundColor: n, borderColor: r },
+                          },
+                          "  ",
+                          d.a.createElement("i", { className: "fa fa-tag" }),
+                          "  ",
+                          e.text
+                        )
+                      );
+                    }),
+                    d.a.createElement("i", {
+                      className: "fa fa-caret-down",
+                      style: { fontSize: "12px" },
+                    })
+                  );
+                },
+              },
+            ]) && ar(n.prototype, r),
+            a && ar(n, a),
+            t
+          );
+        })(f.PureComponent);
+      function ur(e) {
+        return (ur =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function fr(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function dr(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function pr(e, t) {
+        return !t || ("object" !== ur(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function hr(e) {
+        return (hr = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function mr(e, t) {
+        return (mr =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      !(function (e) {
+        (e[(e.moveUp = 38)] = "moveUp"),
+          (e[(e.moveDown = 40)] = "moveDown"),
+          (e[(e.select = 32)] = "select"),
+          (e[(e.cancel = 27)] = "cancel"),
+          (e[(e.selectAndClose = 13)] = "selectAndClose");
+      })(sr || (sr = {}));
+      var gr = (function (e) {
+          function t() {
+            var e, n;
+            fr(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = pr(
+                this,
+                (e = hr(t)).call.apply(e, [this].concat(a))
+              )).onKeyDown = function (e) {
+                if (sr[e.keyCode]) {
+                  var t = e.ctrlKey || e.metaKey || e.shiftKey;
+                  n.props.onNavigate(e.keyCode, t);
+                }
+              }),
+              (n.onChange = function (e) {
+                n.shouldUpdateValue(e.target.value) &&
+                  n.props.onChange(e.target.value);
+              }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && mr(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "shouldUpdateValue",
+                value: function (e) {
+                  var t;
+                  return (
+                    Object(o.trim)(null != e ? e : "").length > 0 ||
+                    Object(o.trim)(
+                      null !== (t = this.props.value) && void 0 !== t ? t : ""
+                    ).length > 0
+                  );
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e;
+                  return d.a.createElement("input", {
+                    ref: function (e) {
+                      e &&
+                        (e.focus(),
+                        e.setAttribute(
+                          "style",
+                          "width:".concat(Math.max(e.width, 80), "px")
+                        ));
+                    },
+                    type: "text",
+                    className: "gf-form-input",
+                    value:
+                      null !== (e = this.props.value) && void 0 !== e ? e : "",
+                    onChange: this.onChange,
+                    onKeyDown: this.onKeyDown,
+                  });
+                },
+              },
+            ]) && dr(n.prototype, r),
+            a && dr(n, a),
+            t
+          );
+        })(f.PureComponent),
+        br = n("sEfC"),
+        vr = n.n(br),
+        yr = n("Yyu/"),
+        wr = n("mpro");
+      function Or(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function xr(e) {
+        for (var t = 1; t < arguments.length; t++) {
+          var n = null != arguments[t] ? arguments[t] : {};
+          t % 2
+            ? Or(Object(n), !0).forEach(function (t) {
+                kr(e, t, n[t]);
+              })
+            : Object.getOwnPropertyDescriptors
+            ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n))
+            : Or(Object(n)).forEach(function (t) {
+                Object.defineProperty(
+                  e,
+                  t,
+                  Object.getOwnPropertyDescriptor(n, t)
+                );
+              });
+        }
+        return e;
+      }
+      function kr(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function jr(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function Sr(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              jr(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              jr(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      var Er = function () {
+          return (function () {
+            var e = Sr(
+              regeneratorRuntime.mark(function e(t, n) {
+                var r, a, o, i, l, s;
+                return regeneratorRuntime.wrap(function (e) {
+                  for (;;)
+                    switch ((e.prev = e.next)) {
+                      case 0:
+                        if (
+                          ((r = n().templating.optionsPicker),
+                          (a = Object(yr.a)(r.uuid, n())),
+                          (o = { option: _r(r) }),
+                          (i = {
+                            propName: "queryValue",
+                            propValue: r.queryValue,
+                          }),
+                          t(Object(wr.j)(Object(Rt.h)(a, o))),
+                          t(Object(wr.d)(Object(Rt.h)(a, i))),
+                          (l = Object(yr.a)(r.uuid, n())),
+                          a.current.text !== l.current.text)
+                        ) {
+                          e.next = 9;
+                          break;
+                        }
+                        return e.abrupt("return", t(Kt()));
+                      case 9:
+                        return (
+                          (s = zn.a.get(l.type)),
+                          (e.next = 12),
+                          s.setValue(l, l.current, !0)
+                        );
+                      case 12:
+                        return e.abrupt("return", t(Kt()));
+                      case 13:
+                      case "end":
+                        return e.stop();
+                    }
+                }, e);
+              })
+            );
+            return function (t, n) {
+              return e.apply(this, arguments);
+            };
+          })();
+        },
+        Cr = function (e) {
+          return function (t, n) {
+            var r = n().templating.optionsPicker,
+              a = r.uuid,
+              o = r.highlightIndex,
+              i = Object(yr.a)(a, n()).options[o];
+            t(Qt({ option: i, forceSelect: !1, clearOthers: e }));
+          };
+        },
+        Pr = function (e) {
+          return (function () {
+            var t = Sr(
+              regeneratorRuntime.mark(function t(n, r) {
+                var a, o, i, l, s, c, u;
+                return regeneratorRuntime.wrap(function (t) {
+                  for (;;)
+                    switch ((t.prev = t.next)) {
+                      case 0:
+                        return (
+                          (o = r().templating.optionsPicker),
+                          (i = Object(yr.a)(o.uuid, r())),
+                          (t.next = 4),
+                          Object(we.getDataSourceSrv)().get(
+                            null !== (a = i.datasource) && void 0 !== a ? a : ""
+                          )
+                        );
+                      case 4:
+                        if (
+                          ((l = t.sent),
+                          (s = i.tagValuesQuery.replace("$tag", e)),
+                          (c = { range: Tr(i), variable: i }),
+                          l.metricFindQuery)
+                        ) {
+                          t.next = 9;
+                          break;
+                        }
+                        return t.abrupt("return", []);
+                      case 9:
+                        return (t.next = 11), l.metricFindQuery(s, c);
+                      case 11:
+                        if (((u = t.sent), Array.isArray(u))) {
+                          t.next = 14;
+                          break;
+                        }
+                        return t.abrupt("return", []);
+                      case 14:
+                        return t.abrupt(
+                          "return",
+                          u.map(function (e) {
+                            return e.text;
+                          })
+                        );
+                      case 15:
+                      case "end":
+                        return t.stop();
+                    }
+                }, t);
+              })
+            );
+            return function (e, n) {
+              return t.apply(this, arguments);
+            };
+          })();
+        },
+        Tr = function (e) {
+          if (e.refresh === It.b.onTimeRangeChanged)
+            return Object(Ae.a)().timeRange();
+        },
+        Dr = (function () {
+          var e = Sr(
+            regeneratorRuntime.mark(function e(t, n, r) {
+              var a, o, i, l;
+              return regeneratorRuntime.wrap(
+                function (e) {
+                  for (;;)
+                    switch ((e.prev = e.next)) {
+                      case 0:
+                        return (
+                          (e.prev = 0),
+                          (a = n().templating.optionsPicker.uuid),
+                          (o = Object(yr.a)(a, n())),
+                          (i = zn.a.get(o.type)),
+                          (e.next = 6),
+                          i.updateOptions(o, r)
+                        );
+                      case 6:
+                        (l = Object(yr.a)(a, n())),
+                          t(nn(l.options)),
+                          (e.next = 13);
+                        break;
+                      case 10:
+                        (e.prev = 10), (e.t0 = e.catch(0)), console.error(e.t0);
+                      case 13:
+                      case "end":
+                        return e.stop();
+                    }
+                },
+                e,
+                null,
+                [[0, 10]]
+              );
+            })
+          );
+          return function (t, n, r) {
+            return e.apply(this, arguments);
+          };
+        })(),
+        Ar = vr()(Dr, 500);
+      function _r(e) {
+        var t = e.options,
+          n = e.queryValue,
+          r = e.multi;
+        if (0 === t.length && n && n.length > 0)
+          return { text: n, value: n, selected: !1 };
+        if (!r)
+          return t.find(function (e) {
+            return e.selected;
+          });
+        var a = [],
+          o = [],
+          i = !0,
+          l = !1,
+          s = void 0;
+        try {
+          for (
+            var c, u = t[Symbol.iterator]();
+            !(i = (c = u.next()).done);
+            i = !0
+          ) {
+            var f = c.value;
+            f.selected &&
+              (a.push(f.text.toString()), o.push(f.value.toString()));
+          }
+        } catch (e) {
+          (l = !0), (s = e);
+        } finally {
+          try {
+            i || null == u.return || u.return();
+          } finally {
+            if (l) throw s;
+          }
+        }
+        return {
+          value: o,
+          text: a.join(" + "),
+          tags: e.tags.filter(function (e) {
+            return e.selected;
+          }),
+          selected: !0,
+        };
+      }
+      function Nr(e) {
+        return (Nr =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Mr(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Ir(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Rr(e, t) {
+        return !t || ("object" !== Nr(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Fr(e) {
+        return (Fr = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Lr(e, t) {
+        return (Lr =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Vr = (function (e) {
+        function t() {
+          var e, n;
+          Mr(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = Rr(
+              this,
+              (e = Fr(t)).call.apply(e, [this].concat(a))
+            )).onToggle = function (e) {
+              return function (t) {
+                var r = t.shiftKey || t.ctrlKey || t.metaKey;
+                n.handleEvent(t), n.props.onToggle(e, r);
+              };
+            }),
+            (n.onToggleAll = function (e) {
+              n.handleEvent(e), n.props.onToggleAll();
+            }),
+            (n.onToggleTag = function (e) {
+              return function (t) {
+                n.handleEvent(t), n.props.onToggleTag(e);
+              };
+            }),
+            n
+          );
+        }
+        var n, r, a;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && Lr(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "handleEvent",
+              value: function (e) {
+                e.preventDefault(), e.stopPropagation();
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                var e = this,
+                  t = this.props,
+                  n = t.multi,
+                  r = t.values,
+                  a = t.tags;
+                return d.a.createElement(
+                  "div",
+                  {
+                    className: "".concat(
+                      n
+                        ? "variable-value-dropdown multi"
+                        : "variable-value-dropdown single"
+                    ),
+                    "aria-label":
+                      W.a.pages.Dashboard.SubMenu.selectors
+                        .submenuItemValueDropDownDropDown,
+                  },
+                  d.a.createElement(
+                    "div",
+                    { className: "variable-options-wrapper" },
+                    d.a.createElement(
+                      "div",
+                      { className: "variable-options-column" },
+                      this.renderMultiToggle(),
+                      r.map(function (t, n) {
+                        return e.renderOption(t, n);
+                      })
+                    ),
+                    this.renderTags(a)
+                  )
+                );
+              },
+            },
+            {
+              key: "renderTags",
+              value: function (e) {
+                var t = this;
+                return 0 === e.length
+                  ? null
+                  : d.a.createElement(
+                      "div",
+                      { className: "variable-options-column" },
+                      d.a.createElement(
+                        "div",
+                        {
+                          className:
+                            "variable-options-column-header text-center",
+                        },
+                        "Tags"
+                      ),
+                      e.map(function (e) {
+                        return t.renderTag(e);
+                      })
+                    );
+              },
+            },
+            {
+              key: "renderTag",
+              value: function (e) {
+                var t = Object(ee.getTagColorsFromName)(e.text.toString()),
+                  n = t.color,
+                  r = t.borderColor;
+                return d.a.createElement(
+                  "a",
+                  {
+                    key: "".concat(e.text),
+                    className: "".concat(
+                      e.selected
+                        ? "variable-option-tag pointer selected"
+                        : "variable-option-tag pointer"
+                    ),
+                    onClick: this.onToggleTag(e),
+                  },
+                  d.a.createElement("span", {
+                    className: "fa fa-fw variable-option-icon",
+                  }),
+                  d.a.createElement(
+                    "span",
+                    {
+                      className: "label-tag",
+                      style: { backgroundColor: n, borderColor: r },
+                    },
+                    e.text,
+                    "  ",
+                    d.a.createElement("i", { className: "fa fa-tag" }),
+                    " "
+                  )
+                );
+              },
+            },
+            {
+              key: "renderOption",
+              value: function (e, t) {
+                var n = this.props.highlightIndex,
+                  r = e.selected
+                    ? "variable-option pointer selected"
+                    : "variable-option pointer",
+                  a = t === n ? "".concat(r, " highlighted") : r;
+                return d.a.createElement(
+                  "a",
+                  {
+                    key: "".concat(e.value),
+                    className: a,
+                    onClick: this.onToggle(e),
+                  },
+                  d.a.createElement("span", {
+                    className: "variable-option-icon",
+                  }),
+                  d.a.createElement(
+                    "span",
+                    {
+                      "aria-label": W.a.pages.Dashboard.SubMenu.selectors.submenuItemValueDropDownOptionTexts(
+                        "".concat(e.text)
+                      ),
+                    },
+                    e.text
+                  )
+                );
+              },
+            },
+            {
+              key: "renderMultiToggle",
+              value: function () {
+                var e = this.props,
+                  t = e.multi,
+                  n = e.selectedValues;
+                return t
+                  ? d.a.createElement(
+                      ee.Tooltip,
+                      { content: "Clear selections", placement: "top" },
+                      d.a.createElement(
+                        "a",
+                        {
+                          className: "".concat(
+                            n.length > 1
+                              ? "variable-options-column-header many-selected"
+                              : "variable-options-column-header"
+                          ),
+                          onClick: this.onToggleAll,
+                          "data-placement": "top",
+                        },
+                        d.a.createElement("span", {
+                          className: "variable-option-icon",
+                        }),
+                        "Selected (",
+                        n.length,
+                        ")"
+                      )
+                    )
+                  : null;
+              },
+            },
+          ]) && Ir(n.prototype, r),
+          a && Ir(n, a),
+          t
+        );
+      })(f.PureComponent);
+      function Br(e) {
+        return (Br =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function $r(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function qr(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Ur(e, t) {
+        return !t || ("object" !== Br(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function zr(e) {
+        return (zr = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Hr(e, t) {
+        return (Hr =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Gr = (function (e) {
+          function t() {
+            var e, n;
+            $r(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = Ur(
+                this,
+                (e = zr(t)).call.apply(e, [this].concat(a))
+              )).onShowOptions = function () {
+                return n.props.showOptions(n.props.variable);
+              }),
+              (n.onHideOptions = function () {
+                return n.props.commitChangesToVariable();
+              }),
+              (n.onToggleOption = function (e, t) {
+                n.props.toggleOption({
+                  option: e,
+                  clearOthers: t,
+                  forceSelect: !1,
+                });
+              }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && Hr(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.variable,
+                    n = e.picker,
+                    r = n.uuid === t.uuid;
+                  return d.a.createElement(
+                    "div",
+                    { className: "variable-link-wrapper" },
+                    this.renderLink(r, t),
+                    this.renderOptions(r, n)
+                  );
+                },
+              },
+              {
+                key: "renderLink",
+                value: function (e, t) {
+                  if (e) return null;
+                  var n = Qr(t),
+                    r = Wr(t);
+                  return d.a.createElement(cr, {
+                    text: n,
+                    tags: r,
+                    onClick: this.onShowOptions,
+                  });
+                },
+              },
+              {
+                key: "renderOptions",
+                value: function (e, t) {
+                  return e
+                    ? d.a.createElement(
+                        ee.ClickOutsideWrapper,
+                        { onClick: this.onHideOptions },
+                        d.a.createElement(gr, {
+                          value: t.queryValue,
+                          onChange: this.props.filterOrSearchOptions,
+                          onNavigate: this.props.navigateOptions,
+                        }),
+                        d.a.createElement(Vr, {
+                          values: t.options,
+                          onToggle: this.onToggleOption,
+                          onToggleAll: this.props.toggleAllOptions,
+                          onToggleTag: this.props.toggleAndFetchTag,
+                          highlightIndex: t.highlightIndex,
+                          multi: t.multi,
+                          tags: t.tags,
+                          selectedValues: t.selectedValues,
+                        })
+                      )
+                    : null;
+                },
+              },
+            ]) && qr(n.prototype, r),
+            a && qr(n, a),
+            t
+          );
+        })(f.PureComponent),
+        Wr = function (e) {
+          return Object(Ft.a)(e) && Array.isArray(e.tags)
+            ? e.tags.filter(function (e) {
+                return e.selected;
+              })
+            : [];
+        },
+        Qr = function (e) {
+          var t = e.current,
+            n = e.options;
+          if (!t.tags || 0 === t.tags.length)
+            return Array.isArray(t.text) ? t.text.join(" + ") : t.text;
+          var r = n
+            .filter(function (e) {
+              if (!e.selected) return !1;
+              if (!t || !t.tags || !t.tags.length) return !1;
+              for (var n = 0; n < t.tags.length; n++) {
+                var r,
+                  a = t.tags[n],
+                  o =
+                    null == a
+                      ? void 0
+                      : null === (r = a.values) || void 0 === r
+                      ? void 0
+                      : r.findIndex(function (t) {
+                          return t === e.value;
+                        });
+                if (o && -1 !== o) return !1;
+              }
+              return !0;
+            })
+            .map(function (e) {
+              return e.text;
+            })
+            .join(" + ");
+          return r.length > 0 ? "".concat(r, " + ") : r;
+        },
+        Yr = {
+          showOptions: Yt,
+          commitChangesToVariable: Er,
+          filterOrSearchOptions: function (e) {
+            return (function () {
+              var t = Sr(
+                regeneratorRuntime.mark(function t(n, r) {
+                  var a, o, i, l;
+                  return regeneratorRuntime.wrap(function (t) {
+                    for (;;)
+                      switch ((t.prev = t.next)) {
+                        case 0:
+                          if (
+                            ((a = r().templating.optionsPicker.uuid),
+                            (o = Object(yr.a)(a, r())),
+                            (i = o.query),
+                            (l = o.options),
+                            n(en(e)),
+                            !Object(It.e)(i))
+                          ) {
+                            t.next = 5;
+                            break;
+                          }
+                          return t.abrupt("return", Ar(n, r, e));
+                        case 5:
+                          return t.abrupt("return", n(tn(l)));
+                        case 6:
+                        case "end":
+                          return t.stop();
+                      }
+                  }, t);
+                })
+              );
+              return function (e, n) {
+                return t.apply(this, arguments);
+              };
+            })();
+          },
+          toggleAllOptions: Xt,
+          toggleOption: Qt,
+          toggleAndFetchTag: function (e) {
+            return (function () {
+              var t = Sr(
+                regeneratorRuntime.mark(function t(n, r) {
+                  var a;
+                  return regeneratorRuntime.wrap(function (t) {
+                    for (;;)
+                      switch ((t.prev = t.next)) {
+                        case 0:
+                          if (!Array.isArray(e.values)) {
+                            t.next = 2;
+                            break;
+                          }
+                          return t.abrupt("return", n(Jt(e)));
+                        case 2:
+                          return (t.next = 4), n(Pr(e.text.toString()));
+                        case 4:
+                          return (
+                            (a = t.sent),
+                            t.abrupt("return", n(Jt(xr({}, e, { values: a }))))
+                          );
+                        case 6:
+                        case "end":
+                          return t.stop();
+                      }
+                  }, t);
+                })
+              );
+              return function (e, n) {
+                return t.apply(this, arguments);
+              };
+            })();
+          },
+          navigateOptions: function (e, t) {
+            return (function () {
+              var n = Sr(
+                regeneratorRuntime.mark(function n(r, a) {
+                  return regeneratorRuntime.wrap(function (n) {
+                    for (;;)
+                      switch ((n.prev = n.next)) {
+                        case 0:
+                          if (e !== sr.cancel) {
+                            n.next = 4;
+                            break;
+                          }
+                          return (n.next = 3), r(Er());
+                        case 3:
+                          return n.abrupt("return", n.sent);
+                        case 4:
+                          if (e !== sr.select) {
+                            n.next = 6;
+                            break;
+                          }
+                          return n.abrupt("return", r(Cr(t)));
+                        case 6:
+                          if (e !== sr.selectAndClose) {
+                            n.next = 11;
+                            break;
+                          }
+                          return r(Cr(t)), (n.next = 10), r(Er());
+                        case 10:
+                          return n.abrupt("return", n.sent);
+                        case 11:
+                          if (e !== sr.moveDown) {
+                            n.next = 13;
+                            break;
+                          }
+                          return n.abrupt("return", r(Zt(1)));
+                        case 13:
+                          if (e !== sr.moveUp) {
+                            n.next = 15;
+                            break;
+                          }
+                          return n.abrupt("return", r(Zt(-1)));
+                        case 15:
+                          return n.abrupt("return", void 0);
+                        case 16:
+                        case "end":
+                          return n.stop();
+                      }
+                  }, n);
+                })
+              );
+              return function (e, t) {
+                return n.apply(this, arguments);
+              };
+            })();
+          },
+        },
+        Kr = Object(tr.connect)(function (e) {
+          return { picker: e.templating.optionsPicker };
+        }, Yr)(Gr);
+      Kr.displayName = "OptionsPicker";
+      var Jr = function (e) {
+        var t,
+          n = Object(f.useCallback)(
+            function (t) {
+              e.onPropChange({
+                propName: "multi",
+                propValue: t.target.checked,
+              });
+            },
+            [e.onPropChange]
+          ),
+          r = Object(f.useCallback)(
+            function (t) {
+              e.onPropChange({
+                propName: "includeAll",
+                propValue: t.target.checked,
+              });
+            },
+            [e.onPropChange]
+          ),
+          a = Object(f.useCallback)(
+            function (t) {
+              e.onPropChange({
+                propName: "allValue",
+                propValue: t.target.value,
+              });
+            },
+            [e.onPropChange]
+          );
+        return d.a.createElement(
+          "div",
+          { className: "section gf-form-group" },
+          d.a.createElement(
+            "h5",
+            { className: "section-heading" },
+            "Selection Options"
+          ),
+          d.a.createElement(
+            "div",
+            { className: "section" },
+            d.a.createElement(
+              "div",
+              {
+                "aria-label":
+                  W.a.pages.Dashboard.Settings.Variables.Edit.General.selectors
+                    .selectionOptionsMultiSwitch,
+              },
+              d.a.createElement(ee.Switch, {
+                label: "Multi-value",
+                labelClass: "width-10",
+                checked: e.variable.multi,
+                onChange: n,
+                tooltip:
+                  "Enables multiple values to be selected at the same time",
+              })
+            ),
+            d.a.createElement(
+              "div",
+              {
+                "aria-label":
+                  W.a.pages.Dashboard.Settings.Variables.Edit.General.selectors
+                    .selectionOptionsIncludeAllSwitch,
+              },
+              d.a.createElement(ee.Switch, {
+                label: "Include All option",
+                labelClass: "width-10",
+                checked: e.variable.includeAll,
+                onChange: r,
+                tooltip:
+                  "Enables multiple values to be selected at the same time",
+              })
+            )
+          ),
+          e.variable.includeAll &&
+            d.a.createElement(
+              "div",
+              { className: "gf-form" },
+              d.a.createElement(
+                "span",
+                { className: "gf-form-label width-10" },
+                "Custom all value"
+              ),
+              d.a.createElement("input", {
+                type: "text",
+                className: "gf-form-input max-width-15",
+                value:
+                  null !== (t = e.variable.allValue) && void 0 !== t ? t : "",
+                onChange: a,
+                placeholder: "blank = auto",
+                "aria-label":
+                  W.a.pages.Dashboard.Settings.Variables.Edit.General.selectors
+                    .selectionOptionsCustomAllInput,
+              })
+            )
+        );
+      };
+      Jr.displayName = "SelectionOptionsEditor";
+      var Zr = n("WnbS");
+      function Xr(e) {
+        return (Xr =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function ea(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function ta(e, t) {
+        return !t || ("object" !== Xr(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function na(e) {
+        return (na = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function ra(e, t) {
+        return (ra =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var aa = (function (e) {
+        function t(e) {
+          var n;
+          return (
+            (function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, t),
+            ((n = ta(this, na(t).call(this, e))).onChange = function (e) {
+              n.setState({ value: e.currentTarget.value });
+            }),
+            (n.onBlur = function (e) {
+              n.props.onChange(e.currentTarget.value, e.currentTarget.value);
+            }),
+            (n.state = { value: e.query }),
+            n
+          );
+        }
+        var n, r, a;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && ra(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "getLineCount",
+              value: function () {
+                var e = this.state.value;
+                return "string" == typeof e ? e.split("\n").length : 1;
+              },
+            },
+            {
+              key: "render",
+              value: function () {
+                return d.a.createElement(
+                  "div",
+                  { className: "gf-form" },
+                  d.a.createElement(
+                    "span",
+                    { className: "gf-form-label width-10" },
+                    "Query"
+                  ),
+                  d.a.createElement("textarea", {
+                    rows: this.getLineCount(),
+                    className: "gf-form-input",
+                    value: this.state.value,
+                    onChange: this.onChange,
+                    onBlur: this.onBlur,
+                    placeholder: "metric name or tags query",
+                    required: !0,
+                    "aria-label":
+                      W.a.pages.Dashboard.Settings.Variables.Edit.QueryVariable
+                        .selectors.queryOptionsQueryInput,
+                  })
+                );
+              },
+            },
+          ]) && ea(n.prototype, r),
+          a && ea(n, a),
+          t
+        );
+      })(f.PureComponent);
+      function oa(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function ia(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              oa(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              oa(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      var la = function (e, t) {
+          return (function () {
+            var n = ia(
+              regeneratorRuntime.mark(function n(r, a) {
+                var o, i, l, s, c, u;
+                return regeneratorRuntime.wrap(
+                  function (n) {
+                    for (;;)
+                      switch ((n.prev = n.next)) {
+                        case 0:
+                          return (
+                            (o = Object(yr.a)(e.uuid, a())),
+                            (n.prev = 1),
+                            a().templating.editor.id === o.uuid &&
+                              r(Object(an.f)({ errorProp: "update" })),
+                            (n.next = 5),
+                            Object(Zr.a)().get(
+                              null !== (i = o.datasource) && void 0 !== i
+                                ? i
+                                : ""
+                            )
+                          );
+                        case 5:
+                          if (
+                            ((l = n.sent),
+                            (s = {
+                              range: void 0,
+                              variable: o,
+                              searchFilter: t,
+                            }),
+                            o.refresh === It.b.onTimeRangeChanged &&
+                              (s.range = Object(Ae.a)().timeRange()),
+                            l.metricFindQuery)
+                          ) {
+                            n.next = 10;
+                            break;
+                          }
+                          return n.abrupt("return");
+                        case 10:
+                          return (n.next = 12), l.metricFindQuery(o.query, s);
+                        case 12:
+                          return (
+                            (c = n.sent),
+                            (n.next = 15),
+                            r(Zn(Object(Rt.h)(o, c)))
+                          );
+                        case 15:
+                          if (!o.useTags) {
+                            n.next = 21;
+                            break;
+                          }
+                          return (
+                            (n.next = 18), l.metricFindQuery(o.tagsQuery, s)
+                          );
+                        case 18:
+                          return (
+                            (u = n.sent),
+                            (n.next = 21),
+                            r(Xn(Object(Rt.h)(o, u)))
+                          );
+                        case 21:
+                          return (
+                            (n.next = 23), r(Object(er.e)(Object(Rt.g)(o)))
+                          );
+                        case 23:
+                          n.next = 31;
+                          break;
+                        case 25:
+                          (n.prev = 25),
+                            (n.t0 = n.catch(1)),
+                            console.error(n.t0),
+                            n.t0.data &&
+                              n.t0.data.message &&
+                              (n.t0.message = n.t0.data.message),
+                            a().templating.editor.id === o.uuid &&
+                              r(
+                                Object(an.a)({
+                                  errorProp: "update",
+                                  errorText: n.t0.message,
+                                })
+                              ),
+                            b.b.emit(g.AppEvents.alertError, [
+                              "Templating",
+                              "Template variables could not be initialized: " +
+                                n.t0.message,
+                            ]);
+                        case 31:
+                        case "end":
+                          return n.stop();
+                      }
+                  },
+                  n,
+                  null,
+                  [[1, 25]]
+                );
+              })
+            );
+            return function (e, t) {
+              return n.apply(this, arguments);
+            };
+          })();
+        },
+        sa = function (e, t) {
+          return (function () {
+            var e = ia(
+              regeneratorRuntime.mark(function e(n, r) {
+                var a, o, i, l;
+                return regeneratorRuntime.wrap(
+                  function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          return (
+                            (e.prev = 0),
+                            (e.next = 3),
+                            Object(Zr.a)().get(null != t ? t : "")
+                          );
+                        case 3:
+                          return (
+                            (o = e.sent), (e.next = 6), Object(w.b)(o.meta)
+                          );
+                        case 6:
+                          (i = e.sent),
+                            (l =
+                              null !== (a = i.components.VariableQueryEditor) &&
+                              void 0 !== a
+                                ? a
+                                : aa),
+                            n(
+                              Object(an.b)({
+                                propName: "dataSource",
+                                propValue: o,
+                              })
+                            ),
+                            n(
+                              Object(an.b)({
+                                propName: "VariableQueryEditor",
+                                propValue: l,
+                              })
+                            ),
+                            (e.next = 15);
+                          break;
+                        case 12:
+                          (e.prev = 12),
+                            (e.t0 = e.catch(0)),
+                            console.error(e.t0);
+                        case 15:
+                        case "end":
+                          return e.stop();
+                      }
+                  },
+                  e,
+                  null,
+                  [[0, 12]]
+                );
+              })
+            );
+            return function (t, n) {
+              return e.apply(this, arguments);
+            };
+          })();
+        },
+        ca = n("AI1G");
+      function ua(e) {
+        return (ua =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function fa(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function da(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              fa(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              fa(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function pa(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function ha(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function ma(e, t) {
+        return !t || ("object" !== ua(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function ga(e) {
+        return (ga = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function ba(e, t) {
+        return (ba =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var va = (function (e) {
+          function t() {
+            var e, n;
+            pa(this, t);
+            for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+              a[o] = arguments[o];
+            return (
+              ((n = ma(
+                this,
+                (e = ga(t)).call.apply(e, [this].concat(a))
+              )).state = {
+                regex: null,
+                tagsQuery: null,
+                tagValuesQuery: null,
+              }),
+              (n.getSelectedDataSourceValue = function () {
+                var e, t, r;
+                if (
+                  !(null === (e = n.props.editor.extended) || void 0 === e
+                    ? void 0
+                    : e.dataSources.length)
+                )
+                  return "";
+                var a =
+                    null === (t = n.props.editor.extended) || void 0 === t
+                      ? void 0
+                      : t.dataSources.find(function (e) {
+                          return e.value === n.props.variable.datasource;
+                        }),
+                  o = a
+                    ? a.value
+                    : null === (r = n.props.editor.extended) || void 0 === r
+                    ? void 0
+                    : r.dataSources[0].value;
+                return null != o ? o : "";
+              }),
+              (n.onDataSourceChange = function (e) {
+                n.props.onPropChange({ propName: "query", propValue: "" }),
+                  n.props.onPropChange({
+                    propName: "datasource",
+                    propValue: e.target.value,
+                  });
+              }),
+              (n.onQueryChange = (function () {
+                var e = da(
+                  regeneratorRuntime.mark(function e(t, r) {
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            n.props.changeQueryVariableQuery(
+                              Object(Rt.g)(n.props.variable),
+                              t,
+                              r
+                            );
+                          case 1:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                );
+                return function (t, n) {
+                  return e.apply(this, arguments);
+                };
+              })()),
+              (n.onRegExChange = function (e) {
+                n.setState({ regex: e.target.value });
+              }),
+              (n.onRegExBlur = (function () {
+                var e = da(
+                  regeneratorRuntime.mark(function e(t) {
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            n.props.onPropChange({
+                              propName: "regex",
+                              propValue: t.target.value,
+                              updateOptions: !0,
+                            });
+                          case 1:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                );
+                return function (t) {
+                  return e.apply(this, arguments);
+                };
+              })()),
+              (n.onTagsQueryChange = (function () {
+                var e = da(
+                  regeneratorRuntime.mark(function e(t) {
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            n.setState({ tagsQuery: t.target.value });
+                          case 1:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                );
+                return function (t) {
+                  return e.apply(this, arguments);
+                };
+              })()),
+              (n.onTagsQueryBlur = (function () {
+                var e = da(
+                  regeneratorRuntime.mark(function e(t) {
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            n.props.onPropChange({
+                              propName: "tagsQuery",
+                              propValue: t.target.value,
+                              updateOptions: !0,
+                            });
+                          case 1:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                );
+                return function (t) {
+                  return e.apply(this, arguments);
+                };
+              })()),
+              (n.onTagValuesQueryChange = (function () {
+                var e = da(
+                  regeneratorRuntime.mark(function e(t) {
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            n.setState({ tagValuesQuery: t.target.value });
+                          case 1:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                );
+                return function (t) {
+                  return e.apply(this, arguments);
+                };
+              })()),
+              (n.onTagValuesQueryBlur = (function () {
+                var e = da(
+                  regeneratorRuntime.mark(function e(t) {
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            n.props.onPropChange({
+                              propName: "tagValuesQuery",
+                              propValue: t.target.value,
+                              updateOptions: !0,
+                            });
+                          case 1:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                );
+                return function (t) {
+                  return e.apply(this, arguments);
+                };
+              })()),
+              (n.onRefreshChange = function (e) {
+                n.props.onPropChange({
+                  propName: "refresh",
+                  propValue: parseInt(e.target.value, 10),
+                });
+              }),
+              (n.onSortChange = (function () {
+                var e = da(
+                  regeneratorRuntime.mark(function e(t) {
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            n.props.onPropChange({
+                              propName: "sort",
+                              propValue: parseInt(t.target.value, 10),
+                              updateOptions: !0,
+                            });
+                          case 1:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                );
+                return function (t) {
+                  return e.apply(this, arguments);
+                };
+              })()),
+              (n.onSelectionOptionsChange = (function () {
+                var e = da(
+                  regeneratorRuntime.mark(function e(t) {
+                    var r, a;
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            (r = t.propValue),
+                              (a = t.propName),
+                              n.props.onPropChange({
+                                propName: a,
+                                propValue: r,
+                                updateOptions: !0,
+                              });
+                          case 2:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                );
+                return function (t) {
+                  return e.apply(this, arguments);
+                };
+              })()),
+              (n.onUseTagsChange = (function () {
+                var e = da(
+                  regeneratorRuntime.mark(function e(t) {
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            n.props.onPropChange({
+                              propName: "useTags",
+                              propValue: t.target.checked,
+                              updateOptions: !0,
+                            });
+                          case 1:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                );
+                return function (t) {
+                  return e.apply(this, arguments);
+                };
+              })()),
+              n
+            );
+          }
+          var n, r, a, o;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && ba(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value:
+                  ((o = da(
+                    regeneratorRuntime.mark(function e() {
+                      return regeneratorRuntime.wrap(
+                        function (e) {
+                          for (;;)
+                            switch ((e.prev = e.next)) {
+                              case 0:
+                                return (
+                                  (e.next = 2),
+                                  this.props.initQueryVariableEditor(
+                                    Object(Rt.g)(this.props.variable)
+                                  )
+                                );
+                              case 2:
+                              case "end":
+                                return e.stop();
+                            }
+                        },
+                        e,
+                        this
+                      );
+                    })
+                  )),
+                  function () {
+                    return o.apply(this, arguments);
+                  }),
+              },
+              {
+                key: "componentDidUpdate",
+                value: function (e) {
+                  e.variable.datasource !== this.props.variable.datasource &&
+                    this.props.changeQueryVariableDataSource(
+                      Object(Rt.g)(this.props.variable),
+                      this.props.variable.datasource
+                    );
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e,
+                    t,
+                    n,
+                    r,
+                    a,
+                    o,
+                    i,
+                    l,
+                    s =
+                      null === (e = this.props.editor.extended) || void 0 === e
+                        ? void 0
+                        : e.VariableQueryEditor;
+                  return d.a.createElement(
+                    d.a.Fragment,
+                    null,
+                    d.a.createElement(
+                      "div",
+                      { className: "gf-form-group" },
+                      d.a.createElement(
+                        "h5",
+                        { className: "section-heading" },
+                        "Query Options"
+                      ),
+                      d.a.createElement(
+                        "div",
+                        { className: "gf-form-inline" },
+                        d.a.createElement(
+                          "div",
+                          { className: "gf-form max-width-21" },
+                          d.a.createElement(
+                            "span",
+                            { className: "gf-form-label width-10" },
+                            "Data source"
+                          ),
+                          d.a.createElement(
+                            "div",
+                            {
+                              className: "gf-form-select-wrapper max-width-14",
+                            },
+                            d.a.createElement(
+                              "select",
+                              {
+                                className: "gf-form-input",
+                                value: this.getSelectedDataSourceValue(),
+                                onChange: this.onDataSourceChange,
+                                required: !0,
+                                "aria-label":
+                                  W.a.pages.Dashboard.Settings.Variables.Edit
+                                    .QueryVariable.selectors
+                                    .queryOptionsDataSourceSelect,
+                              },
+                              (null === (t = this.props.editor.extended) ||
+                              void 0 === t
+                                ? void 0
+                                : t.dataSources.length) &&
+                                (null === (n = this.props.editor.extended) ||
+                                void 0 === n
+                                  ? void 0
+                                  : n.dataSources.map(function (e) {
+                                      var t, n;
+                                      return d.a.createElement(
+                                        "option",
+                                        {
+                                          key:
+                                            null !== (t = e.value) &&
+                                            void 0 !== t
+                                              ? t
+                                              : "",
+                                          value:
+                                            null !== (n = e.value) &&
+                                            void 0 !== n
+                                              ? n
+                                              : "",
+                                          label: e.name,
+                                        },
+                                        e.name
+                                      );
+                                    }))
+                            )
+                          )
+                        ),
+                        d.a.createElement(
+                          "div",
+                          { className: "gf-form max-width-22" },
+                          d.a.createElement(
+                            ee.FormLabel,
+                            {
+                              width: 10,
+                              tooltip:
+                                "When to update the values of this variable.",
+                            },
+                            "Refresh"
+                          ),
+                          d.a.createElement(
+                            "div",
+                            { className: "gf-form-select-wrapper width-15" },
+                            d.a.createElement(
+                              "select",
+                              {
+                                className: "gf-form-input",
+                                value: this.props.variable.refresh,
+                                onChange: this.onRefreshChange,
+                                "aria-label":
+                                  W.a.pages.Dashboard.Settings.Variables.Edit
+                                    .QueryVariable.selectors
+                                    .queryOptionsRefreshSelect,
+                              },
+                              d.a.createElement(
+                                "option",
+                                { label: "Never", value: It.b.never },
+                                "Never"
+                              ),
+                              d.a.createElement(
+                                "option",
+                                {
+                                  label: "On Dashboard Load",
+                                  value: It.b.onDashboardLoad,
+                                },
+                                "On Dashboard Load"
+                              ),
+                              d.a.createElement(
+                                "option",
+                                {
+                                  label: "On Time Range Change",
+                                  value: It.b.onTimeRangeChanged,
+                                },
+                                "On Time Range Change"
+                              )
+                            )
+                          )
+                        )
+                      ),
+                      s &&
+                        (null === (r = this.props.editor.extended) ||
+                        void 0 === r
+                          ? void 0
+                          : r.dataSource) &&
+                        d.a.createElement(s, {
+                          datasource:
+                            null === (a = this.props.editor.extended) ||
+                            void 0 === a
+                              ? void 0
+                              : a.dataSource,
+                          query: this.props.variable.query,
+                          templateSrv: Sn.b,
+                          onChange: this.onQueryChange,
+                        }),
+                      d.a.createElement(
+                        "div",
+                        { className: "gf-form" },
+                        d.a.createElement(
+                          ee.FormLabel,
+                          {
+                            width: 10,
+                            tooltip:
+                              "Optional, if you want to extract part of a series name or metric node segment.",
+                          },
+                          "Regex"
+                        ),
+                        d.a.createElement("input", {
+                          type: "text",
+                          className: "gf-form-input",
+                          placeholder: "/.*-(.*)-.*/",
+                          value:
+                            null !== (o = this.state.regex) && void 0 !== o
+                              ? o
+                              : this.props.variable.regex,
+                          onChange: this.onRegExChange,
+                          onBlur: this.onRegExBlur,
+                          "aria-label":
+                            W.a.pages.Dashboard.Settings.Variables.Edit
+                              .QueryVariable.selectors.queryOptionsRegExInput,
+                        })
+                      ),
+                      d.a.createElement(
+                        "div",
+                        { className: "gf-form max-width-21" },
+                        d.a.createElement(
+                          ee.FormLabel,
+                          {
+                            width: 10,
+                            tooltip: "How to sort the values of this variable.",
+                          },
+                          "Sort"
+                        ),
+                        d.a.createElement(
+                          "div",
+                          { className: "gf-form-select-wrapper max-width-14" },
+                          d.a.createElement(
+                            "select",
+                            {
+                              className: "gf-form-input",
+                              value: this.props.variable.sort,
+                              onChange: this.onSortChange,
+                              "aria-label":
+                                W.a.pages.Dashboard.Settings.Variables.Edit
+                                  .QueryVariable.selectors
+                                  .queryOptionsSortSelect,
+                            },
+                            d.a.createElement(
+                              "option",
+                              { label: "Disabled", value: It.c.disabled },
+                              "Disabled"
+                            ),
+                            d.a.createElement(
+                              "option",
+                              {
+                                label: "Alphabetical (asc)",
+                                value: It.c.alphabeticalAsc,
+                              },
+                              "Alphabetical (asc)"
+                            ),
+                            d.a.createElement(
+                              "option",
+                              {
+                                label: "Alphabetical (desc)",
+                                value: It.c.alphabeticalDesc,
+                              },
+                              "Alphabetical (desc)"
+                            ),
+                            d.a.createElement(
+                              "option",
+                              {
+                                label: "Numerical (asc)",
+                                value: It.c.numericalAsc,
+                              },
+                              "Numerical (asc)"
+                            ),
+                            d.a.createElement(
+                              "option",
+                              {
+                                label: "Numerical (desc)",
+                                value: It.c.numericalDesc,
+                              },
+                              "Numerical (desc)"
+                            ),
+                            d.a.createElement(
+                              "option",
+                              {
+                                label: "Alphabetical (case-insensitive, asc)",
+                                value: It.c.alphabeticalCaseInsensitiveAsc,
+                              },
+                              "Alphabetical (case-insensitive, asc)"
+                            ),
+                            d.a.createElement(
+                              "option",
+                              {
+                                label: "Alphabetical (case-insensitive, desc)",
+                                value: It.c.alphabeticalCaseInsensitiveDesc,
+                              },
+                              "Alphabetical (case-insensitive, desc)"
+                            )
+                          )
+                        )
+                      )
+                    ),
+                    d.a.createElement(Jr, {
+                      variable: this.props.variable,
+                      onPropChange: this.onSelectionOptionsChange,
+                    }),
+                    d.a.createElement(
+                      "div",
+                      { className: "gf-form-group" },
+                      d.a.createElement(
+                        "h5",
+                        null,
+                        "Value groups/tags (Experimental feature)"
+                      ),
+                      d.a.createElement(
+                        "div",
+                        {
+                          "aria-label":
+                            W.a.pages.Dashboard.Settings.Variables.Edit
+                              .QueryVariable.selectors
+                              .valueGroupsTagsEnabledSwitch,
+                        },
+                        d.a.createElement(ee.Switch, {
+                          label: "Enabled",
+                          "label-class": "width-10",
+                          checked: this.props.variable.useTags,
+                          onChange: this.onUseTagsChange,
+                        })
+                      ),
+                      this.props.variable.useTags &&
+                        d.a.createElement(
+                          d.a.Fragment,
+                          null,
+                          d.a.createElement(
+                            "div",
+                            { className: "gf-form last" },
+                            d.a.createElement(
+                              "span",
+                              { className: "gf-form-label width-10" },
+                              "Tags query"
+                            ),
+                            d.a.createElement("input", {
+                              type: "text",
+                              className: "gf-form-input",
+                              value:
+                                null !== (i = this.state.tagsQuery) &&
+                                void 0 !== i
+                                  ? i
+                                  : this.props.variable.tagsQuery,
+                              placeholder: "metric name or tags query",
+                              onChange: this.onTagsQueryChange,
+                              onBlur: this.onTagsQueryBlur,
+                              "aria-label":
+                                W.a.pages.Dashboard.Settings.Variables.Edit
+                                  .QueryVariable.selectors
+                                  .valueGroupsTagsTagsQueryInput,
+                            })
+                          ),
+                          d.a.createElement(
+                            "div",
+                            { className: "gf-form" },
+                            d.a.createElement(
+                              "li",
+                              { className: "gf-form-label width-10" },
+                              "Tag values query"
+                            ),
+                            d.a.createElement("input", {
+                              type: "text",
+                              className: "gf-form-input",
+                              value:
+                                null !== (l = this.state.tagValuesQuery) &&
+                                void 0 !== l
+                                  ? l
+                                  : this.props.variable.tagValuesQuery,
+                              placeholder: "apps.$tag.*",
+                              onChange: this.onTagValuesQueryChange,
+                              onBlur: this.onTagValuesQueryBlur,
+                              "aria-label":
+                                W.a.pages.Dashboard.Settings.Variables.Edit
+                                  .QueryVariable.selectors
+                                  .valueGroupsTagsTagsValuesQueryInput,
+                            })
+                          )
+                        )
+                    )
+                  );
+                },
+              },
+            ]) && ha(n.prototype, r),
+            a && ha(n, a),
+            t
+          );
+        })(f.PureComponent),
+        ya = {
+          initQueryVariableEditor: function (e) {
+            return (function () {
+              var t = ia(
+                regeneratorRuntime.mark(function t(n, r) {
+                  var a, o, i;
+                  return regeneratorRuntime.wrap(function (t) {
+                    for (;;)
+                      switch ((t.prev = t.next)) {
+                        case 0:
+                          if (
+                            ((a = Object(Zr.a)()
+                              .getMetricSources()
+                              .filter(function (e) {
+                                return !e.meta.mixed && null !== e.value;
+                              })),
+                            (o = [
+                              { name: "", value: "", meta: {}, sort: "" },
+                            ].concat(a)),
+                            n(
+                              Object(an.b)({
+                                propName: "dataSources",
+                                propValue: o,
+                              })
+                            ),
+                            (i = Object(yr.a)(e.uuid, r())).datasource)
+                          ) {
+                            t.next = 7;
+                            break;
+                          }
+                          return t.abrupt("return");
+                        case 7:
+                          n(sa(Object(Rt.g)(i), i.datasource));
+                        case 8:
+                        case "end":
+                          return t.stop();
+                      }
+                  }, t);
+                })
+              );
+              return function (e, n) {
+                return t.apply(this, arguments);
+              };
+            })();
+          },
+          changeQueryVariableDataSource: sa,
+          changeQueryVariableQuery: function (e, t, n) {
+            return (function () {
+              var r = ia(
+                regeneratorRuntime.mark(function r(a, o) {
+                  var i, l;
+                  return regeneratorRuntime.wrap(function (r) {
+                    for (;;)
+                      switch ((r.prev = r.next)) {
+                        case 0:
+                          if (
+                            ((i = Object(yr.a)(e.uuid, o())),
+                            "string" != typeof t ||
+                              !t.match(new RegExp("\\$" + i.name + "(/| |$)")))
+                          ) {
+                            r.next = 5;
+                            break;
+                          }
+                          return (
+                            (l =
+                              "Query cannot contain a reference to itself. Variable: $" +
+                              i.name),
+                            a(
+                              Object(an.a)({ errorProp: "query", errorText: l })
+                            ),
+                            r.abrupt("return")
+                          );
+                        case 5:
+                          return (
+                            a(Object(an.f)({ errorProp: "query" })),
+                            a(
+                              Object(wr.d)(
+                                Object(Rt.h)(e, {
+                                  propName: "query",
+                                  propValue: t,
+                                })
+                              )
+                            ),
+                            a(
+                              Object(wr.d)(
+                                Object(Rt.h)(e, {
+                                  propName: "definition",
+                                  propValue: n,
+                                })
+                              )
+                            ),
+                            (r.next = 10),
+                            zn.a.get(e.type).updateOptions(i)
+                          );
+                        case 10:
+                        case "end":
+                          return r.stop();
+                      }
+                  }, r);
+                })
+              );
+              return function (e, t) {
+                return r.apply(this, arguments);
+              };
+            })();
+          },
+        },
+        wa = Object(ca.b)(
+          va,
+          function (e, t) {
+            return { editor: e.templating.editor };
+          },
+          ya
+        );
+      function Oa(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function xa(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function ka(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function ja(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function Sa(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              ja(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              ja(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      var Ea = {
+          uuid: Rt.c,
+          global: !1,
+          multi: !1,
+          includeAll: !1,
+          allValue: null,
+          query: "",
+          options: [],
+          current: {},
+          name: "",
+          type: "custom",
+          label: null,
+          hide: It.a.dontHide,
+          skipUrlSync: !1,
+          index: -1,
+          initLock: null,
+        },
+        Ca = Object(Ie.c)({
+          name: "templating/custom",
+          initialState: on.a,
+          reducers: {
+            createCustomOptionsFromQuery: function (e, t) {
+              var n,
+                r = Object(Rt.f)(e, t.payload.uuid),
+                a = r.includeAll,
+                o = (null !== (n = r.query.match(/(?:\\,|[^,])+/g)) &&
+                void 0 !== n
+                  ? n
+                  : []
+                ).map(function (e) {
+                  return {
+                    text: (e = e.replace(/\\,/g, ",")).trim(),
+                    value: e.trim(),
+                    selected: !1,
+                  };
+                });
+              a && o.unshift({ text: Rt.a, value: Rt.b, selected: !1 }),
+                (r.options = o);
+            },
+          },
+        }),
+        Pa = Ca.reducer,
+        Ta = Ca.actions.createCustomOptionsFromQuery;
+      function Da(e) {
+        return (Da =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Aa(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function _a(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              Aa(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              Aa(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function Na(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Ma(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Ia(e, t) {
+        return !t || ("object" !== Da(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Ra(e) {
+        return (Ra = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Fa(e, t) {
+        return (Fa =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var La = (function (e) {
+        function t() {
+          var e, n;
+          Na(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = Ia(
+              this,
+              (e = Ra(t)).call.apply(e, [this].concat(a))
+            )).onChange = function (e) {
+              n.props.onPropChange({
+                propName: "query",
+                propValue: e.target.value,
+              });
+            }),
+            (n.onSelectionOptionsChange = (function () {
+              var e = _a(
+                regeneratorRuntime.mark(function e(t) {
+                  var r, a;
+                  return regeneratorRuntime.wrap(function (e) {
+                    for (;;)
+                      switch ((e.prev = e.next)) {
+                        case 0:
+                          (r = t.propName),
+                            (a = t.propValue),
+                            n.props.onPropChange({
+                              propName: r,
+                              propValue: a,
+                              updateOptions: !0,
+                            });
+                        case 2:
+                        case "end":
+                          return e.stop();
+                      }
+                  }, e);
+                })
+              );
+              return function (t) {
+                return e.apply(this, arguments);
+              };
+            })()),
+            (n.onBlur = function (e) {
+              n.props.onPropChange({
+                propName: "query",
+                propValue: e.target.value,
+                updateOptions: !0,
+              });
+            }),
+            n
+          );
+        }
+        var n, r, a;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && Fa(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                return d.a.createElement(
+                  d.a.Fragment,
+                  null,
+                  d.a.createElement(
+                    "div",
+                    { className: "gf-form-group" },
+                    d.a.createElement(
+                      "h5",
+                      { className: "section-heading" },
+                      "Custom Options"
+                    ),
+                    d.a.createElement(
+                      "div",
+                      { className: "gf-form" },
+                      d.a.createElement(
+                        "span",
+                        { className: "gf-form-label width-14" },
+                        "Values separated by comma"
+                      ),
+                      d.a.createElement("input", {
+                        type: "text",
+                        className: "gf-form-input",
+                        value: this.props.variable.query,
+                        onChange: this.onChange,
+                        onBlur: this.onBlur,
+                        placeholder: "1, 10, 20, myvalue, escaped\\,value",
+                        required: !0,
+                        "aria-label": "Variable editor Form Custom Query field",
+                      })
+                    )
+                  ),
+                  d.a.createElement(Jr, {
+                    variable: this.props.variable,
+                    onPropChange: this.onSelectionOptionsChange,
+                  })
+                );
+              },
+            },
+          ]) && Ma(n.prototype, r),
+          a && Ma(n, a),
+          t
+        );
+      })(f.PureComponent);
+      function Va(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      var Ba = function (e) {
+        return (function () {
+          var t,
+            n =
+              ((t = regeneratorRuntime.mark(function t(n) {
+                return regeneratorRuntime.wrap(function (t) {
+                  for (;;)
+                    switch ((t.prev = t.next)) {
+                      case 0:
+                        return (t.next = 2), n(Ta(Object(Rt.h)(e)));
+                      case 2:
+                        return (t.next = 4), n(Object(er.e)(e));
+                      case 4:
+                      case "end":
+                        return t.stop();
+                    }
+                }, t);
+              })),
+              function () {
+                var e = this,
+                  n = arguments;
+                return new Promise(function (r, a) {
+                  var o = t.apply(e, n);
+                  function i(e) {
+                    Va(o, r, a, i, l, "next", e);
+                  }
+                  function l(e) {
+                    Va(o, r, a, i, l, "throw", e);
+                  }
+                  i(void 0);
+                });
+              });
+          return function (e) {
+            return n.apply(this, arguments);
+          };
+        })();
+      };
+      function $a(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function qa(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function Ua(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              qa(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              qa(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      var za = {
+          uuid: Rt.c,
+          global: !1,
+          index: -1,
+          type: "textbox",
+          name: "",
+          label: "",
+          hide: It.a.dontHide,
+          query: "",
+          current: {},
+          options: [],
+          skipUrlSync: !1,
+          initLock: null,
+        },
+        Ha = Object(Ie.c)({
+          name: "templating/textbox",
+          initialState: on.a,
+          reducers: {
+            createTextBoxOptions: function (e, t) {
+              var n = Object(Rt.f)(e, t.payload.uuid);
+              (n.options = [
+                { text: n.query.trim(), value: n.query.trim(), selected: !1 },
+              ]),
+                (n.current = n.options[0]);
+            },
+          },
+        }),
+        Ga = Ha.reducer,
+        Wa = Ha.actions.createTextBoxOptions;
+      function Qa(e) {
+        return (Qa =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Ya(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function Ka(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Ja(e, t) {
+        return !t || ("object" !== Qa(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function Za(e) {
+        return (Za = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function Xa(e, t) {
+        return (Xa =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var eo = (function (e) {
+        function t() {
+          var e, n;
+          Ya(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = Ja(
+              this,
+              (e = Za(t)).call.apply(e, [this].concat(a))
+            )).onQueryChange = function (e) {
+              Object(Le.a)(
+                Object(wr.d)(
+                  Object(Rt.h)(n.props.variable, {
+                    propName: "query",
+                    propValue: e.target.value,
+                  })
+                )
+              );
+            }),
+            (n.onQueryBlur = function (e) {
+              n.props.variable.current.value !== n.props.variable.query &&
+                zn.a.get(n.props.variable.type).updateOptions(n.props.variable);
+            }),
+            (n.onQueryKeyDown = function (e) {
+              13 === e.keyCode &&
+                n.props.variable.current.value !== n.props.variable.query &&
+                zn.a.get(n.props.variable.type).updateOptions(n.props.variable);
+            }),
+            n
+          );
+        }
+        var n, r, a;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && Xa(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                return d.a.createElement("input", {
+                  type: "text",
+                  value: this.props.variable.query,
+                  className: "gf-form-input width-12",
+                  onChange: this.onQueryChange,
+                  onBlur: this.onQueryBlur,
+                  onKeyDown: this.onQueryKeyDown,
+                });
+              },
+            },
+          ]) && Ka(n.prototype, r),
+          a && Ka(n, a),
+          t
+        );
+      })(f.PureComponent);
+      function to(e) {
+        return (to =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function no(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function ro(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function ao(e, t) {
+        return !t || ("object" !== to(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function oo(e) {
+        return (oo = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function io(e, t) {
+        return (io =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var lo = (function (e) {
+        function t() {
+          var e, n;
+          no(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = ao(
+              this,
+              (e = oo(t)).call.apply(e, [this].concat(a))
+            )).onQueryChange = function (e) {
+              e.preventDefault(),
+                n.props.onPropChange({
+                  propName: "query",
+                  propValue: e.target.value,
+                  updateOptions: !1,
+                });
+            }),
+            (n.onQueryBlur = function (e) {
+              e.preventDefault(),
+                n.props.onPropChange({
+                  propName: "query",
+                  propValue: e.target.value,
+                  updateOptions: !0,
+                });
+            }),
+            n
+          );
+        }
+        var n, r, a;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && io(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                var e = this.props.variable.query;
+                return d.a.createElement(
+                  "div",
+                  { className: "gf-form-group" },
+                  d.a.createElement(
+                    "h5",
+                    { className: "section-heading" },
+                    "Text options"
+                  ),
+                  d.a.createElement(
+                    "div",
+                    { className: "gf-form" },
+                    d.a.createElement(
+                      "span",
+                      { className: "gf-form-label" },
+                      "Default value"
+                    ),
+                    d.a.createElement("input", {
+                      type: "text",
+                      className: "gf-form-input",
+                      value: e,
+                      onChange: this.onQueryChange,
+                      onBlur: this.onQueryBlur,
+                      placeholder: "default value, if any",
+                    })
+                  )
+                );
+              },
+            },
+          ]) && ro(n.prototype, r),
+          a && ro(n, a),
+          t
+        );
+      })(f.PureComponent);
+      function so(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      var co = function (e) {
+        return (function () {
+          var t,
+            n =
+              ((t = regeneratorRuntime.mark(function t(n, r) {
+                var a;
+                return regeneratorRuntime.wrap(function (t) {
+                  for (;;)
+                    switch ((t.prev = t.next)) {
+                      case 0:
+                        return (t.next = 2), n(Wa(Object(Rt.h)(e)));
+                      case 2:
+                        return (
+                          (a = Object(yr.a)(e.uuid, r())),
+                          (t.next = 5),
+                          zn.a.get(e.type).setValue(a, a.options[0], !0)
+                        );
+                      case 5:
+                      case "end":
+                        return t.stop();
+                    }
+                }, t);
+              })),
+              function () {
+                var e = this,
+                  n = arguments;
+                return new Promise(function (r, a) {
+                  var o = t.apply(e, n);
+                  function i(e) {
+                    so(o, r, a, i, l, "next", e);
+                  }
+                  function l(e) {
+                    so(o, r, a, i, l, "throw", e);
+                  }
+                  i(void 0);
+                });
+              });
+          return function (e, t) {
+            return n.apply(this, arguments);
+          };
+        })();
+      };
+      function uo(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function fo(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function po(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              fo(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              fo(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      var ho = {
+          uuid: Rt.c,
+          global: !1,
+          type: "constant",
+          name: "",
+          hide: It.a.hideVariable,
+          label: "",
+          query: "",
+          current: {},
+          options: [],
+          skipUrlSync: !1,
+          index: -1,
+          initLock: null,
+        },
+        mo = Object(Ie.c)({
+          name: "templating/constant",
+          initialState: on.a,
+          reducers: {
+            createConstantOptionsFromQuery: function (e, t) {
+              var n = Object(Rt.f)(e, t.payload.uuid);
+              n.options = [
+                { text: n.query.trim(), value: n.query.trim(), selected: !1 },
+              ];
+            },
+          },
+        }),
+        go = mo.reducer,
+        bo = mo.actions.createConstantOptionsFromQuery;
+      function vo(e) {
+        return (vo =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function yo(e, t) {
+        if (!(e instanceof t))
+          throw new TypeError("Cannot call a class as a function");
+      }
+      function wo(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function Oo(e, t) {
+        return !t || ("object" !== vo(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function xo(e) {
+        return (xo = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function ko(e, t) {
+        return (ko =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var jo = (function (e) {
+        function t() {
+          var e, n;
+          yo(this, t);
+          for (var r = arguments.length, a = new Array(r), o = 0; o < r; o++)
+            a[o] = arguments[o];
+          return (
+            ((n = Oo(
+              this,
+              (e = xo(t)).call.apply(e, [this].concat(a))
+            )).onChange = function (e) {
+              n.props.onPropChange({
+                propName: "query",
+                propValue: e.target.value,
+              });
+            }),
+            (n.onBlur = function (e) {
+              n.props.onPropChange({
+                propName: "query",
+                propValue: e.target.value,
+                updateOptions: !0,
+              });
+            }),
+            n
+          );
+        }
+        var n, r, a;
+        return (
+          (function (e, t) {
+            if ("function" != typeof t && null !== t)
+              throw new TypeError(
+                "Super expression must either be null or a function"
+              );
+            (e.prototype = Object.create(t && t.prototype, {
+              constructor: { value: e, writable: !0, configurable: !0 },
+            })),
+              t && ko(e, t);
+          })(t, e),
+          (n = t),
+          (r = [
+            {
+              key: "render",
+              value: function () {
+                return d.a.createElement(
+                  d.a.Fragment,
+                  null,
+                  d.a.createElement(
+                    "div",
+                    { className: "gf-form-group" },
+                    d.a.createElement(
+                      "h5",
+                      { className: "section-heading" },
+                      "Constant options"
+                    ),
+                    d.a.createElement(
+                      "div",
+                      { className: "gf-form" },
+                      d.a.createElement(
+                        "span",
+                        { className: "gf-form-label" },
+                        "Value"
+                      ),
+                      d.a.createElement("input", {
+                        type: "text",
+                        className: "gf-form-input",
+                        value: this.props.variable.query,
+                        onChange: this.onChange,
+                        onBlur: this.onBlur,
+                        placeholder: "your metric prefix",
+                        "aria-label":
+                          W.a.pages.Dashboard.Settings.Variables.Edit
+                            .ConstantVariable.selectors
+                            .constantOptionsQueryInput,
+                      })
+                    )
+                  )
+                );
+              },
+            },
+          ]) && wo(n.prototype, r),
+          a && wo(n, a),
+          t
+        );
+      })(f.PureComponent);
+      function So(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      var Eo = function (e) {
+        return (function () {
+          var t,
+            n =
+              ((t = regeneratorRuntime.mark(function t(n) {
+                return regeneratorRuntime.wrap(function (t) {
+                  for (;;)
+                    switch ((t.prev = t.next)) {
+                      case 0:
+                        return (t.next = 2), n(bo(Object(Rt.h)(e)));
+                      case 2:
+                        return (t.next = 4), n(Object(er.e)(e));
+                      case 4:
+                      case "end":
+                        return t.stop();
+                    }
+                }, t);
+              })),
+              function () {
+                var e = this,
+                  n = arguments;
+                return new Promise(function (r, a) {
+                  var o = t.apply(e, n);
+                  function i(e) {
+                    So(o, r, a, i, l, "next", e);
+                  }
+                  function l(e) {
+                    So(o, r, a, i, l, "throw", e);
+                  }
+                  i(void 0);
+                });
+              });
+          return function (e) {
+            return n.apply(this, arguments);
+          };
+        })();
+      };
+      function Co(e, t) {
+        if (null == e) return {};
+        var n,
+          r,
+          a = (function (e, t) {
+            if (null == e) return {};
+            var n,
+              r,
+              a = {},
+              o = Object.keys(e);
+            for (r = 0; r < o.length; r++)
+              (n = o[r]), t.indexOf(n) >= 0 || (a[n] = e[n]);
+            return a;
+          })(e, t);
+        if (Object.getOwnPropertySymbols) {
+          var o = Object.getOwnPropertySymbols(e);
+          for (r = 0; r < o.length; r++)
+            (n = o[r]),
+              t.indexOf(n) >= 0 ||
+                (Object.prototype.propertyIsEnumerable.call(e, n) &&
+                  (a[n] = e[n]));
+        }
+        return a;
+      }
+      function Po(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function To(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              Po(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              Po(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      var Do, Ao, _o;
+      O.c.factory("templateSrv", function () {
+        return Sn.b;
+      }),
+        zn.a.set("query", {
+          description: "Variable values are fetched from a datasource query",
+          label: "Query",
+          initialState: Wn,
+          reducer: Kn,
+          picker: Kr,
+          editor: wa,
+          dependsOn: function (e, t) {
+            return Object(It.f)(e.query, e.datasource, e.regex, t.name);
+          },
+          setValue:
+            ((_o = Sa(
+              regeneratorRuntime.mark(function e(t, n) {
+                var r,
+                  a = arguments;
+                return regeneratorRuntime.wrap(function (e) {
+                  for (;;)
+                    switch ((e.prev = e.next)) {
+                      case 0:
+                        return (
+                          (r = a.length > 2 && void 0 !== a[2] && a[2]),
+                          (e.next = 3),
+                          Object(Le.a)(Object(er.c)(Object(Rt.g)(t), n, r))
+                        );
+                      case 3:
+                      case "end":
+                        return e.stop();
+                    }
+                }, e);
+              })
+            )),
+            function (e, t) {
+              return _o.apply(this, arguments);
+            }),
+          setValueFromUrl:
+            ((Ao = Sa(
+              regeneratorRuntime.mark(function e(t, n) {
+                return regeneratorRuntime.wrap(function (e) {
+                  for (;;)
+                    switch ((e.prev = e.next)) {
+                      case 0:
+                        return (
+                          (e.next = 2),
+                          Object(Le.a)(Object(er.d)(Object(Rt.g)(t), n))
+                        );
+                      case 2:
+                      case "end":
+                        return e.stop();
+                    }
+                }, e);
+              })
+            )),
+            function (e, t) {
+              return Ao.apply(this, arguments);
+            }),
+          updateOptions:
+            ((Do = Sa(
+              regeneratorRuntime.mark(function e(t, n) {
+                return regeneratorRuntime.wrap(function (e) {
+                  for (;;)
+                    switch ((e.prev = e.next)) {
+                      case 0:
+                        return (
+                          (e.next = 2), Object(Le.a)(la(Object(Rt.g)(t), n))
+                        );
+                      case 2:
+                      case "end":
+                        return e.stop();
+                    }
+                }, e);
+              })
+            )),
+            function (e, t) {
+              return Do.apply(this, arguments);
+            }),
+          getSaveModel: function (e) {
+            var t = Gn()(e),
+              n =
+                (t.index,
+                t.uuid,
+                t.initLock,
+                t.global,
+                t.queryValue,
+                ka(t, ["index", "uuid", "initLock", "global", "queryValue"]));
+            return e.refresh !== It.b.never
+              ? (function (e) {
+                  for (var t = 1; t < arguments.length; t++) {
+                    var n = null != arguments[t] ? arguments[t] : {};
+                    t % 2
+                      ? Oa(Object(n), !0).forEach(function (t) {
+                          xa(e, t, n[t]);
+                        })
+                      : Object.getOwnPropertyDescriptors
+                      ? Object.defineProperties(
+                          e,
+                          Object.getOwnPropertyDescriptors(n)
+                        )
+                      : Oa(Object(n)).forEach(function (t) {
+                          Object.defineProperty(
+                            e,
+                            t,
+                            Object.getOwnPropertyDescriptor(n, t)
+                          );
+                        });
+                  }
+                  return e;
+                })({}, n, { options: [] })
+              : n;
+          },
+          getValueForUrl: function (e) {
+            return e.current.text === Rt.a ? Rt.a : e.current.value;
+          },
+        }),
+        zn.a.set(
+          "custom",
+          (function () {
+            return {
+              description: "Define variable values manually",
+              label: "Custom",
+              initialState: Ea,
+              reducer: Pa,
+              picker: Kr,
+              editor: La,
+              dependsOn: function () {
+                return !1;
+              },
+              setValue:
+                ((n = Ua(
+                  regeneratorRuntime.mark(function e(t, n) {
+                    var r,
+                      a = arguments;
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            return (
+                              (r = a.length > 2 && void 0 !== a[2] && a[2]),
+                              (e.next = 3),
+                              Object(Le.a)(Object(er.c)(Object(Rt.g)(t), n, r))
+                            );
+                          case 3:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                )),
+                function (e, t) {
+                  return n.apply(this, arguments);
+                }),
+              setValueFromUrl:
+                ((t = Ua(
+                  regeneratorRuntime.mark(function e(t, n) {
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            return (
+                              (e.next = 2),
+                              Object(Le.a)(Object(er.d)(Object(Rt.g)(t), n))
+                            );
+                          case 2:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                )),
+                function (e, n) {
+                  return t.apply(this, arguments);
+                }),
+              updateOptions:
+                ((e = Ua(
+                  regeneratorRuntime.mark(function e(t) {
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            return (
+                              (e.next = 2), Object(Le.a)(Ba(Object(Rt.g)(t)))
+                            );
+                          case 2:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                )),
+                function (t) {
+                  return e.apply(this, arguments);
+                }),
+              getSaveModel: function (e) {
+                var t = Gn()(e);
+                t.index, t.uuid, t.initLock, t.global;
+                return $a(t, ["index", "uuid", "initLock", "global"]);
+              },
+              getValueForUrl: function (e) {
+                return e.current.text === Rt.a ? Rt.a : e.current.value;
+              },
+            };
+            var e, t, n;
+          })()
+        ),
+        zn.a.set(
+          "textbox",
+          (function () {
+            return {
+              description:
+                "Define a textbox variable, where users can enter any arbitrary string",
+              label: "Text box",
+              initialState: za,
+              reducer: Ga,
+              picker: eo,
+              editor: lo,
+              dependsOn: function (e, t) {
+                return !1;
+              },
+              setValue:
+                ((n = po(
+                  regeneratorRuntime.mark(function e(t, n) {
+                    var r,
+                      a = arguments;
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            return (
+                              (r = a.length > 2 && void 0 !== a[2] && a[2]),
+                              (e.next = 3),
+                              Object(Le.a)(Object(er.c)(Object(Rt.g)(t), n, r))
+                            );
+                          case 3:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                )),
+                function (e, t) {
+                  return n.apply(this, arguments);
+                }),
+              setValueFromUrl:
+                ((t = po(
+                  regeneratorRuntime.mark(function e(t, n) {
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            return (
+                              (e.next = 2),
+                              Object(Le.a)(Object(er.d)(Object(Rt.g)(t), n))
+                            );
+                          case 2:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                )),
+                function (e, n) {
+                  return t.apply(this, arguments);
+                }),
+              updateOptions:
+                ((e = po(
+                  regeneratorRuntime.mark(function e(t) {
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            return (
+                              (e.next = 2), Object(Le.a)(co(Object(Rt.g)(t)))
+                            );
+                          case 2:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                )),
+                function (t) {
+                  return e.apply(this, arguments);
+                }),
+              getSaveModel: function (e) {
+                var t = Gn()(e);
+                t.index, t.uuid, t.initLock, t.global;
+                return uo(t, ["index", "uuid", "initLock", "global"]);
+              },
+              getValueForUrl: function (e) {
+                return e.current.value;
+              },
+            };
+            var e, t, n;
+          })()
+        ),
+        zn.a.set(
+          "constant",
+          (function () {
+            return {
+              description:
+                "Define a hidden constant variable, useful for metric prefixes in dashboards you want to share",
+              label: "Constant",
+              initialState: ho,
+              reducer: go,
+              picker: Kr,
+              editor: jo,
+              dependsOn: function () {
+                return !1;
+              },
+              setValue:
+                ((n = To(
+                  regeneratorRuntime.mark(function e(t, n) {
+                    var r,
+                      a = arguments;
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            return (
+                              (r = a.length > 2 && void 0 !== a[2] && a[2]),
+                              (e.next = 3),
+                              Object(Le.a)(Object(er.c)(Object(Rt.g)(t), n, r))
+                            );
+                          case 3:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                )),
+                function (e, t) {
+                  return n.apply(this, arguments);
+                }),
+              setValueFromUrl:
+                ((t = To(
+                  regeneratorRuntime.mark(function e(t, n) {
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            return (
+                              (e.next = 2),
+                              Object(Le.a)(Object(er.d)(Object(Rt.g)(t), n))
+                            );
+                          case 2:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                )),
+                function (e, n) {
+                  return t.apply(this, arguments);
+                }),
+              updateOptions:
+                ((e = To(
+                  regeneratorRuntime.mark(function e(t) {
+                    return regeneratorRuntime.wrap(function (e) {
+                      for (;;)
+                        switch ((e.prev = e.next)) {
+                          case 0:
+                            return (
+                              (e.next = 2), Object(Le.a)(Eo(Object(Rt.g)(t)))
+                            );
+                          case 2:
+                          case "end":
+                            return e.stop();
+                        }
+                    }, e);
+                  })
+                )),
+                function (t) {
+                  return e.apply(this, arguments);
+                }),
+              getSaveModel: function (e) {
+                var t = Gn()(e);
+                t.index, t.uuid, t.initLock, t.global;
+                return Co(t, ["index", "uuid", "initLock", "global"]);
+              },
+              getValueForUrl: function (e) {
+                return e.current.value;
+              },
+            };
+            var e, t, n;
+          })()
+        );
+      var No = n("okuo");
+      function Mo(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var Io = (function () {
+        function e(t, n, r) {
+          var a = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$routeParams = t),
+            (this.$rootScope = n),
+            (this.navModelSrv = r),
+            (this.pluginId = t.pluginId),
+            Object(D.a)(n)(
+              Promise.resolve(Object(No.a)(this.pluginId))
+                .then(function (e) {
+                  a.initPage(e);
+                })
+                .catch(function (e) {
+                  a.$rootScope.appEvent(g.AppEvents.alertError, [
+                    "Unknown Plugin",
+                  ]),
+                    (a.navModel = a.navModelSrv.getNotFoundNav());
+                })
+            );
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$routeParams", "$rootScope", "navModelSrv"]),
+          (t = e),
+          (n = [
+            {
+              key: "initPage",
+              value: function (e) {
+                if (
+                  ((this.appModel = e),
+                  (this.page = i.a.find(e.includes, {
+                    slug: this.$routeParams.slug,
+                  })),
+                  !this.page)
+                )
+                  return (
+                    this.$rootScope.appEvent(g.AppEvents.alertError, [
+                      "App Page Not Found",
+                    ]),
+                    void (this.navModel = this.navModelSrv.getNotFoundNav())
+                  );
+                if ("app" !== e.type || !e.enabled)
+                  return (
+                    this.$rootScope.appEvent(g.AppEvents.alertError, [
+                      "Application Not Enabled",
+                    ]),
+                    void (this.navModel = this.navModelSrv.getNotFoundNav())
+                  );
+                var t = this.navModelSrv.getNav("plugin-page-" + e.id);
+                this.navModel = {
+                  main: {
+                    img: e.info.logos.large,
+                    subTitle: e.name,
+                    url: "",
+                    text: this.page.name,
+                    breadcrumbs: [{ title: e.name, url: t.main.url }],
+                  },
+                };
+              },
+            },
+          ]) && Mo(t.prototype, n),
+          r && Mo(t, r),
+          e
+        );
+      })();
+      function Ro(e, t, n, r, a, o, l) {
+        function s(e, t) {
+          if (e) return 0 === e.indexOf("public") ? e : t + "/" + e;
+        }
+        function c(e, t) {
+          var n = {
+              name: "panel-plugin-" + e.panel.type,
+              bindings: { dashboard: "=", panel: "=", row: "=" },
+              attrs: {
+                dashboard: "dashboard",
+                panel: "panel",
+                class: "panel-height-helper",
+              },
+            },
+            o = m.b.panels[e.panel.type];
+          return Object(w.c)(o.id).then(function (e) {
+            var t = e.angularPanelCtrl;
+            return (
+              (n.Component = t),
+              !t || t.registered
+                ? n
+                : t.templatePromise
+                ? t.templatePromise.then(function (e) {
+                    return n;
+                  })
+                : (o && (t.templateUrl = s(t.templateUrl, o.baseUrl)),
+                  (t.templatePromise = (function (e) {
+                    if (e.template) return Promise.resolve(e.template);
+                    var t = a.get(e.templateUrl);
+                    return t
+                      ? Promise.resolve(t)
+                      : r.get(e.templateUrl).then(function (e) {
+                          return e.data;
+                        });
+                  })(t).then(function (e) {
+                    return (
+                      (t.templateUrl = null),
+                      (t.template = '<grafana-panel ctrl="ctrl" class="panel-height-helper">'.concat(
+                        e,
+                        "</grafana-panel>"
+                      )),
+                      n
+                    );
+                  })),
+                  t.templatePromise)
+            );
+          });
+        }
+        function f(t, n, r, a) {
+          if (a.notFound) n.empty();
+          else {
+            if (!a.Component)
+              throw {
+                message:
+                  "Failed to find exported plugin component for " + a.name,
+              };
+            if (!a.Component.registered) {
+              var o = r.$normalize(a.name),
+                l =
+                  (((c = a).Component.templateUrl = s(
+                    c.Component.templateUrl,
+                    c.baseUrl
+                  )),
+                  function () {
+                    return {
+                      templateUrl: c.Component.templateUrl,
+                      template: c.Component.template,
+                      restrict: "E",
+                      controller: c.Component,
+                      controllerAs: "ctrl",
+                      bindToController: !0,
+                      scope: c.bindings,
+                      link: function (e, t, n, r) {
+                        r.link && r.link(e, t, n, r), r.init && r.init();
+                      },
+                    };
+                  });
+              O.c.directive(o, l), (a.Component.registered = !0);
+            }
+            var c;
+            !(function (t, n, r) {
+              var a = u.a.element(document.createElement(r.name));
+              i.a.each(r.attrs, function (e, t) {
+                a.attr(t, e);
+              }),
+                e(a)(t),
+                n.empty(),
+                setTimeout(function () {
+                  t.$applyAsync(function () {
+                    n.append(a),
+                      setTimeout(function () {
+                        t.$applyAsync(function () {
+                          t.$broadcast("component-did-mount");
+                        });
+                      });
+                  });
+                });
+            })(t, n, a);
+          }
+        }
+        return {
+          restrict: "E",
+          link: function (e, t, n) {
+            (function (e, t) {
+              switch (t.type) {
+                case "query-ctrl":
+                  var n = e.ctrl.datasource;
+                  return Promise.resolve({
+                    baseUrl: n.meta.baseUrl,
+                    name: "query-ctrl-" + n.meta.id,
+                    bindings: { target: "=", panelCtrl: "=", datasource: "=" },
+                    attrs: {
+                      target: "ctrl.target",
+                      "panel-ctrl": "ctrl",
+                      datasource: "ctrl.datasource",
+                    },
+                    Component: n.components.QueryCtrl,
+                  });
+                case "annotations-query-ctrl":
+                  var r = e.ctrl.currentDatasource.meta.baseUrl,
+                    a = e.ctrl.currentDatasource.meta.id;
+                  return Object(w.b)(e.ctrl.currentDatasource.meta).then(
+                    function (e) {
+                      return {
+                        baseUrl: r,
+                        name: "annotations-query-ctrl-" + a,
+                        bindings: { annotation: "=", datasource: "=" },
+                        attrs: {
+                          annotation: "ctrl.currentAnnotation",
+                          datasource: "ctrl.currentDatasource",
+                        },
+                        Component: e.components.AnnotationsQueryCtrl,
+                      };
+                    }
+                  );
+                case "datasource-config-ctrl":
+                  var o = e.ctrl.datasourceMeta,
+                    i = l.url();
+                  return Object(w.b)(o).then(function (t) {
+                    return (
+                      e.$watch(
+                        "ctrl.current",
+                        function () {
+                          i === l.url() && e.onModelChanged(e.ctrl.current);
+                        },
+                        !0
+                      ),
+                      {
+                        baseUrl: o.baseUrl,
+                        name: "ds-config-" + o.id,
+                        bindings: { meta: "=", current: "=" },
+                        attrs: {
+                          meta: "ctrl.datasourceMeta",
+                          current: "ctrl.current",
+                        },
+                        Component: t.angularConfigCtrl,
+                      }
+                    );
+                  });
+                case "app-config-ctrl":
+                  var s = e.ctrl.model;
+                  return Object(w.a)(s).then(function (e) {
+                    return {
+                      baseUrl: s.baseUrl,
+                      name: "app-config-" + s.id,
+                      bindings: { appModel: "=", appEditCtrl: "=" },
+                      attrs: {
+                        "app-model": "ctrl.model",
+                        "app-edit-ctrl": "ctrl",
+                      },
+                      Component: e.angularConfigCtrl,
+                    };
+                  });
+                case "app-page":
+                  var u = e.ctrl.appModel;
+                  return Object(w.a)(u).then(function (t) {
+                    return {
+                      baseUrl: u.baseUrl,
+                      name: "app-page-" + u.id + "-" + e.ctrl.page.slug,
+                      bindings: { appModel: "=" },
+                      attrs: { "app-model": "ctrl.appModel" },
+                      Component: t.angularPages[e.ctrl.page.component],
+                    };
+                  });
+                case "panel":
+                  return c(e);
+                default:
+                  return Promise.reject({
+                    message: "Could not find component type: " + t.type,
+                  });
+              }
+            })(e, n)
+              .then(function (r) {
+                f(e, t, n, r);
+              })
+              .catch(function (e) {
+                console.log("Plugin component error", e);
+              });
+          },
+        };
+      }
+      function Fo(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function Lo(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              Fo(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              Fo(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      function Vo(e) {
+        return Bo.apply(this, arguments);
+      }
+      function Bo() {
+        return (Bo = Lo(
+          regeneratorRuntime.mark(function e(t) {
+            var n;
+            return regeneratorRuntime.wrap(function (e) {
+              for (;;)
+                switch ((e.prev = e.next)) {
+                  case 0:
+                    return (e.next = 2), Object(w.b)(t);
+                  case 2:
+                    if (!(n = e.sent).components.VariableQueryEditor) {
+                      e.next = 7;
+                      break;
+                    }
+                    return e.abrupt("return", n.components.VariableQueryEditor);
+                  case 7:
+                    return e.abrupt("return", aa);
+                  case 8:
+                  case "end":
+                    return e.stop();
+                }
+            }, e);
+          })
+        )).apply(this, arguments);
+      }
+      function $o(e) {
+        return {
+          restrict: "E",
+          link:
+            ((t = Lo(
+              regeneratorRuntime.mark(function t(n, r) {
+                var a, o;
+                return regeneratorRuntime.wrap(function (t) {
+                  for (;;)
+                    switch ((t.prev = t.next)) {
+                      case 0:
+                        return (t.next = 2), Vo(n.currentDatasource.meta);
+                      case 2:
+                        (a = t.sent),
+                          (o = {
+                            datasource: n.currentDatasource,
+                            query: n.current.query,
+                            onChange: n.onQueryChange,
+                            templateSrv: e,
+                          }),
+                          h.a.render(d.a.createElement(a, o), r[0]),
+                          n.$on("$destroy", function () {
+                            h.a.unmountComponentAtNode(r[0]);
+                          });
+                      case 6:
+                      case "end":
+                        return t.stop();
+                    }
+                }, t);
+              })
+            )),
+            function (e, n) {
+              return t.apply(this, arguments);
+            }),
+        };
+        var t;
+      }
+      u.a.module("grafana.controllers").controller("AppPageCtrl", Io),
+        (Ro.$inject = [
+          "$compile",
+          "datasourceSrv",
+          "$rootScope",
+          "$http",
+          "$templateCache",
+          "$timeout",
+          "$location",
+        ]),
+        O.c.directive("pluginComponent", Ro),
+        ($o.$inject = ["templateSrv"]),
+        O.c.directive("variableQueryEditorLoader", $o);
+      var qo = n("rd46");
+      function Uo(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var zo = (function () {
+        function e(t, n, r, a, o, i, l, s) {
+          var c = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$location = a),
+            (this.$timeout = i),
+            (this.contextSrv = l),
+            (this.$rootScope = s),
+            (this.onSaveSuccess = function () {
+              c.$timeout(function () {
+                c.gotoNext();
+              });
+            }),
+            (this.$location = a),
+            (this.$window = o),
+            (this.current = t),
+            (this.originalPath = a.path()),
+            (this.scope = n),
+            b.a.on(j.CoreEvents.dashboardSaved, function () {
+              (c.original = c.current.getSaveModelClone()),
+                (c.originalPath = a.path());
+            }),
+            (o.onbeforeunload = function () {
+              if (!c.ignoreChanges())
+                return c.hasChanges()
+                  ? "There are unsaved changes to this dashboard"
+                  : void 0;
+            }),
+            n.$on("$locationChangeStart", function (e, t) {
+              return (
+                c.originalPath === a.path() ||
+                !!c.ignoreChanges() ||
+                (c.hasChanges() &&
+                  (e.preventDefault(),
+                  (c.next = t),
+                  c.$timeout(function () {
+                    c.open_modal();
+                  })),
+                !1)
+              );
+            }),
+            r && !t.meta.fromExplore
+              ? this.$timeout(function () {
+                  c.original = t.getSaveModelClone();
+                }, r)
+              : (this.original = t.getSaveModelClone());
+        }
+        var t, n, r;
+        return (
+          (e.$inject = [
+            "dashboard",
+            "scope",
+            "originalCopyDelay",
+            "$location",
+            "$window",
+            "$timeout",
+            "contextSrv",
+            "$rootScope",
+          ]),
+          (t = e),
+          (n = [
+            {
+              key: "ignoreChanges",
+              value: function () {
+                if (!this.original) return !0;
+                if (!this.contextSrv.isEditor) return !0;
+                if (!this.current || !this.current.meta) return !0;
+                var e = this.current.meta;
+                return !e.canSave || e.fromScript || e.fromFile;
+              },
+            },
+            {
+              key: "cleanDashboardFromIgnoredChanges",
+              value: function (e) {
+                var t = new qo.a(e);
+                t.expandRows();
+                var n = t.getSaveModelClone();
+                return (
+                  (n.time = 0),
+                  (n.refresh = 0),
+                  (n.schemaVersion = 0),
+                  delete n.iteration,
+                  (n.panels = i.a.filter(n.panels, function (e) {
+                    return (
+                      !e.repeatPanelId &&
+                      ((e.scopedVars = null),
+                      e.legend &&
+                        (delete e.legend.sort, delete e.legend.sortDesc),
+                      !0)
+                    );
+                  })),
+                  i.a.each(n.getVariables(), function (e) {
+                    (e.current = null), (e.options = null), (e.filters = null);
+                  }),
+                  n
+                );
+              },
+            },
+            {
+              key: "hasChanges",
+              value: function () {
+                var e = this.cleanDashboardFromIgnoredChanges(
+                    this.current.getSaveModelClone()
+                  ),
+                  t = this.cleanDashboardFromIgnoredChanges(this.original),
+                  n = i.a.find(e.nav, { type: "timepicker" }),
+                  r = i.a.find(t.nav, { type: "timepicker" });
+                return (
+                  n && r && (n.now = r.now),
+                  u.a.toJson(e, !0) !== u.a.toJson(t, !0)
+                );
+              },
+            },
+            {
+              key: "discardChanges",
+              value: function () {
+                (this.original = null), this.gotoNext();
+              },
+            },
+            {
+              key: "open_modal",
+              value: function () {
+                this.$rootScope.appEvent(j.CoreEvents.showModal, {
+                  templateHtml:
+                    '<unsaved-changes-modal dismiss="dismiss()"></unsaved-changes-modal>',
+                  modalClass: "modal--narrow confirm-modal",
+                });
+              },
+            },
+            {
+              key: "gotoNext",
+              value: function () {
+                var e =
+                    this.$location.absUrl().length -
+                    this.$location.url().length,
+                  t = this.next.substring(e);
+                this.$location.url(t);
+              },
+            },
+          ]) && Uo(t.prototype, n),
+          r && Uo(t, r),
+          e
+        );
+      })();
+      function Ho(e, t, n, r, a, o) {
+        this.init = function (a, i) {
+          return (
+            (this.tracker = new zo(a, i, 1e3, t, o, n, r, e)), this.tracker
+          );
+        };
+      }
+      (Ho.$inject = [
+        "$rootScope",
+        "$location",
+        "$timeout",
+        "contextSrv",
+        "dashboardSrv",
+        "$window",
+      ]),
+        u.a.module("grafana.services").service("unsavedChangesSrv", Ho);
+      var Go = n("wd/R"),
+        Wo = n.n(Go),
+        Qo = n("h3Ht");
+      function Yo(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var Ko = (function () {
+        function e(t, n, r, a, o, i, l) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.dashboardSrv = t),
+            (this.datasourceSrv = n),
+            (this.$http = r),
+            (this.$timeout = a),
+            (this.$routeParams = i),
+            (this.$rootScope = l);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = [
+            "dashboardSrv",
+            "datasourceSrv",
+            "$http",
+            "$timeout",
+            "contextSrv",
+            "$routeParams",
+            "$rootScope",
+          ]),
+          (t = e),
+          (n = [
+            {
+              key: "_dashboardLoadFailed",
+              value: function (e, t) {
+                return {
+                  meta: {
+                    canStar: !1,
+                    isSnapshot: (t = t || !1),
+                    canDelete: !1,
+                    canSave: !1,
+                    canEdit: !1,
+                    dashboardNotFound: !0,
+                  },
+                  dashboard: { title: e },
+                };
+              },
+            },
+            {
+              key: "loadDashboard",
+              value: function (e, t, n) {
+                var r,
+                  a = this;
+                return (
+                  (r =
+                    "script" === e
+                      ? this._loadScriptedDashboard(t)
+                      : "snapshot" === e
+                      ? S.b.get("/api/snapshots/" + t).catch(function () {
+                          return a._dashboardLoadFailed(
+                            "Snapshot not found",
+                            !0
+                          );
+                        })
+                      : S.b
+                          .getDashboardByUid(n)
+                          .then(function (e) {
+                            if (e.meta.isFolder)
+                              throw (
+                                (a.$rootScope.appEvent(g.AppEvents.alertError, [
+                                  "Dashboard not found",
+                                ]),
+                                new Error("Dashboard not found"))
+                              );
+                            return e;
+                          })
+                          .catch(function () {
+                            return a._dashboardLoadFailed("Not found", !0);
+                          })).then(function (e) {
+                    return (
+                      !0 !== e.meta.dashboardNotFound &&
+                        Qo.a.addDashboardImpression(e.dashboard.id),
+                      e
+                    );
+                  }),
+                  r
+                );
+              },
+            },
+            {
+              key: "_loadScriptedDashboard",
+              value: function (e) {
+                var t = this,
+                  n =
+                    "public/dashboards/" +
+                    e.replace(/\.(?!js)/, "/") +
+                    "?" +
+                    new Date().getTime();
+                return this.$http({ url: n, method: "GET" })
+                  .then(this._executeScript.bind(this))
+                  .then(
+                    function (e) {
+                      return {
+                        meta: {
+                          fromScript: !0,
+                          canDelete: !1,
+                          canSave: !1,
+                          canStar: !1,
+                        },
+                        dashboard: e.data,
+                      };
+                    },
+                    function (e) {
+                      return (
+                        console.log("Script dashboard error " + e),
+                        t.$rootScope.appEvent(g.AppEvents.alertError, [
+                          "Script Error",
+                          "Please make sure it exists and returns a valid dashboard",
+                        ]),
+                        t._dashboardLoadFailed("Scripted dashboard")
+                      );
+                    }
+                  );
+              },
+            },
+            {
+              key: "_executeScript",
+              value: function (e) {
+                var t = this,
+                  n = {
+                    dashboardSrv: this.dashboardSrv,
+                    datasourceSrv: this.datasourceSrv,
+                  },
+                  r = new Function(
+                    "ARGS",
+                    "kbn",
+                    "dateMath",
+                    "_",
+                    "moment",
+                    "window",
+                    "document",
+                    "$",
+                    "jQuery",
+                    "services",
+                    e.data
+                  )(
+                    this.$routeParams,
+                    Tn.a,
+                    g.dateMath,
+                    i.a,
+                    Wo.a,
+                    window,
+                    document,
+                    s.a,
+                    s.a,
+                    n
+                  );
+                return i.a.isFunction(r)
+                  ? new Promise(function (e) {
+                      r(function (n) {
+                        t.$timeout(function () {
+                          e({ data: n });
+                        });
+                      });
+                    })
+                  : { data: r };
+              },
+            },
+          ]) && Yo(t.prototype, n),
+          r && Yo(t, r),
+          e
+        );
+      })();
+      function Jo(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      u.a.module("grafana.services").service("dashboardLoaderSrv", Ko);
+      var Zo = {
+          "external link": "fa-external-link",
+          dashboard: "fa-th-large",
+          question: "fa-question",
+          info: "fa-info",
+          bolt: "fa-bolt",
+          doc: "fa-file-text-o",
+          cloud: "fa-cloud",
+        },
+        Xo = (function () {
+          function e(t, n) {
+            var r = this;
+            !(function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, e),
+              (this.emptyListCta = {
+                title: "There are no dashboard links added yet",
+                buttonIcon: "gicon gicon-link",
+                buttonTitle: "Add Dashboard Link",
+                infoBox: {
+                  __html:
+                    "<p>\n      Dashboard Links allow you to place links to other dashboards and web sites directly below the dashboard\n      header.\n    </p>",
+                },
+                infoBoxTitle: "What are Dashboard Links?",
+              }),
+              (this.setupNew = function () {
+                (r.mode = "new"),
+                  (r.link = { type: "dashboards", icon: "external link" });
+              }),
+              (this.iconMap = Zo),
+              (this.dashboard.links = this.dashboard.links || []),
+              (this.mode = "list"),
+              t.$on("$destroy", function () {
+                n.appEvent(j.CoreEvents.dashLinksUpdated);
+              });
+          }
+          var t, n, r;
+          return (
+            (e.$inject = ["$scope", "$rootScope"]),
+            (t = e),
+            (n = [
+              {
+                key: "backToList",
+                value: function () {
+                  this.mode = "list";
+                },
+              },
+              {
+                key: "addLink",
+                value: function () {
+                  this.dashboard.links.push(this.link),
+                    (this.mode = "list"),
+                    this.dashboard.updateSubmenuVisibility();
+                },
+              },
+              {
+                key: "editLink",
+                value: function (e) {
+                  (this.link = e), (this.mode = "edit"), console.log(this.link);
+                },
+              },
+              {
+                key: "saveLink",
+                value: function () {
+                  this.backToList();
+                },
+              },
+              {
+                key: "moveLink",
+                value: function (e, t) {
+                  i.a.move(this.dashboard.links, e, e + t);
+                },
+              },
+              {
+                key: "deleteLink",
+                value: function (e) {
+                  this.dashboard.links.splice(e, 1),
+                    this.dashboard.updateSubmenuVisibility();
+                },
+              },
+            ]) && Jo(t.prototype, n),
+            r && Jo(t, r),
+            e
+          );
+        })();
+      function ei(e, t, n) {
+        return {
+          restrict: "E",
+          link: function (r, a) {
+            var o = r.link,
+              i = r.dashboard,
+              l =
+                '<div class="gf-form"><a class="pointer gf-form-label" data-placement="bottom"' +
+                (o.asDropdown
+                  ? ' ng-click="fillDropdown(link)" data-toggle="dropdown"'
+                  : "") +
+                "><i></i> <span></span></a>";
+            function s() {
+              var e = n.getAnchorInfo(o),
+                i = a.find("a");
+              a.find("span").text(e.title),
+                o.asDropdown ||
+                  (i.attr("href", e.href),
+                  (function () {
+                    var e = a.find("a"),
+                      n = t(e.parent().html());
+                    e.parent().html(n);
+                  })()),
+                i.attr("data-placement", "bottom"),
+                i.tooltip({
+                  title: t(r.link.tooltip),
+                  html: !0,
+                  container: "body",
+                });
+            }
+            o.asDropdown &&
+              (l +=
+                '<ul class="dropdown-menu pull-right" role="menu"><li ng-repeat="dash in link.searchHits"><a href="{{dash.url}}" target="{{dash.target}}">{{dash.title}}</a></li></ul>'),
+              (l += "</div>"),
+              a.html(l),
+              e(a.contents())(r),
+              a.find("i").attr("class", "fa fa-fw " + r.link.icon),
+              a.find("a").attr("target", r.link.target),
+              o.asDropdown &&
+                r.$last &&
+                a.find(".dropdown-menu").addClass("pull-right"),
+              s(),
+              i.events.on(g.PanelEvents.refresh, s, r);
+          },
+        };
+      }
+      u.a
+        .module("grafana.directives")
+        .directive("dashLinksEditor", function () {
+          return {
+            restrict: "E",
+            controller: Xo,
+            templateUrl:
+              "public/app/features/dashboard/components/DashLinks/editor.html",
+            bindToController: !0,
+            controllerAs: "ctrl",
+            scope: { dashboard: "=" },
+          };
+        }),
+        (ei.$inject = ["$compile", "$sanitize", "linkSrv"]);
+      var ti = function e(t, n, r, a) {
+        !(function (e, t) {
+          if (!(e instanceof t))
+            throw new TypeError("Cannot call a class as a function");
+        })(this, e);
+        var o = r.getCurrent().id;
+        function l(e) {
+          return "dashboards" === e.type
+            ? e.tags
+              ? e.asDropdown
+                ? Promise.resolve([
+                    {
+                      title: e.title,
+                      tags: e.tags,
+                      keepTime: e.keepTime,
+                      includeVars: e.includeVars,
+                      target: e.targetBlank ? "_blank" : "_self",
+                      icon: "fa fa-bars",
+                      asDropdown: !0,
+                    },
+                  ])
+                : t.searchDashboards(e, 7)
+              : (console.log("Dashboard link missing tag"), Promise.resolve([]))
+            : "link" === e.type
+            ? Promise.resolve([
+                {
+                  url: e.url,
+                  title: e.title,
+                  icon: Zo[e.icon],
+                  tooltip: e.tooltip,
+                  target: e.targetBlank ? "_blank" : "_self",
+                  keepTime: e.keepTime,
+                  includeVars: e.includeVars,
+                },
+              ])
+            : Promise.resolve([]);
+        }
+        function s() {
+          var e = i.a.map(t.links, l);
+          Promise.all(e).then(function (e) {
+            t.generatedLinks = i.a.flatten(e);
+          });
+        }
+        (t.searchDashboards = function (e, n) {
+          return Object(D.a)(t)(
+            S.b.search({ tag: e.tags, limit: n }).then(function (t) {
+              return i.a.reduce(
+                t,
+                function (t, n) {
+                  return (
+                    n.id !== o &&
+                      t.push({
+                        title: n.title,
+                        url: n.url,
+                        target: "_self" === e.target ? "" : e.target,
+                        icon: "fa fa-th-large",
+                        keepTime: e.keepTime,
+                        includeVars: e.includeVars,
+                      }),
+                    t
+                  );
+                },
+                []
+              );
+            })
+          );
+        }),
+          (t.fillDropdown = function (e) {
+            t.searchDashboards(e, 100).then(function (t) {
+              i.a.each(t, function (e) {
+                e.url = a.getLinkUrl(e);
+              }),
+                (e.searchHits = t);
+            });
+          }),
+          s(),
+          n.onAppEvent(j.CoreEvents.dashLinksUpdated, s, t);
+      };
+      (ti.$inject = ["$scope", "$rootScope", "dashboardSrv", "linkSrv"]),
+        (ti.$inject = ["$scope", "$rootScope", "dashboardSrv", "linkSrv"]),
+        u.a
+          .module("grafana.directives")
+          .directive("dashLinksContainer", function () {
+            return {
+              scope: { links: "=", dashboard: "=" },
+              restrict: "E",
+              controller: "DashLinksContainerCtrl",
+              template:
+                '<dash-link ng-repeat="link in generatedLinks" link="link"></dash-link>',
+              link: function () {},
+            };
+          }),
+        u.a.module("grafana.directives").directive("dashLink", ei),
+        u.a
+          .module("grafana.directives")
+          .controller("DashLinksContainerCtrl", ti);
+      n("zogf"), n("hfOi");
+      var ni = n("FO4H");
+      function ri(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var ai = (function () {
+        function e(t) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.dashboardSrv = t),
+            (this.asRows = !0),
+            (this.dateTimeFormat = "YYYY-MM-DDTHH:mm:ssZ"),
+            (this.excel = !1);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["dashboardSrv"]),
+          (t = e),
+          (n = [
+            {
+              key: "export",
+              value: function () {
+                var e = this.dashboardSrv.getCurrent().timezone,
+                  t = {
+                    excel: this.excel,
+                    dateTimeFormat: this.dateTimeFormat,
+                    timezone: e,
+                  };
+                "table" === this.panel
+                  ? ni.exportTableDataToCsv(this.data, this.excel)
+                  : this.asRows
+                  ? ni.exportSeriesListToCsv(this.data, t)
+                  : ni.exportSeriesListToCsvColumns(this.data, t),
+                  this.dismiss();
+              },
+            },
+            {
+              key: "dismiss",
+              value: function () {
+                b.b.emit(j.CoreEvents.hideModal);
+              },
+            },
+          ]) && ri(t.prototype, n),
+          r && ri(t, r),
+          e
+        );
+      })();
+      function oi(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      u.a
+        .module("grafana.directives")
+        .directive("exportDataModal", function () {
+          return {
+            restrict: "E",
+            templateUrl:
+              "public/app/features/dashboard/components/ExportDataModal/template.html",
+            controller: ai,
+            controllerAs: "ctrl",
+            scope: { panel: "<", data: "<" },
+            bindToController: !0,
+          };
+        });
+      var ii = (function () {
+        function e(t, n, r, a, o) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$route = t),
+            (this.$rootScope = n),
+            (this.$location = r),
+            (this.historySrv = a),
+            (this.$scope = o),
+            (this.appending = !1),
+            (this.diff = "basic"),
+            (this.limit = 10),
+            (this.loading = !1),
+            (this.max = 2),
+            (this.mode = "list"),
+            (this.start = 0),
+            (this.canCompare = !1),
+            b.a.on(
+              j.CoreEvents.dashboardSaved,
+              this.onDashboardSaved.bind(this),
+              o
+            ),
+            this.resetFromSource();
+        }
+        var t, n, r;
+        return (
+          (e.$inject = [
+            "$route",
+            "$rootScope",
+            "$location",
+            "historySrv",
+            "$scope",
+          ]),
+          (t = e),
+          (n = [
+            {
+              key: "onDashboardSaved",
+              value: function () {
+                this.resetFromSource();
+              },
+            },
+            {
+              key: "switchMode",
+              value: function (e) {
+                (this.mode = e), "list" === this.mode && this.reset();
+              },
+            },
+            {
+              key: "dismiss",
+              value: function () {
+                this.$rootScope.appEvent(j.CoreEvents.hideDashEditor);
+              },
+            },
+            {
+              key: "addToLog",
+              value: function () {
+                (this.start = this.start + this.limit), this.getLog(!0);
+              },
+            },
+            {
+              key: "revisionSelectionChanged",
+              value: function () {
+                var e = i.a.filter(this.revisions, { checked: !0 }).length;
+                this.canCompare = 2 === e;
+              },
+            },
+            {
+              key: "formatDate",
+              value: function (e) {
+                return this.dashboard.formatDate(e);
+              },
+            },
+            {
+              key: "formatBasicDate",
+              value: function (e) {
+                var t =
+                  "browser" === this.dashboard.timezone
+                    ? Object(g.dateTime)()
+                    : Object(g.toUtc)();
+                return ("browser" === this.dashboard.timezone
+                  ? Object(g.dateTime)(e)
+                  : Object(g.toUtc)(e)
+                ).from(t);
+              },
+            },
+            {
+              key: "getDiff",
+              value: function (e) {
+                var t = this;
+                if (((this.diff = e), (this.mode = "compare"), this.delta[e]))
+                  return Promise.resolve(this.delta[e]);
+                var n = i.a.filter(this.revisions, { checked: !0 });
+                (this.newInfo = n[0]),
+                  (this.baseInfo = n[1]),
+                  (this.isNewLatest =
+                    this.newInfo.version === this.dashboard.version),
+                  (this.loading = !0);
+                var r = {
+                  new: {
+                    dashboardId: this.dashboard.id,
+                    version: this.newInfo.version,
+                  },
+                  base: {
+                    dashboardId: this.dashboard.id,
+                    version: this.baseInfo.version,
+                  },
+                  diffType: e,
+                };
+                return Object(D.a)(this.$scope)(
+                  this.historySrv
+                    .calculateDiff(r)
+                    .then(function (e) {
+                      t.delta[t.diff] = e;
+                    })
+                    .catch(function () {
+                      t.mode = "list";
+                    })
+                    .finally(function () {
+                      t.loading = !1;
+                    })
+                );
+              },
+            },
+            {
+              key: "getLog",
+              value: function () {
+                var e = this,
+                  t =
+                    arguments.length > 0 &&
+                    void 0 !== arguments[0] &&
+                    arguments[0];
+                (this.loading = !t), (this.appending = t);
+                var n = { limit: this.limit, start: this.start };
+                return Object(D.a)(this.$scope)(
+                  this.historySrv
+                    .getHistoryList(this.dashboard, n)
+                    .then(function (n) {
+                      var r = !0,
+                        a = !1,
+                        o = void 0;
+                      try {
+                        for (
+                          var i, l = n[Symbol.iterator]();
+                          !(r = (i = l.next()).done);
+                          r = !0
+                        ) {
+                          var s = i.value;
+                          (s.createdDateString = e.formatDate(s.created)),
+                            (s.ageString = e.formatBasicDate(s.created)),
+                            (s.checked = !1);
+                        }
+                      } catch (e) {
+                        (a = !0), (o = e);
+                      } finally {
+                        try {
+                          r || null == l.return || l.return();
+                        } finally {
+                          if (a) throw o;
+                        }
+                      }
+                      e.revisions = t ? e.revisions.concat(n) : n;
+                    })
+                    .catch(function (t) {
+                      e.loading = !1;
+                    })
+                    .finally(function () {
+                      (e.loading = !1), (e.appending = !1);
+                    })
+                );
+              },
+            },
+            {
+              key: "isLastPage",
+              value: function () {
+                return i.a.find(this.revisions, function (e) {
+                  return 1 === e.version;
+                });
+              },
+            },
+            {
+              key: "reset",
+              value: function () {
+                (this.delta = { basic: "", json: "" }),
+                  (this.diff = "basic"),
+                  (this.mode = "list"),
+                  (this.revisions = i.a.map(this.revisions, function (e) {
+                    return i.a.extend({}, e, { checked: !1 });
+                  })),
+                  (this.canCompare = !1),
+                  (this.start = 0),
+                  (this.isNewLatest = !1);
+              },
+            },
+            {
+              key: "resetFromSource",
+              value: function () {
+                return (
+                  (this.revisions = []),
+                  this.getLog().then(this.reset.bind(this))
+                );
+              },
+            },
+            {
+              key: "restore",
+              value: function (e) {
+                this.$rootScope.appEvent(j.CoreEvents.showConfirmModal, {
+                  title: "Restore version",
+                  text: "",
+                  text2: "Are you sure you want to restore the dashboard to version ".concat(
+                    e,
+                    "? All unsaved changes will be lost."
+                  ),
+                  icon: "fa-history",
+                  yesText: "Yes, restore to version ".concat(e),
+                  onConfirm: this.restoreConfirm.bind(this, e),
+                });
+              },
+            },
+            {
+              key: "restoreConfirm",
+              value: function (e) {
+                var t = this;
+                return (
+                  (this.loading = !0),
+                  Object(D.a)(this.$scope)(
+                    this.historySrv
+                      .restoreDashboard(this.dashboard, e)
+                      .then(function (n) {
+                        t.$location.url(k.b.stripBaseFromUrl(n.url)).replace(),
+                          t.$route.reload(),
+                          t.$rootScope.appEvent(g.AppEvents.alertSuccess, [
+                            "Dashboard restored",
+                            "Restored from version " + e,
+                          ]);
+                      })
+                      .catch(function () {
+                        (t.mode = "list"), (t.loading = !1);
+                      })
+                  )
+                );
+              },
+            },
+          ]) && oi(t.prototype, n),
+          r && oi(t, r),
+          e
+        );
+      })();
+      function li(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      u.a
+        .module("grafana.directives")
+        .directive("gfDashboardHistory", function () {
+          return {
+            restrict: "E",
+            templateUrl:
+              "public/app/features/dashboard/components/VersionHistory/template.html",
+            controller: ii,
+            bindToController: !0,
+            controllerAs: "ctrl",
+            scope: { dashboard: "=" },
+          };
+        });
+      var si = (function () {
+        function e() {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e);
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "getHistoryList",
+              value: function (e, t) {
+                var n = e && e.id ? e.id : void 0;
+                return n
+                  ? Object(we.getBackendSrv)().get(
+                      "api/dashboards/id/".concat(n, "/versions"),
+                      t
+                    )
+                  : Promise.resolve([]);
+              },
+            },
+            {
+              key: "calculateDiff",
+              value: function (e) {
+                return Object(we.getBackendSrv)().post(
+                  "api/dashboards/calculate-diff",
+                  e
+                );
+              },
+            },
+            {
+              key: "restoreDashboard",
+              value: function (e, t) {
+                var n = e && e.id ? e.id : void 0,
+                  r = "api/dashboards/id/".concat(n, "/restore");
+                return n && i.a.isNumber(t)
+                  ? Object(we.getBackendSrv)().post(r, { version: t })
+                  : Promise.resolve({});
+              },
+            },
+          ]) && li(t.prototype, n),
+          r && li(t, r),
+          e
+        );
+      })();
+      O.c.service("historySrv", si);
+      n("2t1j"), n("PVeq");
+      function ci(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var ui = (function () {
+        function e(t) {
+          var n = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.unsavedChangesSrv = t),
+            (this.onSaveSuccess = function () {
+              n.dismiss(), n.unsavedChangesSrv.tracker.onSaveSuccess();
+            });
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["unsavedChangesSrv"]),
+          (t = e),
+          (n = [
+            {
+              key: "discard",
+              value: function () {
+                this.dismiss(), this.unsavedChangesSrv.tracker.discardChanges();
+              },
+            },
+            {
+              key: "save",
+              value: function () {
+                this.dismiss(), this.unsavedChangesSrv.tracker.saveChanges();
+              },
+            },
+          ]) && ci(t.prototype, n),
+          r && ci(t, r),
+          e
+        );
+      })();
+      function fi(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      O.c.directive("unsavedChangesModal", function () {
+        return {
+          restrict: "E",
+          template:
+            '\n<div class="modal-body">\n  <div class="modal-header">\n    <h2 class="modal-header-title">\n      <i class="fa fa-exclamation"></i>\n      <span class="p-l-1">Unsaved changes</span>\n    </h2>\n\n    <a class="modal-header-close" ng-click="ctrl.dismiss();">\n      <i class="fa fa-remove"></i>\n    </a>\n  </div>\n\n  <div class="modal-content text-center">\n\n    <div class="confirm-modal-text">\n      Do you want to save your changes?\n    </div>\n\n    <div class="confirm-modal-buttons">\n      <save-dashboard-button dashboard="ctrl.unsavedChangesSrv.tracker.current" onSaveSuccess="ctrl.onSaveSuccess" >Save</save-dashboard-button>\n      <button type="button" class="btn btn-danger" ng-click="ctrl.discard()">Discard</button>\n      <button type="button" class="btn btn-inverse" ng-click="ctrl.dismiss()">Cancel</button>\n    </div>\n  </div>\n</div>\n',
+          controller: ui,
+          bindToController: !0,
+          controllerAs: "ctrl",
+          scope: { dismiss: "&" },
+        };
+      });
+      var di = (function () {
+        function e(t, n, r, a) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.uiSegmentSrv = t),
+            (this.datasourceSrv = n),
+            (this.variableSrv = r),
+            (this.removeTagFilterSegment = t.newSegment({
+              fake: !0,
+              value: "-- remove filter --",
+            })),
+            this.buildSegmentModel(),
+            this.dashboard.events.on(
+              j.CoreEvents.templateVariableValueUpdated,
+              this.buildSegmentModel.bind(this),
+              a
+            );
+        }
+        var t, n, r;
+        return (
+          (e.$inject = [
+            "uiSegmentSrv",
+            "datasourceSrv",
+            "variableSrv",
+            "$scope",
+          ]),
+          (t = e),
+          (n = [
+            {
+              key: "buildSegmentModel",
+              value: function () {
+                (this.segments = []),
+                  this.variable.value && i.a.isArray(this.variable.value);
+                var e = !0,
+                  t = !1,
+                  n = void 0;
+                try {
+                  for (
+                    var r, a = this.variable.filters[Symbol.iterator]();
+                    !(e = (r = a.next()).done);
+                    e = !0
+                  ) {
+                    var o = r.value;
+                    this.segments.length > 0 &&
+                      this.segments.push(this.uiSegmentSrv.newCondition("AND")),
+                      void 0 !== o.key &&
+                        void 0 !== o.value &&
+                        (this.segments.push(this.uiSegmentSrv.newKey(o.key)),
+                        this.segments.push(
+                          this.uiSegmentSrv.newOperator(o.operator)
+                        ),
+                        this.segments.push(
+                          this.uiSegmentSrv.newKeyValue(o.value)
+                        ));
+                  }
+                } catch (e) {
+                  (t = !0), (n = e);
+                } finally {
+                  try {
+                    e || null == a.return || a.return();
+                  } finally {
+                    if (t) throw n;
+                  }
+                }
+                this.segments.push(this.uiSegmentSrv.newPlusButton());
+              },
+            },
+            {
+              key: "getOptions",
+              value: function (e, t) {
+                var n = this;
+                return "operator" === e.type
+                  ? Promise.resolve(
+                      this.uiSegmentSrv.newOperators([
+                        "=",
+                        "!=",
+                        "<",
+                        ">",
+                        "=~",
+                        "!~",
+                      ])
+                    )
+                  : "condition" === e.type
+                  ? Promise.resolve([this.uiSegmentSrv.newSegment("AND")])
+                  : this.datasourceSrv
+                      .get(this.variable.datasource)
+                      .then(function (r) {
+                        var a = {},
+                          o = null;
+                        return (
+                          "value" !== e.type
+                            ? (o = r.getTagKeys
+                                ? r.getTagKeys()
+                                : Promise.resolve([]))
+                            : ((a.key = n.segments[t - 2].value),
+                              (o = r.getTagValues
+                                ? r.getTagValues(a)
+                                : Promise.resolve([]))),
+                          o.then(function (t) {
+                            return (
+                              (t = i.a.map(t, function (e) {
+                                return n.uiSegmentSrv.newSegment({
+                                  value: e.text,
+                                });
+                              })),
+                              "key" === e.type &&
+                                t.splice(
+                                  0,
+                                  0,
+                                  u.a.copy(n.removeTagFilterSegment)
+                                ),
+                              t
+                            );
+                          })
+                        );
+                      });
+              },
+            },
+            {
+              key: "segmentChanged",
+              value: function (e, t) {
+                (this.segments[t] = e),
+                  e.value === this.removeTagFilterSegment.value
+                    ? (this.segments.splice(t, 3),
+                      0 === this.segments.length
+                        ? this.segments.push(this.uiSegmentSrv.newPlusButton())
+                        : this.segments.length > 2 &&
+                          (this.segments.splice(Math.max(t - 1, 0), 1),
+                          "plus-button" !==
+                            this.segments[this.segments.length - 1].type &&
+                            this.segments.push(
+                              this.uiSegmentSrv.newPlusButton()
+                            )))
+                    : ("plus-button" === e.type &&
+                        (t > 2 &&
+                          this.segments.splice(
+                            t,
+                            0,
+                            this.uiSegmentSrv.newCondition("AND")
+                          ),
+                        this.segments.push(this.uiSegmentSrv.newOperator("=")),
+                        this.segments.push(
+                          this.uiSegmentSrv.newFake(
+                            "select value",
+                            "value",
+                            "query-segment-value"
+                          )
+                        ),
+                        (e.type = "key"),
+                        (e.cssClass = "query-segment-key")),
+                      t + 1 === this.segments.length &&
+                        this.segments.push(this.uiSegmentSrv.newPlusButton())),
+                  this.updateVariableModel();
+              },
+            },
+            {
+              key: "updateVariableModel",
+              value: function () {
+                var e = [],
+                  t = -1,
+                  n = !1;
+                this.segments.forEach(function (r) {
+                  if ("value" === r.type && r.fake) n = !0;
+                  else
+                    switch (r.type) {
+                      case "key":
+                        e.push({ key: r.value }), (t += 1);
+                        break;
+                      case "value":
+                        e[t].value = r.value;
+                        break;
+                      case "operator":
+                        e[t].operator = r.value;
+                        break;
+                      case "condition":
+                        e[t].condition = r.value;
+                    }
+                }),
+                  n ||
+                    (this.variable.setFilters(e),
+                    this.variableSrv.variableUpdated(this.variable, !0));
+              },
+            },
+          ]) && fi(t.prototype, n),
+          r && fi(t, r),
+          e
+        );
+      })();
+      function pi(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      O.c.directive("adHocFilters", function () {
+        return {
+          restrict: "E",
+          template:
+            '\n<div class="gf-form-inline">\n  <div class="gf-form" ng-repeat="segment in ctrl.segments">\n    <metric-segment segment="segment" get-options="ctrl.getOptions(segment, $index)"\n                    on-change="ctrl.segmentChanged(segment, $index)"></metric-segment>\n  </div>\n</div>\n',
+          controller: di,
+          bindToController: !0,
+          controllerAs: "ctrl",
+          scope: { variable: "=", dashboard: "=" },
+        };
+      });
+      var hi = (function () {
+        function e() {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.source = this.row),
+            (this.row = this.row.getSaveModel());
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "update",
+              value: function () {
+                (this.source.title = this.row.title),
+                  (this.source.repeat = this.row.repeat),
+                  this.onUpdated(),
+                  this.dismiss();
+              },
+            },
+          ]) && pi(t.prototype, n),
+          r && pi(t, r),
+          e
+        );
+      })();
+      x.c.directive("rowOptions", function () {
+        return {
+          restrict: "E",
+          templateUrl:
+            "public/app/features/dashboard/components/RowOptions/template.html",
+          controller: hi,
+          bindToController: !0,
+          controllerAs: "ctrl",
+          scope: { row: "=", dismiss: "&", onUpdated: "&" },
+        };
+      });
+      var mi = n("BVom"),
+        gi = n("J4KJ"),
+        bi = n("3p3q"),
+        vi = n("wobk"),
+        yi = n("QzbV");
+      function wi(e) {
+        return (wi =
+          "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
+            ? function (e) {
+                return typeof e;
+              }
+            : function (e) {
+                return e &&
+                  "function" == typeof Symbol &&
+                  e.constructor === Symbol &&
+                  e !== Symbol.prototype
+                  ? "symbol"
+                  : typeof e;
+              })(e);
+      }
+      function Oi(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      function xi(e, t) {
+        return !t || ("object" !== wi(t) && "function" != typeof t)
+          ? (function (e) {
+              if (void 0 === e)
+                throw new ReferenceError(
+                  "this hasn't been initialised - super() hasn't been called"
+                );
+              return e;
+            })(e)
+          : t;
+      }
+      function ki(e) {
+        return (ki = Object.setPrototypeOf
+          ? Object.getPrototypeOf
+          : function (e) {
+              return e.__proto__ || Object.getPrototypeOf(e);
+            })(e);
+      }
+      function ji(e, t) {
+        return (ji =
+          Object.setPrototypeOf ||
+          function (e, t) {
+            return (e.__proto__ = t), e;
+          })(e, t);
+      }
+      var Si = (function (e) {
+          function t(e) {
+            var n;
+            return (
+              (function (e, t) {
+                if (!(e instanceof t))
+                  throw new TypeError("Cannot call a class as a function");
+              })(this, t),
+              ((n = xi(
+                this,
+                ki(t).call(this, e)
+              )).onOpenAddPermissions = function () {
+                n.setState({ isAdding: !0 });
+              }),
+              (n.onRemoveItem = function (e) {
+                n.props.removeDashboardPermission(n.props.dashboardId, e);
+              }),
+              (n.onPermissionChanged = function (e, t) {
+                n.props.updateDashboardPermission(n.props.dashboardId, e, t);
+              }),
+              (n.onAddPermission = function (e) {
+                return n.props.addDashboardPermission(n.props.dashboardId, e);
+              }),
+              (n.onCancelAddPermission = function () {
+                n.setState({ isAdding: !1 });
+              }),
+              (n.state = { isAdding: !1 }),
+              n
+            );
+          }
+          var n, r, a;
+          return (
+            (function (e, t) {
+              if ("function" != typeof t && null !== t)
+                throw new TypeError(
+                  "Super expression must either be null or a function"
+                );
+              (e.prototype = Object.create(t && t.prototype, {
+                constructor: { value: e, writable: !0, configurable: !0 },
+              })),
+                t && ji(e, t);
+            })(t, e),
+            (n = t),
+            (r = [
+              {
+                key: "componentDidMount",
+                value: function () {
+                  this.props.getDashboardPermissions(this.props.dashboardId);
+                },
+              },
+              {
+                key: "render",
+                value: function () {
+                  var e = this.props,
+                    t = e.permissions,
+                    n = e.folder,
+                    r = this.state.isAdding;
+                  return d.a.createElement(
+                    "div",
+                    null,
+                    d.a.createElement(
+                      "div",
+                      { className: "dashboard-settings__header" },
+                      d.a.createElement(
+                        "div",
+                        { className: "page-action-bar" },
+                        d.a.createElement(
+                          "h3",
+                          { className: "d-inline-block" },
+                          "Permissions"
+                        ),
+                        d.a.createElement(
+                          ee.Tooltip,
+                          {
+                            placement: "auto",
+                            content: d.a.createElement(yi.a, null),
+                          },
+                          d.a.createElement(
+                            "div",
+                            { className: "page-sub-heading-icon" },
+                            d.a.createElement("i", {
+                              className:
+                                "gicon gicon-question gicon--has-hover",
+                            })
+                          )
+                        ),
+                        d.a.createElement("div", {
+                          className: "page-action-bar__spacer",
+                        }),
+                        d.a.createElement(
+                          "button",
+                          {
+                            className: "btn btn-primary pull-right",
+                            onClick: this.onOpenAddPermissions,
+                            disabled: r,
+                          },
+                          "Add Permission"
+                        )
+                      )
+                    ),
+                    d.a.createElement(
+                      mi.a,
+                      { in: r },
+                      d.a.createElement(vi.a, {
+                        onAddPermission: this.onAddPermission,
+                        onCancel: this.onCancelAddPermission,
+                      })
+                    ),
+                    d.a.createElement(bi.a, {
+                      items: t,
+                      onRemoveItem: this.onRemoveItem,
+                      onPermissionChanged: this.onPermissionChanged,
+                      isFetching: !1,
+                      folderInfo: n,
+                    })
+                  );
+                },
+              },
+            ]) && Oi(n.prototype, r),
+            a && Oi(n, a),
+            t
+          );
+        })(f.PureComponent),
+        Ei = {
+          getDashboardPermissions: gi.c,
+          addDashboardPermission: gi.a,
+          removeDashboardPermission: gi.g,
+          updateDashboardPermission: gi.h,
+        },
+        Ci = Object(ca.b)(
+          Si,
+          function (e) {
+            return { permissions: e.dashboard.permissions };
+          },
+          Ei
+        ),
+        Pi = n("Q8uG");
+      function Ti(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      Object(Pi.a)("dashboardPermissions", Ci, ["dashboardId", "folder"]);
+      var Di = (function () {
+        function e(t, n) {
+          var r = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$scope = t),
+            (this.navModel = n.getNav("dashboards", "playlists", 0)),
+            Object(D.a)(t)(
+              Object(we.getBackendSrv)()
+                .get("/api/playlists")
+                .then(function (e) {
+                  r.playlists = e.map(function (e) {
+                    return (e.startUrl = "playlists/play/".concat(e.id)), e;
+                  });
+                })
+            );
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$scope", "navModelSrv"]),
+          (t = e),
+          (n = [
+            {
+              key: "removePlaylistConfirmed",
+              value: function (e) {
+                var t = this;
+                i.a.remove(this.playlists, { id: e.id }),
+                  Object(D.a)(this.$scope)(
+                    Object(we.getBackendSrv)()
+                      .delete("/api/playlists/" + e.id)
+                      .then(
+                        function () {
+                          t.$scope.appEvent(g.AppEvents.alertSuccess, [
+                            "Playlist deleted",
+                          ]);
+                        },
+                        function () {
+                          t.$scope.appEvent(g.AppEvents.alertError, [
+                            "Unable to delete playlist",
+                          ]),
+                            t.playlists.push(e);
+                        }
+                      )
+                  );
+              },
+            },
+            {
+              key: "removePlaylist",
+              value: function (e) {
+                var t = this;
+                this.$scope.appEvent(j.CoreEvents.showConfirmModal, {
+                  title: "Delete",
+                  text:
+                    "Are you sure you want to delete playlist " + e.name + "?",
+                  yesText: "Delete",
+                  icon: "fa-trash",
+                  onConfirm: function () {
+                    t.removePlaylistConfirmed(e);
+                  },
+                });
+              },
+            },
+          ]) && Ti(t.prototype, n),
+          r && Ti(t, r),
+          e
+        );
+      })();
+      function Ai(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      O.c.controller("PlaylistsCtrl", Di);
+      var _i = (function () {
+        function e(t, n) {
+          var r = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$scope = t),
+            (this.query = { query: "", tag: [], starred: !1, limit: 20 }),
+            n(function () {
+              (r.query.query = ""),
+                (r.query.type = "dash-db"),
+                r.searchDashboards();
+            }, 100);
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$scope", "$timeout"]),
+          (t = e),
+          (n = [
+            {
+              key: "searchDashboards",
+              value: function () {
+                this.tagsMode = !1;
+                var e = {};
+                (e.promise = Object(D.a)(this.$scope)(
+                  S.b.search(this.query).then(function (e) {
+                    return { dashboardResult: e, tagResult: [] };
+                  })
+                )),
+                  this.searchStarted(e);
+              },
+            },
+            {
+              key: "showStarred",
+              value: function () {
+                (this.query.starred = !this.query.starred),
+                  this.searchDashboards();
+              },
+            },
+            {
+              key: "queryHasNoFilters",
+              value: function () {
+                return (
+                  "" === this.query.query &&
+                  !1 === this.query.starred &&
+                  0 === this.query.tag.length
+                );
+              },
+            },
+            {
+              key: "filterByTag",
+              value: function (e, t) {
+                this.query.tag.push(e),
+                  this.searchDashboards(),
+                  t && (t.stopPropagation(), t.preventDefault());
+              },
+            },
+            {
+              key: "getTags",
+              value: function () {
+                var e = {};
+                (e.promise = Object(D.a)(this.$scope)(
+                  S.b.get("/api/dashboards/tags").then(function (e) {
+                    return { dashboardResult: [], tagResult: e };
+                  })
+                )),
+                  this.searchStarted(e);
+              },
+            },
+          ]) && Ai(t.prototype, n),
+          r && Ai(t, r),
+          e
+        );
+      })();
+      O.c.directive("playlistSearch", function () {
+        return {
+          restrict: "E",
+          templateUrl:
+            "public/app/features/playlist/partials/playlist_search.html",
+          controller: _i,
+          bindToController: !0,
+          controllerAs: "ctrl",
+          scope: { searchStarted: "&" },
+        };
+      });
+      var Ni = n("0Mjz");
+      function Mi(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var Ii = { kiosk: !0, autofitpanels: !0, orgId: !0 },
+        Ri = (function () {
+          function e(t, n) {
+            !(function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, e),
+              (this.$location = t),
+              (this.$timeout = n),
+              (this.numberOfLoops = 0);
+          }
+          var t, n, r;
+          return (
+            (e.$inject = ["$location", "$timeout"]),
+            (t = e),
+            (n = [
+              {
+                key: "next",
+                value: function () {
+                  var e = this;
+                  if (
+                    (this.$timeout.cancel(this.cancelPromise),
+                    this.index > this.dashboards.length - 1)
+                  ) {
+                    if ((this.numberOfLoops++, this.numberOfLoops >= 3))
+                      return void (window.location.href = this.startUrl);
+                    this.index = 0;
+                  }
+                  var t = this.dashboards[this.index],
+                    n = this.$location.search(),
+                    r = i.a.pickBy(n, function (e, t) {
+                      return Ii[t];
+                    }),
+                    a = k.b.stripBaseFromUrl(t.url);
+                  this.$timeout(function () {
+                    e.$location.url(a + "?" + Object(Ni.d)(r));
+                  }),
+                    this.index++,
+                    (this.validPlaylistUrl = a),
+                    (this.cancelPromise = this.$timeout(function () {
+                      return e.next();
+                    }, this.interval));
+                },
+              },
+              {
+                key: "prev",
+                value: function () {
+                  (this.index = Math.max(this.index - 2, 0)), this.next();
+                },
+              },
+              {
+                key: "storeUpdated",
+                value: function () {
+                  Le.d.getState().location.path !== this.validPlaylistUrl &&
+                    this.stop();
+                },
+              },
+              {
+                key: "start",
+                value: function (e) {
+                  var t = this;
+                  return (
+                    this.stop(),
+                    (this.startUrl = window.location.href),
+                    (this.index = 0),
+                    (this.isPlaying = !0),
+                    (this.storeUnsub = Le.d.subscribe(function () {
+                      return t.storeUpdated();
+                    })),
+                    (this.validPlaylistUrl = this.$location.path()),
+                    b.b.emit(j.CoreEvents.playlistStarted),
+                    Object(we.getBackendSrv)()
+                      .get("/api/playlists/".concat(e))
+                      .then(function (n) {
+                        return Object(we.getBackendSrv)()
+                          .get("/api/playlists/".concat(e, "/dashboards"))
+                          .then(function (e) {
+                            (t.dashboards = e),
+                              (t.interval = Tn.a.interval_to_ms(n.interval)),
+                              t.next();
+                          });
+                      })
+                  );
+                },
+              },
+              {
+                key: "stop",
+                value: function () {
+                  this.isPlaying &&
+                    this.$location.search().kiosk &&
+                    b.b.emit(j.CoreEvents.toggleKioskMode, { exit: !0 }),
+                    (this.index = 0),
+                    (this.isPlaying = !1),
+                    this.storeUnsub && this.storeUnsub(),
+                    this.cancelPromise &&
+                      this.$timeout.cancel(this.cancelPromise),
+                    b.b.emit(j.CoreEvents.playlistStopped);
+                },
+              },
+            ]) && Mi(t.prototype, n),
+            r && Mi(t, r),
+            e
+          );
+        })();
+      function Fi(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      O.c.service("playlistSrv", Ri);
+      var Li = (function () {
+        function e(t, n, r, a) {
+          var o = this;
+          if (
+            ((function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, e),
+            (this.$scope = t),
+            (this.$location = n),
+            (this.filteredDashboards = []),
+            (this.filteredTags = []),
+            (this.searchQuery = ""),
+            (this.loading = !1),
+            (this.playlist = { interval: "5m" }),
+            (this.playlistItems = []),
+            (this.dashboardresult = []),
+            (this.tagresult = []),
+            (this.navModel = a.getNav("dashboards", "playlists", 0)),
+            (this.isNew = !r.current.params.id),
+            r.current.params.id)
+          ) {
+            var i = r.current.params.id;
+            Object(D.a)(this.$scope)(
+              Object(we.getBackendSrv)()
+                .get("/api/playlists/" + i)
+                .then(function (e) {
+                  o.playlist = e;
+                })
+            ),
+              Object(D.a)(this.$scope)(
+                Object(we.getBackendSrv)()
+                  .get("/api/playlists/" + i + "/items")
+                  .then(function (e) {
+                    o.playlistItems = e;
+                  })
+              );
+          }
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$scope", "$location", "$route", "navModelSrv"]),
+          (t = e),
+          (n = [
+            {
+              key: "filterFoundPlaylistItems",
+              value: function () {
+                var e = this;
+                (this.filteredDashboards = i.a.reject(
+                  this.dashboardresult,
+                  function (t) {
+                    return i.a.find(e.playlistItems, function (e) {
+                      return parseInt(e.value, 10) === t.id;
+                    });
+                  }
+                )),
+                  (this.filteredTags = i.a.reject(this.tagresult, function (t) {
+                    return i.a.find(e.playlistItems, function (e) {
+                      return e.value === t.term;
+                    });
+                  }));
+              },
+            },
+            {
+              key: "addPlaylistItem",
+              value: function (e) {
+                (e.value = e.id.toString()),
+                  (e.type = "dashboard_by_id"),
+                  (e.order = this.playlistItems.length + 1),
+                  this.playlistItems.push(e),
+                  this.filterFoundPlaylistItems();
+              },
+            },
+            {
+              key: "addTagPlaylistItem",
+              value: function (e) {
+                var t = {
+                  value: e.term,
+                  type: "dashboard_by_tag",
+                  order: this.playlistItems.length + 1,
+                  title: e.term,
+                };
+                this.playlistItems.push(t), this.filterFoundPlaylistItems();
+              },
+            },
+            {
+              key: "removePlaylistItem",
+              value: function (e) {
+                i.a.remove(this.playlistItems, function (t) {
+                  return e === t;
+                }),
+                  this.filterFoundPlaylistItems();
+              },
+            },
+            {
+              key: "savePlaylist",
+              value: function (e, t) {
+                var n = this;
+                (e.items = t),
+                  (e.id
+                    ? Object(D.a)(this.$scope)(
+                        Object(we.getBackendSrv)().put(
+                          "/api/playlists/" + e.id,
+                          e
+                        )
+                      )
+                    : Object(D.a)(this.$scope)(
+                        Object(we.getBackendSrv)().post("/api/playlists", e)
+                      )
+                  ).then(
+                    function () {
+                      n.$scope.appEvent(g.AppEvents.alertSuccess, [
+                        "Playlist saved",
+                      ]),
+                        n.$location.path("/playlists");
+                    },
+                    function () {
+                      n.$scope.appEvent(g.AppEvents.alertError, [
+                        "Unable to save playlist",
+                      ]);
+                    }
+                  );
+              },
+            },
+            {
+              key: "isPlaylistEmpty",
+              value: function () {
+                return !this.playlistItems.length;
+              },
+            },
+            {
+              key: "backToList",
+              value: function () {
+                this.$location.path("/playlists");
+              },
+            },
+            {
+              key: "searchStarted",
+              value: function (e) {
+                var t = this;
+                e.then(function (e) {
+                  (t.dashboardresult = e.dashboardResult),
+                    (t.tagresult = e.tagResult),
+                    t.filterFoundPlaylistItems();
+                });
+              },
+            },
+            {
+              key: "movePlaylistItem",
+              value: function (e, t) {
+                var n = this.playlistItems.indexOf(e),
+                  r = n + t;
+                r >= 0 &&
+                  r < this.playlistItems.length &&
+                  (this.playlistItems.splice(n, 1),
+                  this.playlistItems.splice(r, 0, e));
+              },
+            },
+            {
+              key: "movePlaylistItemUp",
+              value: function (e) {
+                this.movePlaylistItem(e, -1);
+              },
+            },
+            {
+              key: "movePlaylistItemDown",
+              value: function (e) {
+                this.movePlaylistItem(e, 1);
+              },
+            },
+          ]) && Fi(t.prototype, n),
+          r && Fi(t, r),
+          e
+        );
+      })();
+      function Vi(e) {
+        e.when("/playlists", {
+          templateUrl: "public/app/features/playlist/partials/playlists.html",
+          controllerAs: "ctrl",
+          controller: "PlaylistsCtrl",
+        })
+          .when("/playlists/create", {
+            templateUrl: "public/app/features/playlist/partials/playlist.html",
+            controllerAs: "ctrl",
+            controller: "PlaylistEditCtrl",
+          })
+          .when("/playlists/edit/:id", {
+            templateUrl: "public/app/features/playlist/partials/playlist.html",
+            controllerAs: "ctrl",
+            controller: "PlaylistEditCtrl",
+          })
+          .when("/playlists/play/:id", {
+            template: "",
+            resolve: {
+              init: [
+                "playlistSrv",
+                "$route",
+                function (e, t) {
+                  var n = t.current.params.id;
+                  e.start(n);
+                },
+              ],
+            },
+          });
+      }
+      O.c.controller("PlaylistEditCtrl", Li),
+        (Vi.$inject = ["$routeProvider"]),
+        u.a.module("grafana.routes").config(Vi);
+      var Bi = n("CLuu"),
+        $i = n.n(Bi),
+        qi = u.a.module("grafana.directives");
+      qi.directive("grafanaPanel", [
+        "$rootScope",
+        "$document",
+        "$timeout",
+        function (e, t, n) {
+          return {
+            restrict: "E",
+            template:
+              '\n  <ng-transclude class="panel-height-helper"></ng-transclude>\n',
+            transclude: !0,
+            scope: { ctrl: "=" },
+            link: function (e, t) {
+              var r,
+                a = e.ctrl,
+                o = e.ctrl.panel;
+              function i() {
+                r && r.update();
+              }
+              a.events.on(g.PanelEvents.componentDidMount, function () {
+                if (a.__proto__.constructor.scrollable) {
+                  var e = t,
+                    n = t.find(":first").find(":first");
+                  e.addClass(
+                    "baron baron__root baron__clipper panel-content--scrollable"
+                  ),
+                    $(
+                      '\n            <div class="baron__track">\n              <div class="baron__bar"></div>\n            </div>\n          '
+                    ).appendTo(e),
+                    n.addClass("baron__scroller"),
+                    (r = $i()({
+                      root: e[0],
+                      scroller: n[0],
+                      bar: ".baron__bar",
+                      barOnCls: "_scrollbar",
+                      scrollingCls: "_scrolling",
+                    })).scroll();
+                }
+              }),
+                o.events.on(g.PanelEvents.refresh, function () {
+                  (a.height = e.$parent.$parent.size.height),
+                    (a.width = e.$parent.$parent.size.width);
+                }),
+                o.events.on(g.PanelEvents.render, function (t) {
+                  (a.height = e.$parent.$parent.size.height),
+                    (a.width = e.$parent.$parent.size.width);
+                }),
+                o.events.on(g.PanelEvents.panelSizeChanged, function () {
+                  n(function () {
+                    i(), a.render();
+                  });
+                }),
+                o.events.on(g.PanelEvents.viewModeChanged, function () {
+                  setTimeout(function () {
+                    n(function () {
+                      a.render(), i();
+                    });
+                  }, 10);
+                }),
+                e.$on("$destroy", function () {
+                  t.off(),
+                    o.events.emit(g.PanelEvents.panelTeardown),
+                    o.events.removeAllListeners(),
+                    r && r.dispose();
+                });
+            },
+          };
+        },
+      ]);
+      n("fQqI");
+      Hi.$inject = ["dynamicDirectiveSrv"];
+      var Ui = u.a.module("grafana.directives"),
+        zi = {};
+      function Hi(e) {
+        return e.create({
+          scope: { ctrl: "=", editorTab: "=" },
+          directive: function (e) {
+            var t = e.ctrl.pluginId,
+              n = e.editorTab.title
+                .toLowerCase()
+                .replace(" ", "-")
+                .replace("&", "")
+                .replace(" ", "")
+                .replace(" ", "-");
+            if (zi[t]) {
+              if (zi[t][n]) return zi[t][n];
+            } else zi[t] = [];
+            var r = {
+              fn: function () {
+                return e.editorTab.directiveFn();
+              },
+              name: "panel-editor-tab-".concat(t).concat(n),
+            };
+            return (zi[t][n] = r), r;
+          },
+        });
+      }
+      Ui.directive("panelEditorTab", Hi);
+      var Gi = u.a.module("grafana.directives"),
+        Wi = function e() {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.panelCtrl = this.queryCtrl.panelCtrl),
+            (this.target = this.queryCtrl.target),
+            (this.panel = this.panelCtrl.panel),
+            this.hasTextEditMode &&
+              this.queryCtrl.toggleEditorMode &&
+              (this.panelCtrl.toggleEditorMode = this.queryCtrl.toggleEditorMode.bind(
+                this.queryCtrl
+              )),
+            this.queryCtrl.getCollapsedText &&
+              (this.panelCtrl.getCollapsedText = this.queryCtrl.getCollapsedText.bind(
+                this.queryCtrl
+              ));
+        };
+      Gi.directive("queryEditorRow", function () {
+        return {
+          restrict: "E",
+          controller: Wi,
+          bindToController: !0,
+          controllerAs: "ctrl",
+          templateUrl:
+            "public/app/features/panel/partials/query_editor_row.html",
+          transclude: !0,
+          scope: { queryCtrl: "=", canCollapse: "=", hasTextEditMode: "=" },
+        };
+      }),
+        (Qi.$inject = ["variableSrv"]);
+      function Qi(e) {
+        return {
+          restrict: "E",
+          template:
+            '\n<div class="gf-form-select-wrapper max-width-18">\n  <select class="gf-form-input" ng-model="panel.repeat" ng-options="f.value as f.text for f in variables" ng-change="optionChanged()">\n  <option value=""></option>\n</div>\n',
+          scope: { panel: "=" },
+          link: function (t, n) {
+            n.css({ display: "block", width: "100%" }),
+              Object(m.c)().featureToggles.newVariables &&
+                (t.variables = Object(yr.d)().map(function (e) {
+                  return { text: e.name, value: e.name };
+                })),
+              Object(m.c)().featureToggles.newVariables ||
+                (t.variables = e.variables.map(function (e) {
+                  return { text: e.name, value: e.name };
+                })),
+              0 === t.variables.length &&
+                t.variables.unshift({
+                  text: "No template variables found",
+                  value: null,
+                }),
+              t.variables.unshift({ text: "Disabled", value: null }),
+              t.panel.repeat &&
+                !t.panel.repeatDirection &&
+                (t.panel.repeatDirection = "h"),
+              (t.optionChanged = function () {
+                t.panel.repeat && (t.panel.repeatDirection = "h");
+              });
+          },
+        };
+      }
+      x.c.directive("dashRepeatOption", Qi);
+      var Yi = function e(t) {
+        !(function (e, t) {
+          if (!(e instanceof t))
+            throw new TypeError("Cannot call a class as a function");
+        })(this, e),
+          (t.panel.links = t.panel.links || []),
+          (t.addLink = function () {
+            t.panel.links.push({ type: "dashboard" });
+          }),
+          (t.searchDashboards = function (e, t) {
+            S.b.search({ query: e }).then(function (e) {
+              var n = i.a.map(e, function (e) {
+                return e.title;
+              });
+              t(n);
+            });
+          }),
+          (t.dashboardChanged = function (e) {
+            S.b.search({ query: e.dashboard }).then(function (t) {
+              var n = i.a.find(t, { title: e.dashboard });
+              n &&
+                (n.url ? (e.url = n.url) : (e.dashUri = n.uri),
+                (e.title = n.title));
+            });
+          }),
+          (t.deleteLink = function (e) {
+            t.panel.links = i.a.without(t.panel.links, e);
+          });
+      };
+      (Yi.$inject = ["$scope"]),
+        (Yi.$inject = ["$scope"]),
+        u.a
+          .module("grafana.directives")
+          .directive("panelLinksEditor", function () {
+            return {
+              scope: { panel: "=" },
+              restrict: "E",
+              controller: "PanelLinksEditorCtrl",
+              templateUrl: "public/app/features/panel/panellinks/module.html",
+              link: function () {},
+            };
+          })
+          .controller("PanelLinksEditorCtrl", Yi);
+      var Ki = function e(t, n) {
+        !(function (e, t) {
+          if (!(e instanceof t))
+            throw new TypeError("Cannot call a class as a function");
+        })(this, e),
+          (n.sidemenu = !1),
+          (t.navModel = {
+            main: {
+              icon: "gicon gicon-branding",
+              subTitle: "Preferences",
+              text: "Select active organization",
+            },
+          }),
+          (t.init = function () {
+            t.getUserOrgs();
+          }),
+          (t.getUserOrgs = function () {
+            Object(D.a)(t)(
+              Object(we.getBackendSrv)()
+                .get("/api/user/orgs")
+                .then(function (e) {
+                  t.orgs = e;
+                })
+            );
+          }),
+          (t.setUsingOrg = function (e) {
+            Object(we.getBackendSrv)()
+              .post("/api/user/using/" + e.orgId)
+              .then(function () {
+                window.location.href = m.b.appSubUrl + "/";
+              });
+          }),
+          t.init();
+      };
+      (Ki.$inject = ["$scope", "contextSrv"]),
+        (Ki.$inject = ["$scope", "contextSrv"]),
+        u.a.module("grafana.controllers").controller("SelectOrgCtrl", Ki);
+      var Ji = function e(t, n, r) {
+        !(function (e, t) {
+          if (!(e instanceof t))
+            throw new TypeError("Cannot call a class as a function");
+        })(this, e),
+          (t.navModel = r.getNav("admin", "global-orgs", 0)),
+          (t.newOrg = { name: "" }),
+          (t.createOrg = function () {
+            Object(we.getBackendSrv)()
+              .post("/api/orgs/", t.newOrg)
+              .then(function (e) {
+                Object(we.getBackendSrv)()
+                  .post("/api/user/using/" + e.orgId)
+                  .then(function () {
+                    window.location.href = m.b.appSubUrl + "/org";
+                  });
+              });
+          });
+      };
+      function Zi(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      (Ji.$inject = ["$scope", "$http", "navModelSrv"]),
+        (Ji.$inject = ["$scope", "$http", "navModelSrv"]),
+        u.a.module("grafana.controllers").controller("NewOrgCtrl", Ji);
+      var Xi = (function () {
+        function e(t, n) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$scope = t),
+            (this.pages = []),
+            (this.perPage = 50),
+            (this.page = 1),
+            (this.showPaging = !1),
+            (this.navModel = n.getNav("admin", "global-users", 0)),
+            (this.query = ""),
+            this.getUsers();
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$scope", "navModelSrv"]),
+          (t = e),
+          (n = [
+            {
+              key: "getUsers",
+              value: function () {
+                var e = this;
+                Object(D.a)(this.$scope)(
+                  Object(we.getBackendSrv)()
+                    .get(
+                      "/api/users/search?perpage="
+                        .concat(this.perPage, "&page=")
+                        .concat(this.page, "&query=")
+                        .concat(this.query)
+                    )
+                    .then(function (t) {
+                      (e.users = t.users),
+                        (e.page = t.page),
+                        (e.perPage = t.perPage),
+                        (e.totalPages = Math.ceil(t.totalCount / t.perPage)),
+                        (e.showPaging = e.totalPages > 1),
+                        (e.pages = []);
+                      for (var n = 1; n < e.totalPages + 1; n++)
+                        e.pages.push({ page: n, current: n === e.page });
+                      e.addUsersAuthLabels();
+                    })
+                );
+              },
+            },
+            {
+              key: "navigateToPage",
+              value: function (e) {
+                (this.page = e.page), this.getUsers();
+              },
+            },
+            {
+              key: "addUsersAuthLabels",
+              value: function () {
+                var e = !0,
+                  t = !1,
+                  n = void 0;
+                try {
+                  for (
+                    var r, a = this.users[Symbol.iterator]();
+                    !(e = (r = a.next()).done);
+                    e = !0
+                  ) {
+                    var o = r.value;
+                    (o.authLabel = el(o)), (o.authLabelStyle = tl(o.authLabel));
+                  }
+                } catch (e) {
+                  (t = !0), (n = e);
+                } finally {
+                  try {
+                    e || null == a.return || a.return();
+                  } finally {
+                    if (t) throw n;
+                  }
+                }
+              },
+            },
+          ]) && Zi(t.prototype, n),
+          r && Zi(t, r),
+          e
+        );
+      })();
+      function el(e) {
+        return e.authLabels && e.authLabels.length ? e.authLabels[0] : "";
+      }
+      function tl(e) {
+        if ("LDAP" === e || !e) return {};
+        var t = Object(ee.getTagColorsFromName)(e);
+        return { "background-color": t.color, "border-color": t.borderColor };
+      }
+      var nl = function e(t, n, r, a) {
+        !(function (e, t) {
+          if (!(e instanceof t))
+            throw new TypeError("Cannot call a class as a function");
+        })(this, e),
+          (t.user = {}),
+          (t.sessions = []),
+          (t.newOrg = { name: "", role: "Editor" }),
+          (t.permissions = {}),
+          (t.navModel = a.getNav("admin", "global-users", 0)),
+          (t.init = function () {
+            n.id &&
+              Object(D.a)(t)(
+                Promise.all([
+                  t.getUser(n.id),
+                  t.getUserSessions(n.id),
+                  t.getUserOrgs(n.id),
+                ])
+              );
+          }),
+          (t.getUser = function (e) {
+            return Object(we.getBackendSrv)()
+              .get("/api/users/" + e)
+              .then(function (n) {
+                (t.user = n),
+                  (t.user_id = e),
+                  (t.permissions.isGrafanaAdmin = n.isGrafanaAdmin);
+              });
+          }),
+          (t.getUserSessions = function (e) {
+            return Object(we.getBackendSrv)()
+              .get("/api/admin/users/" + e + "/auth-tokens")
+              .then(function (e) {
+                e.reverse(),
+                  (t.sessions = e.map(function (e) {
+                    return {
+                      id: e.id,
+                      isActive: e.isActive,
+                      seenAt: Object(g.dateTime)(e.seenAt).fromNow(),
+                      createdAt: Object(g.dateTime)(e.createdAt).format(
+                        "MMMM DD, YYYY"
+                      ),
+                      clientIp: e.clientIp,
+                      browser: e.browser,
+                      browserVersion: e.browserVersion,
+                      os: e.os,
+                      osVersion: e.osVersion,
+                      device: e.device,
+                    };
+                  }));
+              });
+          }),
+          (t.revokeUserSession = function (e) {
+            Object(D.a)(t)(
+              Object(we.getBackendSrv)()
+                .post("/api/admin/users/" + t.user_id + "/revoke-auth-token", {
+                  authTokenId: e,
+                })
+                .then(function () {
+                  t.sessions = t.sessions.filter(function (t) {
+                    return t.id !== e;
+                  });
+                })
+            );
+          }),
+          (t.revokeAllUserSessions = function (e) {
+            Object(D.a)(t)(
+              Object(we.getBackendSrv)()
+                .post("/api/admin/users/" + t.user_id + "/logout")
+                .then(function () {
+                  t.sessions = [];
+                })
+            );
+          }),
+          (t.setPassword = function () {
+            if (t.passwordForm.$valid) {
+              var e = { password: t.password };
+              Object(D.a)(t)(
+                Object(we.getBackendSrv)()
+                  .put("/api/admin/users/" + t.user_id + "/password", e)
+                  .then(function () {
+                    r.path("/admin/users");
+                  })
+              );
+            }
+          }),
+          (t.updatePermissions = function () {
+            var e = t.permissions;
+            Object(we.getBackendSrv)().put(
+              "/api/admin/users/" + t.user_id + "/permissions",
+              e
+            );
+          }),
+          (t.getUserOrgs = function (e) {
+            return Object(we.getBackendSrv)()
+              .get("/api/users/" + e + "/orgs")
+              .then(function (e) {
+                t.orgs = e;
+              });
+          }),
+          (t.update = function () {
+            t.userForm.$valid &&
+              Object(D.a)(t)(
+                Object(we.getBackendSrv)()
+                  .put("/api/users/" + t.user_id, t.user)
+                  .then(function () {
+                    r.path("/admin/users");
+                  })
+              );
+          }),
+          (t.updateOrgUser = function (e) {
+            Object(D.a)(t)(
+              Object(we.getBackendSrv)().patch(
+                "/api/orgs/" + e.orgId + "/users/" + t.user_id,
+                e
+              )
+            );
+          }),
+          (t.removeOrgUser = function (e) {
+            Object(D.a)(t)(
+              Object(we.getBackendSrv)()
+                .delete("/api/orgs/" + e.orgId + "/users/" + t.user_id)
+                .then(function () {
+                  return Promise.all([
+                    t.getUser(t.user_id),
+                    t.getUserOrgs(t.user_id),
+                  ]);
+                })
+            );
+          }),
+          (t.orgsSearchCache = []),
+          (t.searchOrgs = function (e, n) {
+            t.orgsSearchCache.length > 0
+              ? n(i.a.map(t.orgsSearchCache, "name"))
+              : Object(D.a)(t)(
+                  Object(we.getBackendSrv)()
+                    .get("/api/orgs", { query: "" })
+                    .then(function (e) {
+                      (t.orgsSearchCache = e), n(i.a.map(e, "name"));
+                    })
+                );
+          }),
+          (t.addOrgUser = function () {
+            if (t.addOrgForm.$valid) {
+              var e = i.a.find(t.orgsSearchCache, { name: t.newOrg.name });
+              e &&
+                ((t.newOrg.loginOrEmail = t.user.login),
+                Object(D.a)(t)(
+                  Object(we.getBackendSrv)()
+                    .post("/api/orgs/" + e.id + "/users/", t.newOrg)
+                    .then(function () {
+                      return Promise.all([
+                        t.getUser(t.user_id),
+                        t.getUserOrgs(t.user_id),
+                      ]);
+                    })
+                ));
+            }
+          }),
+          (t.deleteUser = function (e) {
+            t.appEvent(j.CoreEvents.showConfirmModal, {
+              title: "Delete",
+              text: "Do you want to delete " + e.login + "?",
+              icon: "fa-trash",
+              yesText: "Delete",
+              onConfirm: function () {
+                Object(D.a)(t)(
+                  Object(we.getBackendSrv)()
+                    .delete("/api/admin/users/" + e.id)
+                    .then(function () {
+                      r.path("/admin/users");
+                    })
+                );
+              },
+            });
+          }),
+          (t.disableUser = function (e) {
+            var n = t.user;
+            if (n.isExternal)
+              return e.preventDefault(), void e.stopPropagation();
+            var r = n.isDisabled ? "/enable" : "/disable";
+            Object(we.getBackendSrv)()
+              .post("/api/admin/users/" + n.id + r)
+              .then(function () {
+                return t.init();
+              });
+          }),
+          t.init();
+      };
+      function rl(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function al(e) {
+        return function () {
+          var t = this,
+            n = arguments;
+          return new Promise(function (r, a) {
+            var o = e.apply(t, n);
+            function i(e) {
+              rl(o, r, a, i, l, "next", e);
+            }
+            function l(e) {
+              rl(o, r, a, i, l, "throw", e);
+            }
+            i(void 0);
+          });
+        };
+      }
+      nl.$inject = ["$scope", "$routeParams", "$location", "navModelSrv"];
+      var ol = function e(t, n) {
+        !(function (e, t) {
+          if (!(e instanceof t))
+            throw new TypeError("Cannot call a class as a function");
+        })(this, e),
+          (t.init = al(
+            regeneratorRuntime.mark(function e() {
+              return regeneratorRuntime.wrap(function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      return (
+                        (t.navModel = n.getNav("admin", "global-orgs", 0)),
+                        (e.next = 3),
+                        t.getOrgs()
+                      );
+                    case 3:
+                    case "end":
+                      return e.stop();
+                  }
+              }, e);
+            })
+          )),
+          (t.getOrgs = al(
+            regeneratorRuntime.mark(function e() {
+              var n;
+              return regeneratorRuntime.wrap(function (e) {
+                for (;;)
+                  switch ((e.prev = e.next)) {
+                    case 0:
+                      return (
+                        (e.next = 2),
+                        Object(D.a)(t)(
+                          Object(we.getBackendSrv)().get("/api/orgs")
+                        )
+                      );
+                    case 2:
+                      (n = e.sent), (t.orgs = n);
+                    case 4:
+                    case "end":
+                      return e.stop();
+                  }
+              }, e);
+            })
+          )),
+          (t.deleteOrg = function (e) {
+            var n;
+            t.appEvent(j.CoreEvents.showConfirmModal, {
+              title: "Delete",
+              text: "Do you want to delete organization ".concat(e.name, "?"),
+              text2: "All dashboards for this organization will be removed!",
+              icon: "fa-trash",
+              yesText: "Delete",
+              onConfirm:
+                ((n = al(
+                  regeneratorRuntime.mark(function n() {
+                    return regeneratorRuntime.wrap(function (n) {
+                      for (;;)
+                        switch ((n.prev = n.next)) {
+                          case 0:
+                            return (
+                              (n.next = 2),
+                              Object(we.getBackendSrv)().delete(
+                                "/api/orgs/" + e.id
+                              )
+                            );
+                          case 2:
+                            return (n.next = 4), t.getOrgs();
+                          case 4:
+                          case "end":
+                            return n.stop();
+                        }
+                    }, n);
+                  })
+                )),
+                function () {
+                  return n.apply(this, arguments);
+                }),
+            });
+          }),
+          t.init();
+      };
+      ol.$inject = ["$scope", "navModelSrv"];
+      var il = function e(t, n, r, a) {
+        !(function (e, t) {
+          if (!(e instanceof t))
+            throw new TypeError("Cannot call a class as a function");
+        })(this, e),
+          (t.init = function () {
+            (t.navModel = a.getNav("admin", "global-orgs", 0)),
+              n.id &&
+                Object(D.a)(t)(
+                  Promise.all([t.getOrg(n.id), t.getOrgUsers(n.id)])
+                );
+          }),
+          (t.getOrg = function (e) {
+            return Object(we.getBackendSrv)()
+              .get("/api/orgs/" + e)
+              .then(function (e) {
+                t.org = e;
+              });
+          }),
+          (t.getOrgUsers = function (e) {
+            return Object(we.getBackendSrv)()
+              .get("/api/orgs/" + e + "/users")
+              .then(function (e) {
+                t.orgUsers = e;
+              });
+          }),
+          (t.update = function () {
+            t.orgDetailsForm.$valid &&
+              Object(D.a)(t)(
+                Object(we.getBackendSrv)()
+                  .put("/api/orgs/" + t.org.id, t.org)
+                  .then(function () {
+                    r.path("/admin/orgs");
+                  })
+              );
+          }),
+          (t.updateOrgUser = function (e) {
+            Object(we.getBackendSrv)().patch(
+              "/api/orgs/" + e.orgId + "/users/" + e.userId,
+              e
+            );
+          }),
+          (t.removeOrgUser = function (e) {
+            Object(D.a)(t)(
+              Object(we.getBackendSrv)()
+                .delete("/api/orgs/" + e.orgId + "/users/" + e.userId)
+                .then(function () {
+                  return t.getOrgUsers(t.org.id);
+                })
+            );
+          }),
+          t.init();
+      };
+      il.$inject = ["$scope", "$routeParams", "$location", "navModelSrv"];
+      var ll = function e(t) {
+        !(function (e, t) {
+          if (!(e instanceof t))
+            throw new TypeError("Cannot call a class as a function");
+        })(this, e),
+          (this.navModel = t.getNav("admin"));
+      };
+      function sl(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      (ll.$inject = ["navModelSrv"]),
+        (ll.$inject = ["navModelSrv"]),
+        O.c.controller("AdminListUsersCtrl", Xi),
+        O.c.controller("AdminEditUserCtrl", nl),
+        O.c.controller("AdminListOrgsCtrl", ol),
+        O.c.controller("AdminEditOrgCtrl", il),
+        O.c.controller("AdminHomeCtrl", ll);
+      var cl = (function () {
+        function e(t, n, r, a, o) {
+          var l = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$scope = t),
+            (this.$routeParams = n),
+            (this.$location = r),
+            (this.$templateCache = a),
+            (this.testSeverity = "critical"),
+            (this.defaults = {
+              type: "email",
+              sendReminder: !1,
+              disableResolveMessage: !1,
+              frequency: "15m",
+              settings: {
+                httpMethod: "POST",
+                autoResolve: !0,
+                severity: "critical",
+                uploadImage: !0,
+              },
+              isDefault: !1,
+            }),
+            (this.navModel = o.getNav("alerting", "channels", 0)),
+            (this.isNew = !this.$routeParams.id),
+            (this.getFrequencySuggestion = function () {
+              return ["1m", "5m", "10m", "15m", "30m", "1h"];
+            }),
+            Object(D.a)(this.$scope)(
+              Object(we.getBackendSrv)()
+                .get("/api/alert-notifiers")
+                .then(function (e) {
+                  l.notifiers = e;
+                  var t = !0,
+                    n = !1,
+                    r = void 0;
+                  try {
+                    for (
+                      var a, o = l.notifiers[Symbol.iterator]();
+                      !(t = (a = o.next()).done);
+                      t = !0
+                    ) {
+                      var s = a.value;
+                      l.$templateCache.put(
+                        l.getNotifierTemplateId(s.type),
+                        s.optionsTemplate
+                      );
+                    }
+                  } catch (e) {
+                    (n = !0), (r = e);
+                  } finally {
+                    try {
+                      t || null == o.return || o.return();
+                    } finally {
+                      if (n) throw r;
+                    }
+                  }
+                  return l.$routeParams.id
+                    ? Object(we.getBackendSrv)()
+                        .get(
+                          "/api/alert-notifications/".concat(l.$routeParams.id)
+                        )
+                        .then(function (e) {
+                          return (
+                            l.navModel.breadcrumbs.push({ text: e.name }),
+                            (l.navModel.node = { text: e.name }),
+                            (e.settings = i.a.defaults(
+                              e.settings,
+                              l.defaults.settings
+                            )),
+                            e
+                          );
+                        })
+                    : (l.navModel.breadcrumbs.push({ text: "New channel" }),
+                      (l.navModel.node = { text: "New channel" }),
+                      i.a.defaults(l.model, l.defaults));
+                })
+                .then(function (e) {
+                  (l.model = e),
+                    (l.notifierTemplateId = l.getNotifierTemplateId(
+                      l.model.type
+                    ));
+                })
+            );
+        }
+        var t, n, r;
+        return (
+          (e.$inject = [
+            "$scope",
+            "$routeParams",
+            "$location",
+            "$templateCache",
+            "navModelSrv",
+          ]),
+          (t = e),
+          (n = [
+            {
+              key: "save",
+              value: function () {
+                var e = this;
+                this.theForm.$valid &&
+                  (this.model.id
+                    ? Object(D.a)(this.$scope)(
+                        Object(we.getBackendSrv)()
+                          .put(
+                            "/api/alert-notifications/".concat(this.model.id),
+                            this.model
+                          )
+                          .then(function (t) {
+                            (e.model = t),
+                              x.a.emit(g.AppEvents.alertSuccess, [
+                                "Notification updated",
+                              ]);
+                          })
+                          .catch(function (e) {
+                            e.data &&
+                              e.data.error &&
+                              x.a.emit(g.AppEvents.alertError, [e.data.error]);
+                          })
+                      )
+                    : Object(D.a)(this.$scope)(
+                        Object(we.getBackendSrv)()
+                          .post("/api/alert-notifications", this.model)
+                          .then(function (t) {
+                            x.a.emit(g.AppEvents.alertSuccess, [
+                              "Notification created",
+                            ]),
+                              e.$location.path("alerting/notifications");
+                          })
+                          .catch(function (e) {
+                            e.data &&
+                              e.data.error &&
+                              x.a.emit(g.AppEvents.alertError, [e.data.error]);
+                          })
+                      ));
+              },
+            },
+            {
+              key: "deleteNotification",
+              value: function () {
+                var e = this;
+                Object(D.a)(this.$scope)(
+                  Object(we.getBackendSrv)()
+                    .delete("/api/alert-notifications/".concat(this.model.id))
+                    .then(function (t) {
+                      (e.model = t), e.$location.path("alerting/notifications");
+                    })
+                );
+              },
+            },
+            {
+              key: "getNotifierTemplateId",
+              value: function (e) {
+                return "notifier-options-".concat(e);
+              },
+            },
+            {
+              key: "typeChanged",
+              value: function () {
+                (this.model.settings = i.a.defaults(
+                  {},
+                  this.defaults.settings
+                )),
+                  (this.notifierTemplateId = this.getNotifierTemplateId(
+                    this.model.type
+                  ));
+              },
+            },
+            {
+              key: "testNotification",
+              value: function () {
+                if (this.theForm.$valid) {
+                  var e = {
+                    name: this.model.name,
+                    type: this.model.type,
+                    frequency: this.model.frequency,
+                    settings: this.model.settings,
+                  };
+                  Object(D.a)(this.$scope)(
+                    Object(we.getBackendSrv)().post(
+                      "/api/alert-notifications/test",
+                      e
+                    )
+                  );
+                }
+              },
+            },
+          ]) && sl(t.prototype, n),
+          r && sl(t, r),
+          e
+        );
+      })();
+      function ul(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      x.c.controller("AlertNotificationEditCtrl", cl);
+      var fl = (function () {
+        function e(t, n) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$scope = t),
+            this.loadNotifications(),
+            (this.navModel = n.getNav("alerting", "channels", 0));
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$scope", "navModelSrv"]),
+          (t = e),
+          (n = [
+            {
+              key: "loadNotifications",
+              value: function () {
+                var e = this;
+                Object(D.a)(this.$scope)(
+                  Object(we.getBackendSrv)()
+                    .get("/api/alert-notifications")
+                    .then(function (t) {
+                      e.notifications = t;
+                    })
+                );
+              },
+            },
+            {
+              key: "deleteNotification",
+              value: function (e) {
+                var t = this;
+                Object(D.a)(this.$scope)(
+                  Object(we.getBackendSrv)()
+                    .delete("/api/alert-notifications/".concat(e))
+                    .then(function () {
+                      t.notifications = t.notifications.filter(function (t) {
+                        return t.id !== e;
+                      });
+                    })
+                );
+              },
+            },
+          ]) && ul(t.prototype, n),
+          r && ul(t, r),
+          e
+        );
+      })();
+      function dl(e, t, n, r, a, o, i) {
+        try {
+          var l = e[o](i),
+            s = l.value;
+        } catch (e) {
+          return void n(e);
+        }
+        l.done ? t(s) : Promise.resolve(s).then(r, a);
+      }
+      function pl(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      x.c.controller("AlertNotificationsListCtrl", fl);
+      var hl = "dash-folder",
+        ml = "dash-db",
+        gl = (function () {
+          function e() {
+            !(function (e, t) {
+              if (!(e instanceof t))
+                throw new TypeError("Cannot call a class as a function");
+            })(this, e),
+              (this.rootName = "general");
+          }
+          var t, n, r, a, o;
+          return (
+            (t = e),
+            (n = [
+              {
+                key: "validateNewDashboardName",
+                value: function (e, t) {
+                  return this.validate(
+                    e,
+                    t,
+                    "A dashboard in this folder with the same name already exists"
+                  );
+                },
+              },
+              {
+                key: "validateNewFolderName",
+                value: function (e) {
+                  return this.validate(
+                    0,
+                    e,
+                    "A folder or dashboard in the general folder with the same name already exists"
+                  );
+                },
+              },
+              {
+                key: "validate",
+                value:
+                  ((a = regeneratorRuntime.mark(function e(t, n, r) {
+                    var a, o, i, l, s, c, u, f, d, p;
+                    return regeneratorRuntime.wrap(
+                      function (e) {
+                        for (;;)
+                          switch ((e.prev = e.next)) {
+                            case 0:
+                              if (
+                                ((n = (n || "").trim()),
+                                (a = n.toLowerCase()),
+                                0 !== n.length)
+                              ) {
+                                e.next = 4;
+                                break;
+                              }
+                              throw {
+                                type: "REQUIRED",
+                                message: "Name is required",
+                              };
+                            case 4:
+                              if (0 !== t || a !== this.rootName) {
+                                e.next = 6;
+                                break;
+                              }
+                              throw {
+                                type: "EXISTING",
+                                message:
+                                  "This is a reserved name and cannot be used for a folder.",
+                              };
+                            case 6:
+                              return (
+                                (o = []).push(
+                                  S.b.search({
+                                    type: hl,
+                                    folderIds: [t],
+                                    query: n,
+                                  })
+                                ),
+                                o.push(
+                                  S.b.search({
+                                    type: ml,
+                                    folderIds: [t],
+                                    query: n,
+                                  })
+                                ),
+                                (e.next = 11),
+                                Promise.all(o)
+                              );
+                            case 11:
+                              (i = e.sent),
+                                (l = []),
+                                i.length > 0 && i[0].length > 0 && (l = i[0]),
+                                i.length > 1 &&
+                                  i[1].length > 0 &&
+                                  (l = l.concat(i[1])),
+                                (s = !0),
+                                (c = !1),
+                                (u = void 0),
+                                (e.prev = 18),
+                                (f = l[Symbol.iterator]());
+                            case 20:
+                              if ((s = (d = f.next()).done)) {
+                                e.next = 27;
+                                break;
+                              }
+                              if (
+                                ((p = d.value), a !== p.title.toLowerCase())
+                              ) {
+                                e.next = 24;
+                                break;
+                              }
+                              throw { type: "EXISTING", message: r };
+                            case 24:
+                              (s = !0), (e.next = 20);
+                              break;
+                            case 27:
+                              e.next = 33;
+                              break;
+                            case 29:
+                              (e.prev = 29),
+                                (e.t0 = e.catch(18)),
+                                (c = !0),
+                                (u = e.t0);
+                            case 33:
+                              (e.prev = 33),
+                                (e.prev = 34),
+                                s || null == f.return || f.return();
+                            case 36:
+                              if (((e.prev = 36), !c)) {
+                                e.next = 39;
+                                break;
+                              }
+                              throw u;
+                            case 39:
+                              return e.finish(36);
+                            case 40:
+                              return e.finish(33);
+                            case 41:
+                              return e.abrupt("return");
+                            case 42:
+                            case "end":
+                              return e.stop();
+                          }
+                      },
+                      e,
+                      this,
+                      [
+                        [18, 29, 33, 41],
+                        [34, , 36, 40],
+                      ]
+                    );
+                  })),
+                  (o = function () {
+                    var e = this,
+                      t = arguments;
+                    return new Promise(function (n, r) {
+                      var o = a.apply(e, t);
+                      function i(e) {
+                        dl(o, n, r, i, l, "next", e);
+                      }
+                      function l(e) {
+                        dl(o, n, r, i, l, "throw", e);
+                      }
+                      i(void 0);
+                    });
+                  }),
+                  function (e, t, n) {
+                    return o.apply(this, arguments);
+                  }),
+              },
+            ]) && pl(t.prototype, n),
+            r && pl(t, r),
+            e
+          );
+        })();
+      new gl();
+      O.c.service("validationSrv", gl);
+      var bl = function e(t) {
+        var n = this;
+        !(function (e, t) {
+          if (!(e instanceof t))
+            throw new TypeError("Cannot call a class as a function");
+        })(this, e),
+          (this.$scope = t),
+          (this.isValidFolderSelection = !0),
+          (this.onFolderChange = function (e) {
+            n.folder = e;
+          }),
+          (this.save = function () {
+            return Object(D.a)(n.$scope)(
+              S.b.moveDashboards(n.dashboards, n.folder).then(function (e) {
+                if (e.successCount > 0) {
+                  var t = "Dashboard".concat(
+                      1 === e.successCount ? "" : "s",
+                      " Moved"
+                    ),
+                    r = ""
+                      .concat(e.successCount, " dashboard")
+                      .concat(1 === e.successCount ? "" : "s", " moved to ")
+                      .concat(n.folder.title);
+                  b.b.emit(g.AppEvents.alertSuccess, [t, r]);
+                }
+                return (
+                  e.totalCount === e.alreadyInFolderCount &&
+                    b.b.emit(g.AppEvents.alertError, [
+                      "Error",
+                      "Dashboards already belongs to folder ".concat(
+                        n.folder.title
+                      ),
+                    ]),
+                  n.dismiss(),
+                  n.afterSave()
+                );
+              })
+            );
+          }),
+          (this.onEnterFolderCreation = function () {
+            n.isValidFolderSelection = !1;
+          }),
+          (this.onExitFolderCreation = function () {
+            n.isValidFolderSelection = !0;
+          });
+      };
+      (bl.$inject = ["$scope"]),
+        O.c.directive("moveToFolderModal", function () {
+          return {
+            restrict: "E",
+            templateUrl:
+              "public/app/features/manage-dashboards/components/MoveToFolderModal/template.html",
+            controller: bl,
+            bindToController: !0,
+            controllerAs: "ctrl",
+            scope: { dismiss: "&", dashboards: "=", afterSave: "&" },
+          };
+        }),
+        (vl.$inject = ["timer", "$location"]);
+      function vl(e, t) {
+        return {
+          restrict: "E",
+          template:
+            '\n<input type="file" id="dashupload" name="dashupload" class="hide" onchange="angular.element(this).scope().file_selected"/>\n<label class="btn btn-primary" for="dashupload">\n  {{btnText}}\n</label>\n',
+          scope: { onUpload: "&", btnText: "@?" },
+          link: function (e, t) {
+            e.btnText = u.a.isDefined(e.btnText)
+              ? e.btnText
+              : "Upload .json file";
+            var n = window;
+            n.File && n.FileReader && n.FileList && n.Blob
+              ? t[0].addEventListener(
+                  "change",
+                  function (t) {
+                    for (var n = t.target.files, r = 0, a = n[r]; a; ) {
+                      var o = new FileReader();
+                      (o.onload = function (t) {
+                        var n;
+                        try {
+                          n = JSON.parse(t.target.result);
+                        } catch (e) {
+                          return (
+                            console.log(e),
+                            void b.b.emit(g.AppEvents.alertError, [
+                              "Import failed",
+                              "JSON -> JS Serialization failed: " + e.message,
+                            ])
+                          );
+                        }
+                        e.$apply(function () {
+                          e.onUpload({ dash: n });
+                        });
+                      }),
+                        o.readAsText(a),
+                        (a = n[(r += 1)]);
+                    }
+                  },
+                  !1
+                )
+              : b.b.emit(g.AppEvents.alertError, [
+                  "Oops",
+                  "The HTML5 File APIs are not fully supported in this browser",
+                ]);
+          },
+        };
+      }
+      O.c.directive("dashUpload", vl);
+      var yl = function e(t) {
+        !(function (e, t) {
+          if (!(e instanceof t))
+            throw new TypeError("Cannot call a class as a function");
+        })(this, e),
+          (this.navModel = t.getNav("dashboards", "manage-dashboards", 0));
+      };
+      function wl(e, t) {
+        var n = Object.keys(e);
+        if (Object.getOwnPropertySymbols) {
+          var r = Object.getOwnPropertySymbols(e);
+          t &&
+            (r = r.filter(function (t) {
+              return Object.getOwnPropertyDescriptor(e, t).enumerable;
+            })),
+            n.push.apply(n, r);
+        }
+        return n;
+      }
+      function Ol(e, t, n) {
+        return (
+          t in e
+            ? Object.defineProperty(e, t, {
+                value: n,
+                enumerable: !0,
+                configurable: !0,
+                writable: !0,
+              })
+            : (e[t] = n),
+          e
+        );
+      }
+      function xl(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      yl.$inject = ["navModelSrv"];
+      var kl = (function () {
+        function e(t, n, r, a) {
+          var o = this;
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$rootScope = t),
+            (this.$location = r),
+            (this.$scope = a),
+            (this.navModel = n.getNav("dashboards", "snapshots", 0)),
+            Object(D.a)(this.$scope)(
+              Object(we.getBackendSrv)()
+                .get("/api/dashboard/snapshots")
+                .then(function (e) {
+                  var t = o.$location.absUrl().replace(r.url(), "");
+                  o.snapshots = e.map(function (e) {
+                    return (function (e) {
+                      for (var t = 1; t < arguments.length; t++) {
+                        var n = null != arguments[t] ? arguments[t] : {};
+                        t % 2
+                          ? wl(Object(n), !0).forEach(function (t) {
+                              Ol(e, t, n[t]);
+                            })
+                          : Object.getOwnPropertyDescriptors
+                          ? Object.defineProperties(
+                              e,
+                              Object.getOwnPropertyDescriptors(n)
+                            )
+                          : wl(Object(n)).forEach(function (t) {
+                              Object.defineProperty(
+                                e,
+                                t,
+                                Object.getOwnPropertyDescriptor(n, t)
+                              );
+                            });
+                      }
+                      return e;
+                    })({}, e, {
+                      url:
+                        e.externalUrl ||
+                        "".concat(t, "/dashboard/snapshot/").concat(e.key),
+                    });
+                  });
+                })
+            );
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$rootScope", "navModelSrv", "$location", "$scope"]),
+          (t = e),
+          (n = [
+            {
+              key: "removeSnapshotConfirmed",
+              value: function (e) {
+                var t = this;
+                i.a.remove(this.snapshots, { key: e.key }),
+                  Object(D.a)(this.$scope)(
+                    Object(we.getBackendSrv)()
+                      .delete("/api/snapshots/" + e.key)
+                      .then(
+                        function () {},
+                        function () {
+                          t.snapshots.push(e);
+                        }
+                      )
+                  );
+              },
+            },
+            {
+              key: "removeSnapshot",
+              value: function (e) {
+                var t = this;
+                this.$rootScope.appEvent(j.CoreEvents.showConfirmModal, {
+                  title: "Delete",
+                  text:
+                    "Are you sure you want to delete snapshot " + e.name + "?",
+                  yesText: "Delete",
+                  icon: "fa-trash",
+                  onConfirm: function () {
+                    t.removeSnapshotConfirmed(e);
+                  },
+                });
+              },
+            },
+          ]) && xl(t.prototype, n),
+          r && xl(t, r),
+          e
+        );
+      })();
+      function jl(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      O.c.controller("DashboardListCtrl", yl),
+        O.c.controller("SnapshotListCtrl", kl);
+      var Sl = (function () {
+        function e(t, n) {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (this.$scope = t),
+            (this.sessions = []),
+            this.getUserSessions(),
+            (this.navModel = n.getNav("profile", "profile-settings", 0));
+        }
+        var t, n, r;
+        return (
+          (e.$inject = ["$scope", "navModelSrv"]),
+          (t = e),
+          (n = [
+            {
+              key: "getUserSessions",
+              value: function () {
+                var e = this;
+                Object(D.a)(this.$scope)(
+                  Object(we.getBackendSrv)()
+                    .get("/api/user/auth-tokens")
+                    .then(function (t) {
+                      t.reverse();
+                      var n = t.findIndex(function (e) {
+                        return e.isActive;
+                      });
+                      if (n) {
+                        var r = t[n];
+                        t.splice(n, n), t.unshift(r);
+                      }
+                      e.sessions = t.map(function (e) {
+                        return {
+                          id: e.id,
+                          isActive: e.isActive,
+                          seenAt: Object(g.dateTime)(e.seenAt).fromNow(),
+                          createdAt: Object(g.dateTime)(e.createdAt).format(
+                            "MMMM DD, YYYY"
+                          ),
+                          clientIp: e.clientIp,
+                          browser: e.browser,
+                          browserVersion: e.browserVersion,
+                          os: e.os,
+                          osVersion: e.osVersion,
+                          device: e.device,
+                        };
+                      });
+                    })
+                );
+              },
+            },
+            {
+              key: "revokeUserSession",
+              value: function (e) {
+                var t = this;
+                Object(D.a)(this.$scope)(
+                  Object(we.getBackendSrv)()
+                    .post("/api/user/revoke-auth-token", { authTokenId: e })
+                    .then(function () {
+                      t.sessions = t.sessions.filter(function (t) {
+                        return t.id !== e;
+                      });
+                    })
+                );
+              },
+            },
+          ]) && jl(t.prototype, n),
+          r && jl(t, r),
+          e
+        );
+      })();
+      function El(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      x.c.controller("ProfileCtrl", Sl),
+        x.c.directive("datasourceHttpSettings", function () {
+          return {
+            scope: { current: "=", suggestUrl: "@", noDirectAccess: "@" },
+            templateUrl:
+              "public/app/features/datasources/partials/http_settings_next.html",
+            link: {
+              pre: function (e) {
+                (e.showAccessOption = "true" !== e.noDirectAccess),
+                  (e.onChange = function (t) {
+                    e.current = t;
+                  });
+              },
+            },
+          };
+        }),
+        x.c.directive("datasourceTlsAuthSettings", function () {
+          return {
+            scope: { current: "=" },
+            templateUrl:
+              "public/app/features/datasources/partials/tls_auth_settings.html",
+          };
+        }),
+        (i.a.move = function (e, t, n) {
+          return e.splice(n, 0, e.splice(t, 1)[0]), e;
+        });
+      var Cl = n("Nu4n");
+      Cl.keys().forEach(function (e) {
+        Cl(e);
+      });
+      var Pl = new ((function () {
+        function e() {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e),
+            (function (e) {
+              var t =
+                arguments.length > 1 && void 0 !== arguments[1]
+                  ? arguments[1]
+                  : document.body;
+              y && t.classList.add(e);
+            })("no-overlay-scrollbar"),
+            (this.preBootModules = []),
+            (this.registerFunctions = {}),
+            (this.ngModuleDependencies = []);
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "useModule",
+              value: function (e) {
+                return (
+                  this.preBootModules
+                    ? this.preBootModules.push(e)
+                    : i.a.extend(e, this.registerFunctions),
+                  this.ngModuleDependencies.push(e.name),
+                  e
+                );
+              },
+            },
+            {
+              key: "init",
+              value: function () {
+                var e = this,
+                  t = u.a.module("grafana", []);
+                Object(g.setLocale)(m.b.bootData.user.locale),
+                  Object(g.setMarkdownOptions)({
+                    sanitize: !m.b.disableSanitizeHtml,
+                  }),
+                  g.standardFieldConfigEditorRegistry.setInit(
+                    ee.getStandardFieldConfigs
+                  ),
+                  t.config([
+                    "$locationProvider",
+                    "$controllerProvider",
+                    "$compileProvider",
+                    "$filterProvider",
+                    "$httpProvider",
+                    "$provide",
+                    function (t, n, r, a, o, i) {
+                      r.preAssignBindingsEnabled(!0),
+                        "development" !== m.b.buildInfo.env &&
+                          r.debugInfoEnabled(!1),
+                        o.useApplyAsync(!0),
+                        (e.registerFunctions.controller = n.register),
+                        (e.registerFunctions.directive = r.directive),
+                        (e.registerFunctions.factory = i.factory),
+                        (e.registerFunctions.service = i.service),
+                        (e.registerFunctions.filter = a.register),
+                        i.decorator("$http", [
+                          "$delegate",
+                          "$templateCache",
+                          function (e, t) {
+                            var n = e.get;
+                            return (
+                              (e.get = function (e, r) {
+                                return (
+                                  e.match(/\.html$/) &&
+                                    (t.get(e) ||
+                                      (e += "?v=" + new Date().getTime())),
+                                  n(e, r)
+                                );
+                              }),
+                              e
+                            );
+                          },
+                        ]);
+                    },
+                  ]),
+                  (this.ngModuleDependencies = [
+                    "grafana.core",
+                    "ngRoute",
+                    "ngSanitize",
+                    "$strap.directives",
+                    "ang-drag-drop",
+                    "grafana",
+                    "pasvaz.bindonce",
+                    "react",
+                  ]),
+                  i.a.each(O.a, function (t) {
+                    e.useModule(t);
+                  }),
+                  O.b.config(ye),
+                  Object(x.e)(),
+                  (s.a.fn.tooltip.defaults.animation = !1),
+                  u.a
+                    .bootstrap(document, this.ngModuleDependencies)
+                    .invoke(function () {
+                      var t, n, r, a, o;
+                      i.a.each(e.preBootModules, function (t) {
+                        i.a.extend(t, e.registerFunctions);
+                      }),
+                        (e.preBootModules = null),
+                        (t = navigator.userAgent.indexOf("MSIE") > -1),
+                        (n =
+                          navigator.userAgent.indexOf("Edge/") > -1 ||
+                          navigator.userAgent.indexOf("Edg/") > -1),
+                        (r =
+                          navigator.userAgent.toLowerCase().indexOf("firefox") >
+                          -1),
+                        (a =
+                          /Chrome/.test(navigator.userAgent) &&
+                          /Google Inc/.test(navigator.vendor)),
+                        (o = /Edge\/([0-9.]+)/.exec(navigator.userAgent)),
+                        ((t &&
+                          parseFloat(
+                            /Trident\/([0-9.]+)/.exec(navigator.userAgent)[1]
+                          ) <= 7) ||
+                          (n &&
+                            ((o && parseFloat(o[1]) <= 16) ||
+                              parseFloat(
+                                /Edg\/([0-9.]+)/.exec(navigator.userAgent)[1]
+                              ) <= 16)) ||
+                          (r &&
+                            parseFloat(
+                              /Firefox\/([0-9.]+)/.exec(navigator.userAgent)[1]
+                            ) <= 64) ||
+                          (a &&
+                            parseFloat(
+                              /Chrome\/([0-9.]+)/.exec(navigator.userAgent)[1]
+                            ) <= 54)) &&
+                          setTimeout(function () {
+                            b.b.emit(g.AppEvents.alertWarning, [
+                              "Your browser is not fully supported",
+                              "A newer browser version is recommended",
+                            ]);
+                          }, 1e3);
+                    });
+                var n = !0,
+                  r = !1,
+                  a = void 0;
+                try {
+                  for (
+                    var o, l = m.b.pluginsToPreload[Symbol.iterator]();
+                    !(n = (o = l.next()).done);
+                    n = !0
+                  ) {
+                    var c = o.value;
+                    Object(w.d)(c);
+                  }
+                } catch (e) {
+                  (r = !0), (a = e);
+                } finally {
+                  try {
+                    n || null == l.return || l.return();
+                  } finally {
+                    if (r) throw a;
+                  }
+                }
+              },
+            },
+            {
+              key: "initEchoSrv",
+              value: function () {
+                Object(we.setEchoSrv)(new Se({ debug: !1 })),
+                  a.a.getFirstConsistentlyInteractive().then(function (e) {
+                    var t =
+                        performance && performance.getEntriesByType
+                          ? performance.getEntriesByType("paint")
+                          : [],
+                      n = !0,
+                      r = !1,
+                      a = void 0;
+                    try {
+                      for (
+                        var o, i = t[Symbol.iterator]();
+                        !(n = (o = i.next()).done);
+                        n = !0
+                      ) {
+                        var l = o.value;
+                        Ee(l.name, Math.round(l.startTime + l.duration));
+                      }
+                    } catch (e) {
+                      (r = !0), (a = e);
+                    } finally {
+                      try {
+                        n || null == i.return || i.return();
+                      } finally {
+                        if (r) throw a;
+                      }
+                    }
+                    Ee("tti", e);
+                  }),
+                  Object(we.registerEchoBackend)(new Ce({})),
+                  window.addEventListener("DOMContentLoaded", function () {
+                    Ee("dcl", Math.round(performance.now()));
+                  });
+              },
+            },
+          ]) && El(t.prototype, n),
+          r && El(t, r),
+          e
+        );
+      })())();
+      Pl.initEchoSrv(), Pl.init();
+    },
+    zlcF: function (e, t, n) {
+      "use strict";
+      var r, a;
+      function o(e) {
+        a = e;
+      }
+      function i() {
+        return a;
+      }
+      n.d(t, "a", function () {
+        return r;
+      }),
+        n.d(t, "d", function () {
+          return o;
+        }),
+        n.d(t, "b", function () {
+          return i;
+        }),
+        n.d(t, "c", function () {
+          return l;
+        }),
+        (function (e) {
+          (e.Performance = "performance"), (e.MetaAnalytics = "meta-analytics");
+        })(r || (r = {}));
+      var l = function (e) {
+        i().addBackend(e);
+      };
+    },
+    zogf: function (e, t, n) {
+      "use strict";
+      var r = n("LvDl"),
+        a = n.n(r),
+        o = n("ZFWI"),
+        i = n("t8hP");
+      function l(e, t) {
+        for (var n = 0; n < t.length; n++) {
+          var r = t[n];
+          (r.enumerable = r.enumerable || !1),
+            (r.configurable = !0),
+            "value" in r && (r.writable = !0),
+            Object.defineProperty(e, r.key, r);
+        }
+      }
+      var s = (function () {
+        function e() {
+          !(function (e, t) {
+            if (!(e instanceof t))
+              throw new TypeError("Cannot call a class as a function");
+          })(this, e);
+        }
+        var t, n, r;
+        return (
+          (t = e),
+          (n = [
+            {
+              key: "makeExportable",
+              value: function (e) {
+                e.cleanUpRepeats();
+                var t = e.getSaveModelClone();
+                (t.id = null), e.processRepeats();
+                var n = [],
+                  r = {},
+                  l = {},
+                  s = [],
+                  c = {},
+                  u = !0,
+                  f = !1,
+                  d = void 0;
+                try {
+                  for (
+                    var p, h = t.getVariables()[Symbol.iterator]();
+                    !(u = (p = h.next()).done);
+                    u = !0
+                  ) {
+                    var m = p.value;
+                    c[m.name] = m;
+                  }
+                } catch (e) {
+                  (f = !0), (d = e);
+                } finally {
+                  try {
+                    u || null == h.return || h.return();
+                  } finally {
+                    if (f) throw d;
+                  }
+                }
+                var g = function (e) {
+                    var t = e.datasource,
+                      n = null;
+                    t &&
+                      0 === t.indexOf("$") &&
+                      (n = c[t.substring(1)]) &&
+                      n.current &&
+                      (t = n.current.value),
+                      s.push(
+                        Object(i.getDataSourceSrv)()
+                          .get(t)
+                          .then(function (t) {
+                            var a, o, i, s, c, u, f;
+                            if (
+                              !(
+                                (null !== (a = t.meta) &&
+                                  void 0 !== a &&
+                                  a.builtIn) ||
+                                ((r[
+                                  "datasource" +
+                                    (null === (o = t.meta) || void 0 === o
+                                      ? void 0
+                                      : o.id)
+                                ] = {
+                                  type: "datasource",
+                                  id:
+                                    null === (i = t.meta) || void 0 === i
+                                      ? void 0
+                                      : i.id,
+                                  name:
+                                    null === (s = t.meta) || void 0 === s
+                                      ? void 0
+                                      : s.name,
+                                  version:
+                                    (null === (c = t.meta) || void 0 === c
+                                      ? void 0
+                                      : c.info.version) || "1.0.0",
+                                }),
+                                n)
+                              )
+                            ) {
+                              var d =
+                                "DS_" + t.name.replace(" ", "_").toUpperCase();
+                              (l[d] = {
+                                name: d,
+                                label: t.name,
+                                description: "",
+                                type: "datasource",
+                                pluginId:
+                                  null === (u = t.meta) || void 0 === u
+                                    ? void 0
+                                    : u.id,
+                                pluginName:
+                                  null === (f = t.meta) || void 0 === f
+                                    ? void 0
+                                    : f.name,
+                              }),
+                                (e.datasource = "${" + d + "}");
+                            }
+                          })
+                      );
+                  },
+                  b = function (e) {
+                    if ((void 0 !== e.datasource && g(e), e.targets)) {
+                      var t = !0,
+                        n = !1,
+                        a = void 0;
+                      try {
+                        for (
+                          var i, l = e.targets[Symbol.iterator]();
+                          !(t = (i = l.next()).done);
+                          t = !0
+                        ) {
+                          var s = i.value;
+                          void 0 !== s.datasource && g(s);
+                        }
+                      } catch (e) {
+                        (n = !0), (a = e);
+                      } finally {
+                        try {
+                          t || null == l.return || l.return();
+                        } finally {
+                          if (n) throw a;
+                        }
+                      }
+                    }
+                    var c = o.b.panels[e.type];
+                    c &&
+                      (r["panel" + c.id] = {
+                        type: "panel",
+                        id: c.id,
+                        name: c.name,
+                        version: c.info.version,
+                      });
+                  },
+                  v = !0,
+                  y = !1,
+                  w = void 0;
+                try {
+                  for (
+                    var O, x = t.panels[Symbol.iterator]();
+                    !(v = (O = x.next()).done);
+                    v = !0
+                  ) {
+                    var k = O.value;
+                    if (
+                      (b(k),
+                      void 0 !== k.collapsed && !0 === k.collapsed && k.panels)
+                    ) {
+                      var j = !0,
+                        S = !1,
+                        E = void 0;
+                      try {
+                        for (
+                          var C, P = k.panels[Symbol.iterator]();
+                          !(j = (C = P.next()).done);
+                          j = !0
+                        )
+                          b(C.value);
+                      } catch (e) {
+                        (S = !0), (E = e);
+                      } finally {
+                        try {
+                          j || null == P.return || P.return();
+                        } finally {
+                          if (S) throw E;
+                        }
+                      }
+                    }
+                  }
+                } catch (e) {
+                  (y = !0), (w = e);
+                } finally {
+                  try {
+                    v || null == x.return || x.return();
+                  } finally {
+                    if (y) throw w;
+                  }
+                }
+                var T = !0,
+                  D = !1,
+                  A = void 0;
+                try {
+                  for (
+                    var _, N = t.getVariables()[Symbol.iterator]();
+                    !(T = (_ = N.next()).done);
+                    T = !0
+                  ) {
+                    var M = _.value;
+                    "query" === M.type &&
+                      (g(M),
+                      (M.options = []),
+                      (M.current = {}),
+                      (M.refresh = M.refresh > 0 ? M.refresh : 1));
+                  }
+                } catch (e) {
+                  (D = !0), (A = e);
+                } finally {
+                  try {
+                    T || null == N.return || N.return();
+                  } finally {
+                    if (D) throw A;
+                  }
+                }
+                var I = !0,
+                  R = !1,
+                  F = void 0;
+                try {
+                  for (
+                    var L, V = t.annotations.list[Symbol.iterator]();
+                    !(I = (L = V.next()).done);
+                    I = !0
+                  ) {
+                    var B = L.value;
+                    g(B);
+                  }
+                } catch (e) {
+                  (R = !0), (F = e);
+                } finally {
+                  try {
+                    I || null == V.return || V.return();
+                  } finally {
+                    if (R) throw F;
+                  }
+                }
+                return (
+                  (r.grafana = {
+                    type: "grafana",
+                    id: "grafana",
+                    name: "Grafana",
+                    version: o.b.buildInfo.version,
+                  }),
+                  Promise.all(s)
+                    .then(function () {
+                      a.a.each(l, function (e) {
+                        n.push(e);
+                      });
+                      var e = !0,
+                        o = !1,
+                        i = void 0;
+                      try {
+                        for (
+                          var s, c = t.getVariables()[Symbol.iterator]();
+                          !(e = (s = c.next()).done);
+                          e = !0
+                        ) {
+                          var u = s.value;
+                          if ("constant" === u.type) {
+                            var f =
+                              "VAR_" + u.name.replace(" ", "_").toUpperCase();
+                            n.push({
+                              name: f,
+                              type: "constant",
+                              label: u.label || u.name,
+                              value: u.current.value,
+                              description: "",
+                            }),
+                              (u.query = "${" + f + "}"),
+                              (u.options[0] = u.current = {
+                                value: u.query,
+                                text: u.query,
+                              });
+                          }
+                        }
+                      } catch (e) {
+                        (o = !0), (i = e);
+                      } finally {
+                        try {
+                          e || null == c.return || c.return();
+                        } finally {
+                          if (o) throw i;
+                        }
+                      }
+                      var d = {};
+                      return (
+                        (d.__inputs = n),
+                        (d.__requires = a.a.sortBy(r, ["id"])),
+                        a.a.defaults(d, t),
+                        d
+                      );
+                    })
+                    .catch(function (e) {
+                      return console.log("Export failed:", e), { error: e };
+                    })
+                );
+              },
+            },
+          ]) && l(t.prototype, n),
+          r && l(t, r),
+          e
+        );
+      })();
+      n.d(t, "a", function () {
+        return s;
+      });
+    },
+    zp0N: function (e, t, n) {
+      "use strict";
+      n.d(t, "a", function () {
+        return a;
+      }),
+        n.d(t, "b", function () {
+          return o;
+        }),
+        n.d(t, "c", function () {
+          return i;
+        });
+      var r = n("0aAt"),
+        a = {
+          document: {
+            nodes: [
+              {
+                match: [
+                  { type: "paragraph" },
+                  { type: "code_block" },
+                  { type: "code_line" },
+                ],
+              },
+            ],
+          },
+          inlines: {},
+        },
+        o = function (e, t) {
+          var n = e.split("\n").map(function (e) {
+              return r.a.create({ type: "code_line", nodes: [r.m.create(e)] });
+            }),
+            a = r.a.create({
+              data: { syntax: t },
+              type: "code_block",
+              nodes: n,
+            });
+          return r.d.create({ nodes: [a] });
+        },
+        i = function (e, t) {
+          var n = o(e, t);
+          return r.n.create({ document: n });
+        };
+    },
+  },
+  [["zl43", 1, 27, 42, 51]],
+]);
+//# sourceMappingURL=app.62aab03371bdbe8128d7.js.map
\ No newline at end of file
-- 
GitLab