<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">(self["webpackChunkee_base_install"] = self["webpackChunkee_base_install"] || []).push([[98],{

/***/ 6023:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) =&gt; {

"use strict";

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  A: () =&gt; (/* binding */ bootstrap5)
});

// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
var esm_typeof = __webpack_require__(2284);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
var defineProperty = __webpack_require__(4467);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/get.js + 1 modules
var get = __webpack_require__(991);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 3 modules
var toConsumableArray = __webpack_require__(5458);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js + 1 modules
var possibleConstructorReturn = __webpack_require__(388);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js
var getPrototypeOf = __webpack_require__(3954);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js
var inherits = __webpack_require__(5501);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
var classCallCheck = __webpack_require__(3029);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
var createClass = __webpack_require__(2901);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 3 modules
var slicedToArray = __webpack_require__(296);
;// CONCATENATED MODULE: ./src/dependencies/modules/_bootstrap5.js










function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r &amp;&amp; (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r &lt; arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0,defineProperty/* default */.A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _superPropGet(t, e, o, r) { var p = (0,get/* default */.A)((0,getPrototypeOf/* default */.A)(1 &amp; r ? t.prototype : t), e, o); return 2 &amp; r &amp;&amp; "function" == typeof p ? function (t) { return p.apply(o, t); } : p; }
function _callSuper(t, o, e) { return o = (0,getPrototypeOf/* default */.A)(o), (0,possibleConstructorReturn/* default */.A)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,getPrototypeOf/* default */.A)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof self !== 'undefined' ? self : {};
function unwrapExports(x) {
  return x &amp;&amp; x.__esModule &amp;&amp; Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
}
function createCommonjsModule(fn, module) {
  return module = {
    exports: {}
  }, fn(module, module.exports), module.exports;
}
var popper = createCommonjsModule(function (module, exports) {
  !function (e, t) {
    t(exports);
  }(commonjsGlobal, function (e) {
    function t(e) {
      return {
        width: (e = e.getBoundingClientRect()).width,
        height: e.height,
        top: e.top,
        right: e.right,
        bottom: e.bottom,
        left: e.left,
        x: e.left,
        y: e.top
      };
    }
    function n(e) {
      return null == e ? window : "[object Window]" !== e.toString() ? (e = e.ownerDocument) &amp;&amp; e.defaultView || window : e;
    }
    function o(e) {
      return {
        scrollLeft: (e = n(e)).pageXOffset,
        scrollTop: e.pageYOffset
      };
    }
    function r(e) {
      return e instanceof n(e).Element || e instanceof Element;
    }
    function i(e) {
      return e instanceof n(e).HTMLElement || e instanceof HTMLElement;
    }
    function a(e) {
      return "undefined" != typeof ShadowRoot &amp;&amp; (e instanceof n(e).ShadowRoot || e instanceof ShadowRoot);
    }
    function s(e) {
      return e ? (e.nodeName || "").toLowerCase() : null;
    }
    function f(e) {
      return ((r(e) ? e.ownerDocument : e.document) || window.document).documentElement;
    }
    function p(e) {
      return t(f(e)).left + o(e).scrollLeft;
    }
    function c(e) {
      return n(e).getComputedStyle(e);
    }
    function l(e) {
      return e = c(e), /auto|scroll|overlay|hidden/.test(e.overflow + e.overflowY + e.overflowX);
    }
    function u(e, r, a) {
      void 0 === a &amp;&amp; (a = !1);
      var c = f(r);
      e = t(e);
      var u = i(r),
        d = {
          scrollLeft: 0,
          scrollTop: 0
        },
        m = {
          x: 0,
          y: 0
        };
      return (u || !u &amp;&amp; !a) &amp;&amp; (("body" !== s(r) || l(c)) &amp;&amp; (d = r !== n(r) &amp;&amp; i(r) ? {
        scrollLeft: r.scrollLeft,
        scrollTop: r.scrollTop
      } : o(r)), i(r) ? ((m = t(r)).x += r.clientLeft, m.y += r.clientTop) : c &amp;&amp; (m.x = p(c))), {
        x: e.left + d.scrollLeft - m.x,
        y: e.top + d.scrollTop - m.y,
        width: e.width,
        height: e.height
      };
    }
    function d(e) {
      var n = t(e),
        o = e.offsetWidth,
        r = e.offsetHeight;
      return 1 &gt;= Math.abs(n.width - o) &amp;&amp; (o = n.width), 1 &gt;= Math.abs(n.height - r) &amp;&amp; (r = n.height), {
        x: e.offsetLeft,
        y: e.offsetTop,
        width: o,
        height: r
      };
    }
    function m(e) {
      return "html" === s(e) ? e : e.assignedSlot || e.parentNode || (a(e) ? e.host : null) || f(e);
    }
    function h(e) {
      return 0 &lt;= ["html", "body", "#document"].indexOf(s(e)) ? e.ownerDocument.body : i(e) &amp;&amp; l(e) ? e : h(m(e));
    }
    function v(e, t) {
      var o;
      void 0 === t &amp;&amp; (t = []);
      var r = h(e);
      return e = r === (null == (o = e.ownerDocument) ? void 0 : o.body), o = n(r), r = e ? [o].concat(o.visualViewport || [], l(r) ? r : []) : r, t = t.concat(r), e ? t : t.concat(v(m(r)));
    }
    function g(e) {
      return i(e) &amp;&amp; "fixed" !== c(e).position ? e.offsetParent : null;
    }
    function y(e) {
      for (var t = n(e), o = g(e); o &amp;&amp; 0 &lt;= ["table", "td", "th"].indexOf(s(o)) &amp;&amp; "static" === c(o).position;) o = g(o);
      if (o &amp;&amp; ("html" === s(o) || "body" === s(o) &amp;&amp; "static" === c(o).position)) return t;
      if (!o) e: {
        if (o = -1 !== navigator.userAgent.toLowerCase().indexOf("firefox"), -1 === navigator.userAgent.indexOf("Trident") || !i(e) || "fixed" !== c(e).position) for (e = m(e); i(e) &amp;&amp; 0 &gt; ["html", "body"].indexOf(s(e));) {
          var r = c(e);
          if ("none" !== r.transform || "none" !== r.perspective || "paint" === r.contain || -1 !== ["transform", "perspective"].indexOf(r.willChange) || o &amp;&amp; "filter" === r.willChange || o &amp;&amp; r.filter &amp;&amp; "none" !== r.filter) {
            o = e;
            break e;
          }
          e = e.parentNode;
        }
        o = null;
      }
      return o || t;
    }
    function b(e) {
      function t(e) {
        o.add(e.name), [].concat(e.requires || [], e.requiresIfExists || []).forEach(function (e) {
          o.has(e) || (e = n.get(e)) &amp;&amp; t(e);
        }), r.push(e);
      }
      var n = new Map(),
        o = new Set(),
        r = [];
      return e.forEach(function (e) {
        n.set(e.name, e);
      }), e.forEach(function (e) {
        o.has(e.name) || t(e);
      }), r;
    }
    function w(e) {
      var t;
      return function () {
        return t || (t = new Promise(function (n) {
          Promise.resolve().then(function () {
            t = void 0, n(e());
          });
        })), t;
      };
    }
    function x(e) {
      return e.split("-")[0];
    }
    function O(e, t) {
      var n = t.getRootNode &amp;&amp; t.getRootNode();
      if (e.contains(t)) return !0;
      if (n &amp;&amp; a(n)) do {
        if (t &amp;&amp; e.isSameNode(t)) return !0;
        t = t.parentNode || t.host;
      } while (t);
      return !1;
    }
    function j(e) {
      return Object.assign({}, e, {
        left: e.x,
        top: e.y,
        right: e.x + e.width,
        bottom: e.y + e.height
      });
    }
    function E(e, r) {
      if ("viewport" === r) {
        r = n(e);
        var a = f(e);
        r = r.visualViewport;
        var s = a.clientWidth;
        a = a.clientHeight;
        var l = 0,
          u = 0;
        r &amp;&amp; (s = r.width, a = r.height, /^((?!chrome|android).)*safari/i.test(navigator.userAgent) || (l = r.offsetLeft, u = r.offsetTop)), e = j(e = {
          width: s,
          height: a,
          x: l + p(e),
          y: u
        });
      } else i(r) ? ((e = t(r)).top += r.clientTop, e.left += r.clientLeft, e.bottom = e.top + r.clientHeight, e.right = e.left + r.clientWidth, e.width = r.clientWidth, e.height = r.clientHeight, e.x = e.left, e.y = e.top) : (u = f(e), e = f(u), s = o(u), r = null == (a = u.ownerDocument) ? void 0 : a.body, a = _(e.scrollWidth, e.clientWidth, r ? r.scrollWidth : 0, r ? r.clientWidth : 0), l = _(e.scrollHeight, e.clientHeight, r ? r.scrollHeight : 0, r ? r.clientHeight : 0), u = -s.scrollLeft + p(u), s = -s.scrollTop, "rtl" === c(r || e).direction &amp;&amp; (u += _(e.clientWidth, r ? r.clientWidth : 0) - a), e = j({
        width: a,
        height: l,
        x: u,
        y: s
      }));
      return e;
    }
    function D(e, t, n) {
      return t = "clippingParents" === t ? function (e) {
        var t = v(m(e)),
          n = 0 &lt;= ["absolute", "fixed"].indexOf(c(e).position) &amp;&amp; i(e) ? y(e) : e;
        return r(n) ? t.filter(function (e) {
          return r(e) &amp;&amp; O(e, n) &amp;&amp; "body" !== s(e);
        }) : [];
      }(e) : [].concat(t), (n = (n = [].concat(t, [n])).reduce(function (t, n) {
        return n = E(e, n), t.top = _(n.top, t.top), t.right = U(n.right, t.right), t.bottom = U(n.bottom, t.bottom), t.left = _(n.left, t.left), t;
      }, E(e, n[0]))).width = n.right - n.left, n.height = n.bottom - n.top, n.x = n.left, n.y = n.top, n;
    }
    function L(e) {
      return 0 &lt;= ["top", "bottom"].indexOf(e) ? "x" : "y";
    }
    function P(e) {
      var t = e.reference,
        n = e.element,
        o = (e = e.placement) ? x(e) : null;
      e = e ? e.split("-")[1] : null;
      var r = t.x + t.width / 2 - n.width / 2,
        i = t.y + t.height / 2 - n.height / 2;
      switch (o) {
        case "top":
          r = {
            x: r,
            y: t.y - n.height
          };
          break;
        case "bottom":
          r = {
            x: r,
            y: t.y + t.height
          };
          break;
        case "right":
          r = {
            x: t.x + t.width,
            y: i
          };
          break;
        case "left":
          r = {
            x: t.x - n.width,
            y: i
          };
          break;
        default:
          r = {
            x: t.x,
            y: t.y
          };
      }
      if (null != (o = o ? L(o) : null)) switch (i = "y" === o ? "height" : "width", e) {
        case "start":
          r[o] -= t[i] / 2 - n[i] / 2;
          break;
        case "end":
          r[o] += t[i] / 2 - n[i] / 2;
      }
      return r;
    }
    function M(e) {
      return Object.assign({}, {
        top: 0,
        right: 0,
        bottom: 0,
        left: 0
      }, e);
    }
    function k(e, t) {
      return t.reduce(function (t, n) {
        return t[n] = e, t;
      }, {});
    }
    function A(e, n) {
      void 0 === n &amp;&amp; (n = {});
      var o = n;
      n = void 0 === (n = o.placement) ? e.placement : n;
      var i = o.boundary,
        a = void 0 === i ? "clippingParents" : i,
        s = void 0 === (i = o.rootBoundary) ? "viewport" : i;
      i = void 0 === (i = o.elementContext) ? "popper" : i;
      var p = o.altBoundary,
        c = void 0 !== p &amp;&amp; p;
      o = M("number" != typeof (o = void 0 === (o = o.padding) ? 0 : o) ? o : k(o, C));
      var l = e.elements.reference;
      p = e.rects.popper, a = D(r(c = e.elements[c ? "popper" === i ? "reference" : "popper" : i]) ? c : c.contextElement || f(e.elements.popper), a, s), c = P({
        reference: s = t(l),
        element: p,
        strategy: "absolute",
        placement: n
      }), p = j(Object.assign({}, p, c)), s = "popper" === i ? p : s;
      var u = {
        top: a.top - s.top + o.top,
        bottom: s.bottom - a.bottom + o.bottom,
        left: a.left - s.left + o.left,
        right: s.right - a.right + o.right
      };
      if (e = e.modifiersData.offset, "popper" === i &amp;&amp; e) {
        var d = e[n];
        Object.keys(u).forEach(function (e) {
          var t = 0 &lt;= ["right", "bottom"].indexOf(e) ? 1 : -1,
            n = 0 &lt;= ["top", "bottom"].indexOf(e) ? "y" : "x";
          u[e] += d[n] * t;
        });
      }
      return u;
    }
    function W() {
      for (var e = arguments.length, t = Array(e), n = 0; n &lt; e; n++) t[n] = arguments[n];
      return !t.some(function (e) {
        return !(e &amp;&amp; "function" == typeof e.getBoundingClientRect);
      });
    }
    function B(e) {
      void 0 === e &amp;&amp; (e = {});
      var t = e.defaultModifiers,
        n = void 0 === t ? [] : t,
        o = void 0 === (e = e.defaultOptions) ? F : e;
      return function (e, t, i) {
        function a() {
          f.forEach(function (e) {
            return e();
          }), f = [];
        }
        void 0 === i &amp;&amp; (i = o);
        var s = {
            placement: "bottom",
            orderedModifiers: [],
            options: Object.assign({}, F, o),
            modifiersData: {},
            elements: {
              reference: e,
              popper: t
            },
            attributes: {},
            styles: {}
          },
          f = [],
          p = !1,
          c = {
            state: s,
            setOptions: function setOptions(i) {
              return a(), s.options = Object.assign({}, o, s.options, i), s.scrollParents = {
                reference: r(e) ? v(e) : e.contextElement ? v(e.contextElement) : [],
                popper: v(t)
              }, i = function (e) {
                var t = b(e);
                return I.reduce(function (e, n) {
                  return e.concat(t.filter(function (e) {
                    return e.phase === n;
                  }));
                }, []);
              }(function (e) {
                var t = e.reduce(function (e, t) {
                  var n = e[t.name];
                  return e[t.name] = n ? Object.assign({}, n, t, {
                    options: Object.assign({}, n.options, t.options),
                    data: Object.assign({}, n.data, t.data)
                  }) : t, e;
                }, {});
                return Object.keys(t).map(function (e) {
                  return t[e];
                });
              }([].concat(n, s.options.modifiers))), s.orderedModifiers = i.filter(function (e) {
                return e.enabled;
              }), s.orderedModifiers.forEach(function (e) {
                var t = e.name,
                  n = e.options;
                n = void 0 === n ? {} : n, "function" == typeof (e = e.effect) &amp;&amp; (t = e({
                  state: s,
                  name: t,
                  instance: c,
                  options: n
                }), f.push(t || function () {}));
              }), c.update();
            },
            forceUpdate: function forceUpdate() {
              if (!p) {
                var e = s.elements,
                  t = e.reference;
                if (W(t, e = e.popper)) for (s.rects = {
                  reference: u(t, y(e), "fixed" === s.options.strategy),
                  popper: d(e)
                }, s.reset = !1, s.placement = s.options.placement, s.orderedModifiers.forEach(function (e) {
                  return s.modifiersData[e.name] = Object.assign({}, e.data);
                }), t = 0; t &lt; s.orderedModifiers.length; t++) if (!0 === s.reset) s.reset = !1, t = -1;else {
                  var n = s.orderedModifiers[t];
                  e = n.fn;
                  var o = n.options;
                  o = void 0 === o ? {} : o, n = n.name, "function" == typeof e &amp;&amp; (s = e({
                    state: s,
                    options: o,
                    name: n,
                    instance: c
                  }) || s);
                }
              }
            },
            update: w(function () {
              return new Promise(function (e) {
                c.forceUpdate(), e(s);
              });
            }),
            destroy: function destroy() {
              a(), p = !0;
            }
          };
        return W(e, t) ? (c.setOptions(i).then(function (e) {
          !p &amp;&amp; i.onFirstUpdate &amp;&amp; i.onFirstUpdate(e);
        }), c) : c;
      };
    }
    function T(e) {
      var t,
        o = e.popper,
        r = e.popperRect,
        i = e.placement,
        a = e.offsets,
        s = e.position,
        p = e.gpuAcceleration,
        l = e.adaptive;
      if (!0 === (e = e.roundOffsets)) {
        e = a.y;
        var u = window.devicePixelRatio || 1;
        e = {
          x: z(z(a.x * u) / u) || 0,
          y: z(z(e * u) / u) || 0
        };
      } else e = "function" == typeof e ? e(a) : a;
      e = void 0 === (e = (u = e).x) ? 0 : e, u = void 0 === (u = u.y) ? 0 : u;
      var d = a.hasOwnProperty("x");
      a = a.hasOwnProperty("y");
      var m,
        h = "left",
        v = "top",
        g = window;
      if (l) {
        var b = y(o),
          w = "clientHeight",
          x = "clientWidth";
        b === n(o) &amp;&amp; "static" !== c(b = f(o)).position &amp;&amp; (w = "scrollHeight", x = "scrollWidth"), "top" === i &amp;&amp; (v = "bottom", u -= b[w] - r.height, u *= p ? 1 : -1), "left" === i &amp;&amp; (h = "right", e -= b[x] - r.width, e *= p ? 1 : -1);
      }
      return o = Object.assign({
        position: s
      }, l &amp;&amp; J), p ? Object.assign({}, o, ((m = {})[v] = a ? "0" : "", m[h] = d ? "0" : "", m.transform = 2 &gt; (g.devicePixelRatio || 1) ? "translate(" + e + "px, " + u + "px)" : "translate3d(" + e + "px, " + u + "px, 0)", m)) : Object.assign({}, o, ((t = {})[v] = a ? u + "px" : "", t[h] = d ? e + "px" : "", t.transform = "", t));
    }
    function H(e) {
      return e.replace(/left|right|bottom|top/g, function (e) {
        return $[e];
      });
    }
    function R(e) {
      return e.replace(/start|end/g, function (e) {
        return ee[e];
      });
    }
    function S(e, t, n) {
      return void 0 === n &amp;&amp; (n = {
        x: 0,
        y: 0
      }), {
        top: e.top - t.height - n.y,
        right: e.right - t.width + n.x,
        bottom: e.bottom - t.height + n.y,
        left: e.left - t.width - n.x
      };
    }
    function q(e) {
      return ["top", "right", "bottom", "left"].some(function (t) {
        return 0 &lt;= e[t];
      });
    }
    var C = ["top", "bottom", "right", "left"],
      N = C.reduce(function (e, t) {
        return e.concat([t + "-start", t + "-end"]);
      }, []),
      V = [].concat(C, ["auto"]).reduce(function (e, t) {
        return e.concat([t, t + "-start", t + "-end"]);
      }, []),
      I = "beforeRead read afterRead beforeMain main afterMain beforeWrite write afterWrite".split(" "),
      _ = Math.max,
      U = Math.min,
      z = Math.round,
      F = {
        placement: "bottom",
        modifiers: [],
        strategy: "absolute"
      },
      X = {
        passive: !0
      },
      Y = {
        name: "eventListeners",
        enabled: !0,
        phase: "write",
        fn: function fn() {},
        effect: function effect(e) {
          var t = e.state,
            o = e.instance,
            r = (e = e.options).scroll,
            i = void 0 === r || r,
            a = void 0 === (e = e.resize) || e,
            s = n(t.elements.popper),
            f = [].concat(t.scrollParents.reference, t.scrollParents.popper);
          return i &amp;&amp; f.forEach(function (e) {
            e.addEventListener("scroll", o.update, X);
          }), a &amp;&amp; s.addEventListener("resize", o.update, X), function () {
            i &amp;&amp; f.forEach(function (e) {
              e.removeEventListener("scroll", o.update, X);
            }), a &amp;&amp; s.removeEventListener("resize", o.update, X);
          };
        },
        data: {}
      },
      G = {
        name: "popperOffsets",
        enabled: !0,
        phase: "read",
        fn: function fn(e) {
          var t = e.state;
          t.modifiersData[e.name] = P({
            reference: t.rects.reference,
            element: t.rects.popper,
            strategy: "absolute",
            placement: t.placement
          });
        },
        data: {}
      },
      J = {
        top: "auto",
        right: "auto",
        bottom: "auto",
        left: "auto"
      },
      K = {
        name: "computeStyles",
        enabled: !0,
        phase: "beforeWrite",
        fn: function fn(e) {
          var t = e.state,
            n = e.options;
          e = void 0 === (e = n.gpuAcceleration) || e;
          var o = n.adaptive;
          o = void 0 === o || o, n = void 0 === (n = n.roundOffsets) || n, e = {
            placement: x(t.placement),
            popper: t.elements.popper,
            popperRect: t.rects.popper,
            gpuAcceleration: e
          }, null != t.modifiersData.popperOffsets &amp;&amp; (t.styles.popper = Object.assign({}, t.styles.popper, T(Object.assign({}, e, {
            offsets: t.modifiersData.popperOffsets,
            position: t.options.strategy,
            adaptive: o,
            roundOffsets: n
          })))), null != t.modifiersData.arrow &amp;&amp; (t.styles.arrow = Object.assign({}, t.styles.arrow, T(Object.assign({}, e, {
            offsets: t.modifiersData.arrow,
            position: "absolute",
            adaptive: !1,
            roundOffsets: n
          })))), t.attributes.popper = Object.assign({}, t.attributes.popper, {
            "data-popper-placement": t.placement
          });
        },
        data: {}
      },
      Q = {
        name: "applyStyles",
        enabled: !0,
        phase: "write",
        fn: function fn(e) {
          var t = e.state;
          Object.keys(t.elements).forEach(function (e) {
            var n = t.styles[e] || {},
              o = t.attributes[e] || {},
              r = t.elements[e];
            i(r) &amp;&amp; s(r) &amp;&amp; (Object.assign(r.style, n), Object.keys(o).forEach(function (e) {
              var t = o[e];
              !1 === t ? r.removeAttribute(e) : r.setAttribute(e, !0 === t ? "" : t);
            }));
          });
        },
        effect: function effect(e) {
          var t = e.state,
            n = {
              popper: {
                position: t.options.strategy,
                left: "0",
                top: "0",
                margin: "0"
              },
              arrow: {
                position: "absolute"
              },
              reference: {}
            };
          return Object.assign(t.elements.popper.style, n.popper), t.styles = n, t.elements.arrow &amp;&amp; Object.assign(t.elements.arrow.style, n.arrow), function () {
            Object.keys(t.elements).forEach(function (e) {
              var o = t.elements[e],
                r = t.attributes[e] || {};
              e = Object.keys(t.styles.hasOwnProperty(e) ? t.styles[e] : n[e]).reduce(function (e, t) {
                return e[t] = "", e;
              }, {}), i(o) &amp;&amp; s(o) &amp;&amp; (Object.assign(o.style, e), Object.keys(r).forEach(function (e) {
                o.removeAttribute(e);
              }));
            });
          };
        },
        requires: ["computeStyles"]
      },
      Z = {
        name: "offset",
        enabled: !0,
        phase: "main",
        requires: ["popperOffsets"],
        fn: function fn(e) {
          var t = e.state,
            n = e.name,
            o = void 0 === (e = e.options.offset) ? [0, 0] : e,
            r = (e = V.reduce(function (e, n) {
              var r = t.rects,
                i = x(n),
                a = 0 &lt;= ["left", "top"].indexOf(i) ? -1 : 1,
                s = "function" == typeof o ? o(Object.assign({}, r, {
                  placement: n
                })) : o;
              return r = (r = s[0]) || 0, s = ((s = s[1]) || 0) * a, i = 0 &lt;= ["left", "right"].indexOf(i) ? {
                x: s,
                y: r
              } : {
                x: r,
                y: s
              }, e[n] = i, e;
            }, {}))[t.placement],
            i = r.x;
          r = r.y, null != t.modifiersData.popperOffsets &amp;&amp; (t.modifiersData.popperOffsets.x += i, t.modifiersData.popperOffsets.y += r), t.modifiersData[n] = e;
        }
      },
      $ = {
        left: "right",
        right: "left",
        bottom: "top",
        top: "bottom"
      },
      ee = {
        start: "end",
        end: "start"
      },
      te = {
        name: "flip",
        enabled: !0,
        phase: "main",
        fn: function fn(e) {
          var t = e.state,
            n = e.options;
          if (e = e.name, !t.modifiersData[e]._skip) {
            var o = n.mainAxis;
            o = void 0 === o || o;
            var r = n.altAxis;
            r = void 0 === r || r;
            var i = n.fallbackPlacements,
              a = n.padding,
              s = n.boundary,
              f = n.rootBoundary,
              p = n.altBoundary,
              c = n.flipVariations,
              l = void 0 === c || c,
              u = n.allowedAutoPlacements;
            c = x(n = t.options.placement), i = i || (c !== n &amp;&amp; l ? function (e) {
              if ("auto" === x(e)) return [];
              var t = H(e);
              return [R(e), t, R(t)];
            }(n) : [H(n)]);
            var d = [n].concat(i).reduce(function (e, n) {
              return e.concat("auto" === x(n) ? function (e, t) {
                void 0 === t &amp;&amp; (t = {});
                var n = t.boundary,
                  o = t.rootBoundary,
                  r = t.padding,
                  i = t.flipVariations,
                  a = t.allowedAutoPlacements,
                  s = void 0 === a ? V : a,
                  f = t.placement.split("-")[1];
                0 === (i = (t = f ? i ? N : N.filter(function (e) {
                  return e.split("-")[1] === f;
                }) : C).filter(function (e) {
                  return 0 &lt;= s.indexOf(e);
                })).length &amp;&amp; (i = t);
                var p = i.reduce(function (t, i) {
                  return t[i] = A(e, {
                    placement: i,
                    boundary: n,
                    rootBoundary: o,
                    padding: r
                  })[x(i)], t;
                }, {});
                return Object.keys(p).sort(function (e, t) {
                  return p[e] - p[t];
                });
              }(t, {
                placement: n,
                boundary: s,
                rootBoundary: f,
                padding: a,
                flipVariations: l,
                allowedAutoPlacements: u
              }) : n);
            }, []);
            n = t.rects.reference, i = t.rects.popper;
            var m = new Map();
            c = !0;
            for (var h = d[0], v = 0; v &lt; d.length; v++) {
              var g = d[v],
                y = x(g),
                b = "start" === g.split("-")[1],
                w = 0 &lt;= ["top", "bottom"].indexOf(y),
                O = w ? "width" : "height",
                j = A(t, {
                  placement: g,
                  boundary: s,
                  rootBoundary: f,
                  altBoundary: p,
                  padding: a
                });
              if (b = w ? b ? "right" : "left" : b ? "bottom" : "top", n[O] &gt; i[O] &amp;&amp; (b = H(b)), O = H(b), w = [], o &amp;&amp; w.push(0 &gt;= j[y]), r &amp;&amp; w.push(0 &gt;= j[b], 0 &gt;= j[O]), w.every(function (e) {
                return e;
              })) {
                h = g, c = !1;
                break;
              }
              m.set(g, w);
            }
            if (c) for (o = function o(e) {
              var t = d.find(function (t) {
                if (t = m.get(t)) return t.slice(0, e).every(function (e) {
                  return e;
                });
              });
              if (t) return h = t, "break";
            }, r = l ? 3 : 1; 0 &lt; r &amp;&amp; "break" !== o(r); r--);
            t.placement !== h &amp;&amp; (t.modifiersData[e]._skip = !0, t.placement = h, t.reset = !0);
          }
        },
        requiresIfExists: ["offset"],
        data: {
          _skip: !1
        }
      },
      ne = {
        name: "preventOverflow",
        enabled: !0,
        phase: "main",
        fn: function fn(e) {
          var t = e.state,
            n = e.options;
          e = e.name;
          var o = n.mainAxis,
            r = void 0 === o || o,
            i = void 0 !== (o = n.altAxis) &amp;&amp; o;
          o = void 0 === (o = n.tether) || o;
          var a = n.tetherOffset,
            s = void 0 === a ? 0 : a,
            f = A(t, {
              boundary: n.boundary,
              rootBoundary: n.rootBoundary,
              padding: n.padding,
              altBoundary: n.altBoundary
            });
          n = x(t.placement);
          var p = t.placement.split("-")[1],
            c = !p,
            l = L(n);
          n = "x" === l ? "y" : "x", a = t.modifiersData.popperOffsets;
          var u = t.rects.reference,
            m = t.rects.popper,
            h = "function" == typeof s ? s(Object.assign({}, t.rects, {
              placement: t.placement
            })) : s;
          if (s = {
            x: 0,
            y: 0
          }, a) {
            if (r || i) {
              var v = "y" === l ? "top" : "left",
                g = "y" === l ? "bottom" : "right",
                b = "y" === l ? "height" : "width",
                w = a[l],
                O = a[l] + f[v],
                j = a[l] - f[g],
                E = o ? -m[b] / 2 : 0,
                D = "start" === p ? u[b] : m[b];
              p = "start" === p ? -m[b] : -u[b], m = t.elements.arrow, m = o &amp;&amp; m ? d(m) : {
                width: 0,
                height: 0
              };
              var P = t.modifiersData["arrow#persistent"] ? t.modifiersData["arrow#persistent"].padding : {
                top: 0,
                right: 0,
                bottom: 0,
                left: 0
              };
              v = P[v], g = P[g], m = _(0, U(u[b], m[b])), D = c ? u[b] / 2 - E - m - v - h : D - m - v - h, u = c ? -u[b] / 2 + E + m + g + h : p + m + g + h, c = t.elements.arrow &amp;&amp; y(t.elements.arrow), h = t.modifiersData.offset ? t.modifiersData.offset[t.placement][l] : 0, c = a[l] + D - h - (c ? "y" === l ? c.clientTop || 0 : c.clientLeft || 0 : 0), u = a[l] + u - h, r &amp;&amp; (r = o ? U(O, c) : O, j = o ? _(j, u) : j, r = _(r, U(w, j)), a[l] = r, s[l] = r - w), i &amp;&amp; (r = (i = a[n]) + f["x" === l ? "top" : "left"], f = i - f["x" === l ? "bottom" : "right"], r = o ? U(r, c) : r, o = o ? _(f, u) : f, o = _(r, U(i, o)), a[n] = o, s[n] = o - i);
            }
            t.modifiersData[e] = s;
          }
        },
        requiresIfExists: ["offset"]
      },
      oe = {
        name: "arrow",
        enabled: !0,
        phase: "main",
        fn: function fn(e) {
          var t,
            n = e.state,
            o = e.name,
            r = e.options,
            i = n.elements.arrow,
            a = n.modifiersData.popperOffsets,
            s = x(n.placement);
          if (e = L(s), s = 0 &lt;= ["left", "right"].indexOf(s) ? "height" : "width", i &amp;&amp; a) {
            r = M("number" != typeof (r = "function" == typeof (r = r.padding) ? r(Object.assign({}, n.rects, {
              placement: n.placement
            })) : r) ? r : k(r, C));
            var f = d(i),
              p = "y" === e ? "top" : "left",
              c = "y" === e ? "bottom" : "right",
              l = n.rects.reference[s] + n.rects.reference[e] - a[e] - n.rects.popper[s];
            a = a[e] - n.rects.reference[e], a = (i = (i = y(i)) ? "y" === e ? i.clientHeight || 0 : i.clientWidth || 0 : 0) / 2 - f[s] / 2 + (l / 2 - a / 2), s = _(r[p], U(a, i - f[s] - r[c])), n.modifiersData[o] = ((t = {})[e] = s, t.centerOffset = s - a, t);
          }
        },
        effect: function effect(e) {
          var t = e.state;
          if (null != (e = void 0 === (e = e.options.element) ? "[data-popper-arrow]" : e)) {
            if ("string" == typeof e &amp;&amp; !(e = t.elements.popper.querySelector(e))) return;
            O(t.elements.popper, e) &amp;&amp; (t.elements.arrow = e);
          }
        },
        requires: ["popperOffsets"],
        requiresIfExists: ["preventOverflow"]
      },
      re = {
        name: "hide",
        enabled: !0,
        phase: "main",
        requiresIfExists: ["preventOverflow"],
        fn: function fn(e) {
          var t = e.state;
          e = e.name;
          var n = t.rects.reference,
            o = t.rects.popper,
            r = t.modifiersData.preventOverflow,
            i = A(t, {
              elementContext: "reference"
            }),
            a = A(t, {
              altBoundary: !0
            });
          n = S(i, n), o = S(a, o, r), r = q(n), a = q(o), t.modifiersData[e] = {
            referenceClippingOffsets: n,
            popperEscapeOffsets: o,
            isReferenceHidden: r,
            hasPopperEscaped: a
          }, t.attributes.popper = Object.assign({}, t.attributes.popper, {
            "data-popper-reference-hidden": r,
            "data-popper-escaped": a
          });
        }
      },
      ie = B({
        defaultModifiers: [Y, G, K, Q]
      }),
      ae = [Y, G, K, Q, Z, te, ne, oe, re],
      se = B({
        defaultModifiers: ae
      });
    e.applyStyles = Q, e.arrow = oe, e.computeStyles = K, e.createPopper = se, e.createPopperLite = ie, e.defaultModifiers = ae, e.detectOverflow = A, e.eventListeners = Y, e.flip = te, e.hide = re, e.offset = Z, e.popperGenerator = B, e.popperOffsets = G, e.preventOverflow = ne, Object.defineProperty(e, "__esModule", {
      value: !0
    });
  });
});
unwrapExports(popper);
var bootstrap5Raw = createCommonjsModule(function (module, exports) {
  /*!
    * Bootstrap v5.0.0 (https://getbootstrap.com/)
    * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
    * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
    */
  (function (global, factory) {
    module.exports = factory(popper);
  })(commonjsGlobal, function (Popper) {
    function _interopNamespace(e) {
      if (e &amp;&amp; e.__esModule) return e;
      var n = Object.create(null);
      if (e) {
        Object.keys(e).forEach(function (k) {
          if (k !== 'default') {
            var d = Object.getOwnPropertyDescriptor(e, k);
            Object.defineProperty(n, k, d.get ? d : {
              enumerable: true,
              get: function get() {
                return e[k];
              }
            });
          }
        });
      }
      n['default'] = e;
      return Object.freeze(n);
    }
    var Popper__namespace = /*#__PURE__*/_interopNamespace(Popper);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): util/index.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    var MAX_UID = 1000000;
    var MILLISECONDS_MULTIPLIER = 1000;
    var TRANSITION_END = 'transitionend'; // Shoutout AngusCroll (https://goo.gl/pxwQGp)

    var toType = function toType(obj) {
      if (obj === null || obj === undefined) {
        return "".concat(obj);
      }
      return {}.toString.call(obj).match(/\s([a-z]+)/i)[1].toLowerCase();
    };
    /**
     * --------------------------------------------------------------------------
     * Public Util Api
     * --------------------------------------------------------------------------
     */

    var getUID = function getUID(prefix) {
      do {
        prefix += Math.floor(Math.random() * MAX_UID);
      } while (document.getElementById(prefix));
      return prefix;
    };
    var getSelector = function getSelector(element) {
      var selector = element.getAttribute('data-bs-target');
      if (!selector || selector === '#') {
        var hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,
        // so everything starting with `#` or `.`. If a "real" URL is used as the selector,
        // `document.querySelector` will rightfully complain it is invalid.
        // See https://github.com/twbs/bootstrap/issues/32273

        if (!hrefAttr || !hrefAttr.includes('#') &amp;&amp; !hrefAttr.startsWith('.')) {
          return null;
        } // Just in case some CMS puts out a full URL with the anchor appended

        if (hrefAttr.includes('#') &amp;&amp; !hrefAttr.startsWith('#')) {
          hrefAttr = "#".concat(hrefAttr.split('#')[1]);
        }
        selector = hrefAttr &amp;&amp; hrefAttr !== '#' ? hrefAttr.trim() : null;
      }
      return selector;
    };
    var getSelectorFromElement = function getSelectorFromElement(element) {
      var selector = getSelector(element);
      if (selector) {
        return document.querySelector(selector) ? selector : null;
      }
      return null;
    };
    var getElementFromSelector = function getElementFromSelector(element) {
      var selector = getSelector(element);
      return selector ? document.querySelector(selector) : null;
    };
    var getTransitionDurationFromElement = function getTransitionDurationFromElement(element) {
      if (!element) {
        return 0;
      } // Get transition-duration of the element

      var _window$getComputedSt = window.getComputedStyle(element),
        transitionDuration = _window$getComputedSt.transitionDuration,
        transitionDelay = _window$getComputedSt.transitionDelay;
      var floatTransitionDuration = Number.parseFloat(transitionDuration);
      var floatTransitionDelay = Number.parseFloat(transitionDelay); // Return 0 if element or transition duration is not found

      if (!floatTransitionDuration &amp;&amp; !floatTransitionDelay) {
        return 0;
      } // If multiple durations are defined, take the first

      transitionDuration = transitionDuration.split(',')[0];
      transitionDelay = transitionDelay.split(',')[0];
      return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;
    };
    var triggerTransitionEnd = function triggerTransitionEnd(element) {
      element.dispatchEvent(new Event(TRANSITION_END));
    };
    var isElement = function isElement(obj) {
      return (obj[0] || obj).nodeType;
    };
    var emulateTransitionEnd = function emulateTransitionEnd(element, duration) {
      var called = false;
      var durationPadding = 5;
      var emulatedDuration = duration + durationPadding;
      function listener() {
        called = true;
        element.removeEventListener(TRANSITION_END, listener);
      }
      element.addEventListener(TRANSITION_END, listener);
      setTimeout(function () {
        if (!called) {
          triggerTransitionEnd(element);
        }
      }, emulatedDuration);
    };
    var typeCheckConfig = function typeCheckConfig(componentName, config, configTypes) {
      Object.keys(configTypes).forEach(function (property) {
        var expectedTypes = configTypes[property];
        var value = config[property];
        var valueType = value &amp;&amp; isElement(value) ? 'element' : toType(value);
        if (!new RegExp(expectedTypes).test(valueType)) {
          throw new TypeError("".concat(componentName.toUpperCase(), ": Option \"").concat(property, "\" provided type \"").concat(valueType, "\" but expected type \"").concat(expectedTypes, "\"."));
        }
      });
    };
    var isVisible = function isVisible(element) {
      if (!element) {
        return false;
      }
      if (element.style &amp;&amp; element.parentNode &amp;&amp; element.parentNode.style) {
        var elementStyle = getComputedStyle(element);
        var parentNodeStyle = getComputedStyle(element.parentNode);
        return elementStyle.display !== 'none' &amp;&amp; parentNodeStyle.display !== 'none' &amp;&amp; elementStyle.visibility !== 'hidden';
      }
      return false;
    };
    var isDisabled = function isDisabled(element) {
      if (!element || element.nodeType !== Node.ELEMENT_NODE) {
        return true;
      }
      if (element.classList.contains('disabled')) {
        return true;
      }
      if (typeof element.disabled !== 'undefined') {
        return element.disabled;
      }
      return element.hasAttribute('disabled') &amp;&amp; element.getAttribute('disabled') !== 'false';
    };
    var _findShadowRoot = function findShadowRoot(element) {
      if (!document.documentElement.attachShadow) {
        return null;
      } // Can find the shadow root otherwise it'll return the document

      if (typeof element.getRootNode === 'function') {
        var root = element.getRootNode();
        return root instanceof ShadowRoot ? root : null;
      }
      if (element instanceof ShadowRoot) {
        return element;
      } // when we don't find a shadow root

      if (!element.parentNode) {
        return null;
      }
      return _findShadowRoot(element.parentNode);
    };
    var noop = function noop() {};
    var reflow = function reflow(element) {
      return element.offsetHeight;
    };
    var getjQuery = function getjQuery() {
      var _window = window,
        jQuery = _window.jQuery;
      if (jQuery &amp;&amp; !document.body.hasAttribute('data-bs-no-jquery')) {
        return jQuery;
      }
      return null;
    };
    var onDOMContentLoaded = function onDOMContentLoaded(callback) {
      if (document.readyState === 'loading') {
        document.addEventListener('DOMContentLoaded', callback);
      } else {
        callback();
      }
    };
    var isRTL = function isRTL() {
      return document.documentElement.dir === 'rtl';
    };
    var defineJQueryPlugin = function defineJQueryPlugin(name, plugin) {
      onDOMContentLoaded(function () {
        var $ = getjQuery();
        /* istanbul ignore if */

        if ($) {
          var JQUERY_NO_CONFLICT = $.fn[name];
          $.fn[name] = plugin.jQueryInterface;
          $.fn[name].Constructor = plugin;
          $.fn[name].noConflict = function () {
            $.fn[name] = JQUERY_NO_CONFLICT;
            return plugin.jQueryInterface;
          };
        }
      });
    };
    var execute = function execute(callback) {
      if (typeof callback === 'function') {
        callback();
      }
    };

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): dom/data.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */

    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */
    var elementMap = new Map();
    var Data = {
      set: function set(element, key, instance) {
        if (!elementMap.has(element)) {
          elementMap.set(element, new Map());
        }
        var instanceMap = elementMap.get(element); // make it clear we only want one instance per element
        // can be removed later when multiple key/instances are fine to be used

        if (!instanceMap.has(key) &amp;&amp; instanceMap.size !== 0) {
          // eslint-disable-next-line no-console
          console.error("Bootstrap doesn't allow more than one instance per element. Bound instance: ".concat(Array.from(instanceMap.keys())[0], "."));
          return;
        }
        instanceMap.set(key, instance);
      },
      get: function get(element, key) {
        if (elementMap.has(element)) {
          return elementMap.get(element).get(key) || null;
        }
        return null;
      },
      remove: function remove(element, key) {
        if (!elementMap.has(element)) {
          return;
        }
        var instanceMap = elementMap.get(element);
        instanceMap["delete"](key); // free up element references if there are no instances left for an element

        if (instanceMap.size === 0) {
          elementMap["delete"](element);
        }
      }
    };

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): dom/event-handler.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var namespaceRegex = /[^.]*(?=\..*)\.|.*/;
    var stripNameRegex = /\..*/;
    var stripUidRegex = /::\d+$/;
    var eventRegistry = {}; // Events storage

    var uidEvent = 1;
    var customEvents = {
      mouseenter: 'mouseover',
      mouseleave: 'mouseout'
    };
    var customEventsRegex = /^(mouseenter|mouseleave)/i;
    var nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']);
    /**
     * ------------------------------------------------------------------------
     * Private methods
     * ------------------------------------------------------------------------
     */

    function getUidEvent(element, uid) {
      return uid &amp;&amp; "".concat(uid, "::").concat(uidEvent++) || element.uidEvent || uidEvent++;
    }
    function getEvent(element) {
      var uid = getUidEvent(element);
      element.uidEvent = uid;
      eventRegistry[uid] = eventRegistry[uid] || {};
      return eventRegistry[uid];
    }
    function bootstrapHandler(element, fn) {
      return function handler(event) {
        event.delegateTarget = element;
        if (handler.oneOff) {
          EventHandler.off(element, event.type, fn);
        }
        return fn.apply(element, [event]);
      };
    }
    function bootstrapDelegationHandler(element, selector, fn) {
      return function handler(event) {
        var domElements = element.querySelectorAll(selector);
        for (var target = event.target; target &amp;&amp; target !== this; target = target.parentNode) {
          for (var i = domElements.length; i--;) {
            if (domElements[i] === target) {
              event.delegateTarget = target;
              if (handler.oneOff) {
                // eslint-disable-next-line unicorn/consistent-destructuring
                EventHandler.off(element, event.type, selector, fn);
              }
              return fn.apply(target, [event]);
            }
          }
        } // To please ESLint

        return null;
      };
    }
    function findHandler(events, handler) {
      var delegationSelector = arguments.length &gt; 2 &amp;&amp; arguments[2] !== undefined ? arguments[2] : null;
      var uidEventList = Object.keys(events);
      for (var i = 0, len = uidEventList.length; i &lt; len; i++) {
        var event = events[uidEventList[i]];
        if (event.originalHandler === handler &amp;&amp; event.delegationSelector === delegationSelector) {
          return event;
        }
      }
      return null;
    }
    function normalizeParams(originalTypeEvent, handler, delegationFn) {
      var delegation = typeof handler === 'string';
      var originalHandler = delegation ? delegationFn : handler;
      var typeEvent = getTypeEvent(originalTypeEvent);
      var isNative = nativeEvents.has(typeEvent);
      if (!isNative) {
        typeEvent = originalTypeEvent;
      }
      return [delegation, originalHandler, typeEvent];
    }
    function addHandler(element, originalTypeEvent, handler, delegationFn, oneOff) {
      if (typeof originalTypeEvent !== 'string' || !element) {
        return;
      }
      if (!handler) {
        handler = delegationFn;
        delegationFn = null;
      } // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position
      // this prevents the handler from being dispatched the same way as mouseover or mouseout does

      if (customEventsRegex.test(originalTypeEvent)) {
        var wrapFn = function wrapFn(fn) {
          return function (event) {
            if (!event.relatedTarget || event.relatedTarget !== event.delegateTarget &amp;&amp; !event.delegateTarget.contains(event.relatedTarget)) {
              return fn.call(this, event);
            }
          };
        };
        if (delegationFn) {
          delegationFn = wrapFn(delegationFn);
        } else {
          handler = wrapFn(handler);
        }
      }
      var _normalizeParams = normalizeParams(originalTypeEvent, handler, delegationFn),
        _normalizeParams2 = (0,slicedToArray/* default */.A)(_normalizeParams, 3),
        delegation = _normalizeParams2[0],
        originalHandler = _normalizeParams2[1],
        typeEvent = _normalizeParams2[2];
      var events = getEvent(element);
      var handlers = events[typeEvent] || (events[typeEvent] = {});
      var previousFn = findHandler(handlers, originalHandler, delegation ? handler : null);
      if (previousFn) {
        previousFn.oneOff = previousFn.oneOff &amp;&amp; oneOff;
        return;
      }
      var uid = getUidEvent(originalHandler, originalTypeEvent.replace(namespaceRegex, ''));
      var fn = delegation ? bootstrapDelegationHandler(element, handler, delegationFn) : bootstrapHandler(element, handler);
      fn.delegationSelector = delegation ? handler : null;
      fn.originalHandler = originalHandler;
      fn.oneOff = oneOff;
      fn.uidEvent = uid;
      handlers[uid] = fn;
      element.addEventListener(typeEvent, fn, delegation);
    }
    function removeHandler(element, events, typeEvent, handler, delegationSelector) {
      var fn = findHandler(events[typeEvent], handler, delegationSelector);
      if (!fn) {
        return;
      }
      element.removeEventListener(typeEvent, fn, Boolean(delegationSelector));
      delete events[typeEvent][fn.uidEvent];
    }
    function removeNamespacedHandlers(element, events, typeEvent, namespace) {
      var storeElementEvent = events[typeEvent] || {};
      Object.keys(storeElementEvent).forEach(function (handlerKey) {
        if (handlerKey.includes(namespace)) {
          var event = storeElementEvent[handlerKey];
          removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
        }
      });
    }
    function getTypeEvent(event) {
      // allow to get the native events from namespaced events ('click.bs.button' --&gt; 'click')
      event = event.replace(stripNameRegex, '');
      return customEvents[event] || event;
    }
    var EventHandler = {
      on: function on(element, event, handler, delegationFn) {
        addHandler(element, event, handler, delegationFn, false);
      },
      one: function one(element, event, handler, delegationFn) {
        addHandler(element, event, handler, delegationFn, true);
      },
      off: function off(element, originalTypeEvent, handler, delegationFn) {
        if (typeof originalTypeEvent !== 'string' || !element) {
          return;
        }
        var _normalizeParams3 = normalizeParams(originalTypeEvent, handler, delegationFn),
          _normalizeParams4 = (0,slicedToArray/* default */.A)(_normalizeParams3, 3),
          delegation = _normalizeParams4[0],
          originalHandler = _normalizeParams4[1],
          typeEvent = _normalizeParams4[2];
        var inNamespace = typeEvent !== originalTypeEvent;
        var events = getEvent(element);
        var isNamespace = originalTypeEvent.startsWith('.');
        if (typeof originalHandler !== 'undefined') {
          // Simplest case: handler is passed, remove that listener ONLY.
          if (!events || !events[typeEvent]) {
            return;
          }
          removeHandler(element, events, typeEvent, originalHandler, delegation ? handler : null);
          return;
        }
        if (isNamespace) {
          Object.keys(events).forEach(function (elementEvent) {
            removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1));
          });
        }
        var storeElementEvent = events[typeEvent] || {};
        Object.keys(storeElementEvent).forEach(function (keyHandlers) {
          var handlerKey = keyHandlers.replace(stripUidRegex, '');
          if (!inNamespace || originalTypeEvent.includes(handlerKey)) {
            var event = storeElementEvent[keyHandlers];
            removeHandler(element, events, typeEvent, event.originalHandler, event.delegationSelector);
          }
        });
      },
      trigger: function trigger(element, event, args) {
        if (typeof event !== 'string' || !element) {
          return null;
        }
        var $ = getjQuery();
        var typeEvent = getTypeEvent(event);
        var inNamespace = event !== typeEvent;
        var isNative = nativeEvents.has(typeEvent);
        var jQueryEvent;
        var bubbles = true;
        var nativeDispatch = true;
        var defaultPrevented = false;
        var evt = null;
        if (inNamespace &amp;&amp; $) {
          jQueryEvent = $.Event(event, args);
          $(element).trigger(jQueryEvent);
          bubbles = !jQueryEvent.isPropagationStopped();
          nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();
          defaultPrevented = jQueryEvent.isDefaultPrevented();
        }
        if (isNative) {
          evt = document.createEvent('HTMLEvents');
          evt.initEvent(typeEvent, bubbles, true);
        } else {
          evt = new CustomEvent(event, {
            bubbles: bubbles,
            cancelable: true
          });
        } // merge custom information in our event

        if (typeof args !== 'undefined') {
          Object.keys(args).forEach(function (key) {
            Object.defineProperty(evt, key, {
              get: function get() {
                return args[key];
              }
            });
          });
        }
        if (defaultPrevented) {
          evt.preventDefault();
        }
        if (nativeDispatch) {
          element.dispatchEvent(evt);
        }
        if (evt.defaultPrevented &amp;&amp; typeof jQueryEvent !== 'undefined') {
          jQueryEvent.preventDefault();
        }
        return evt;
      }
    };

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): base-component.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var VERSION = '5.0.0';
    var BaseComponent = /*#__PURE__*/function () {
      function BaseComponent(element) {
        (0,classCallCheck/* default */.A)(this, BaseComponent);
        element = typeof element === 'string' ? document.querySelector(element) : element;
        if (!element) {
          return;
        }
        this._element = element;
        Data.set(this._element, this.constructor.DATA_KEY, this);
      }
      return (0,createClass/* default */.A)(BaseComponent, [{
        key: "dispose",
        value: function dispose() {
          Data.remove(this._element, this.constructor.DATA_KEY);
          EventHandler.off(this._element, ".".concat(this.constructor.DATA_KEY));
          this._element = null;
        }
        /** Static */
      }], [{
        key: "getInstance",
        value: function getInstance(element) {
          return Data.get(element, this.DATA_KEY);
        }
      }, {
        key: "VERSION",
        get: function get() {
          return VERSION;
        }
      }]);
    }();
    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): alert.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */
    var NAME$c = 'alert';
    var DATA_KEY$b = 'bs.alert';
    var EVENT_KEY$b = ".".concat(DATA_KEY$b);
    var EVENT_CLOSE = "close".concat(EVENT_KEY$b);
    var EVENT_CLOSED = "closed".concat(EVENT_KEY$b);
    var CLASS_NAME_ALERT = 'alert';
    var CLASS_NAME_FADE$6 = 'fade';
    var CLASS_NAME_SHOW$9 = 'show';
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var Alert = /*#__PURE__*/function (_BaseComponent) {
      function Alert() {
        (0,classCallCheck/* default */.A)(this, Alert);
        return _callSuper(this, Alert, arguments);
      }
      (0,inherits/* default */.A)(Alert, _BaseComponent);
      return (0,createClass/* default */.A)(Alert, [{
        key: "close",
        value:
        // Public

        function close(element) {
          var rootElement = element ? this._getRootElement(element) : this._element;
          var customEvent = this._triggerCloseEvent(rootElement);
          if (customEvent === null || customEvent.defaultPrevented) {
            return;
          }
          this._removeElement(rootElement);
        } // Private
      }, {
        key: "_getRootElement",
        value: function _getRootElement(element) {
          return getElementFromSelector(element) || element.closest(".".concat(CLASS_NAME_ALERT));
        }
      }, {
        key: "_triggerCloseEvent",
        value: function _triggerCloseEvent(element) {
          return EventHandler.trigger(element, EVENT_CLOSE);
        }
      }, {
        key: "_removeElement",
        value: function _removeElement(element) {
          var _this = this;
          element.classList.remove(CLASS_NAME_SHOW$9);
          if (!element.classList.contains(CLASS_NAME_FADE$6)) {
            this._destroyElement(element);
            return;
          }
          var transitionDuration = getTransitionDurationFromElement(element);
          EventHandler.one(element, 'transitionend', function () {
            return _this._destroyElement(element);
          });
          emulateTransitionEnd(element, transitionDuration);
        }
      }, {
        key: "_destroyElement",
        value: function _destroyElement(element) {
          if (element.parentNode) {
            element.parentNode.removeChild(element);
          }
          EventHandler.trigger(element, EVENT_CLOSED);
        } // Static
      }], [{
        key: "DATA_KEY",
        get:
        // Getters
        function get() {
          return DATA_KEY$b;
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config) {
          return this.each(function () {
            var data = Data.get(this, DATA_KEY$b);
            if (!data) {
              data = new Alert(this);
            }
            if (config === 'close') {
              data[config](this);
            }
          });
        }
      }, {
        key: "handleDismiss",
        value: function handleDismiss(alertInstance) {
          return function (event) {
            if (event) {
              event.preventDefault();
            }
            alertInstance.close(this);
          };
        }
      }]);
    }(BaseComponent);
    /**
     * ------------------------------------------------------------------------
     * Data Api implementation
     
    EventHandler.on(document, EVENT_CLICK_DATA_API$7, SELECTOR_DISMISS, Alert.handleDismiss(new Alert()));
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     * add .Alert to jQuery only if jQuery is present
     */
    defineJQueryPlugin(NAME$c, Alert);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): button.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var NAME$b = 'button';
    var DATA_KEY$a = 'bs.button';
    var CLASS_NAME_ACTIVE$3 = 'active';
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var Button = /*#__PURE__*/function (_BaseComponent2) {
      function Button() {
        (0,classCallCheck/* default */.A)(this, Button);
        return _callSuper(this, Button, arguments);
      }
      (0,inherits/* default */.A)(Button, _BaseComponent2);
      return (0,createClass/* default */.A)(Button, [{
        key: "toggle",
        value:
        // Public

        function toggle() {
          // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method
          this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE$3));
        } // Static
      }], [{
        key: "DATA_KEY",
        get:
        // Getters
        function get() {
          return DATA_KEY$a;
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config) {
          return this.each(function () {
            var data = Data.get(this, DATA_KEY$a);
            if (!data) {
              data = new Button(this);
            }
            if (config === 'toggle') {
              data[config]();
            }
          });
        }
      }]);
    }(BaseComponent);
    /**
     * ------------------------------------------------------------------------
     * Data Api implementation
     
    EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event =&gt; {
      event.preventDefault();
      const button = event.target.closest(SELECTOR_DATA_TOGGLE$5);
      let data = Data.get(button, DATA_KEY$a);
         if (!data) {
        data = new Button(button);
      }
         data.toggle();
    });
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     * add .Button to jQuery only if jQuery is present
     */
    defineJQueryPlugin(NAME$b, Button);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): dom/manipulator.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    function normalizeData(val) {
      if (val === 'true') {
        return true;
      }
      if (val === 'false') {
        return false;
      }
      if (val === Number(val).toString()) {
        return Number(val);
      }
      if (val === '' || val === 'null') {
        return null;
      }
      return val;
    }
    function normalizeDataKey(key) {
      return key.replace(/[A-Z]/g, function (chr) {
        return "-".concat(chr.toLowerCase());
      });
    }
    var Manipulator = {
      setDataAttribute: function setDataAttribute(element, key, value) {
        element.setAttribute("data-bs-".concat(normalizeDataKey(key)), value);
      },
      removeDataAttribute: function removeDataAttribute(element, key) {
        element.removeAttribute("data-bs-".concat(normalizeDataKey(key)));
      },
      getDataAttributes: function getDataAttributes(element) {
        if (!element) {
          return {};
        }
        var attributes = {};
        Object.keys(element.dataset).filter(function (key) {
          return key.startsWith('bs');
        }).forEach(function (key) {
          var pureKey = key.replace(/^bs/, '');
          pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1, pureKey.length);
          attributes[pureKey] = normalizeData(element.dataset[key]);
        });
        return attributes;
      },
      getDataAttribute: function getDataAttribute(element, key) {
        return normalizeData(element.getAttribute("data-bs-".concat(normalizeDataKey(key))));
      },
      offset: function offset(element) {
        var rect = element.getBoundingClientRect();
        return {
          top: rect.top + document.body.scrollTop,
          left: rect.left + document.body.scrollLeft
        };
      },
      position: function position(element) {
        return {
          top: element.offsetTop,
          left: element.offsetLeft
        };
      }
    };

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): dom/selector-engine.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */

    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */
    var NODE_TEXT = 3;
    var SelectorEngine = {
      find: function find(selector) {
        var _ref;
        var element = arguments.length &gt; 1 &amp;&amp; arguments[1] !== undefined ? arguments[1] : document.documentElement;
        return (_ref = []).concat.apply(_ref, (0,toConsumableArray/* default */.A)(Element.prototype.querySelectorAll.call(element, selector)));
      },
      findOne: function findOne(selector) {
        var element = arguments.length &gt; 1 &amp;&amp; arguments[1] !== undefined ? arguments[1] : document.documentElement;
        return Element.prototype.querySelector.call(element, selector);
      },
      children: function children(element, selector) {
        var _ref2;
        return (_ref2 = []).concat.apply(_ref2, (0,toConsumableArray/* default */.A)(element.children)).filter(function (child) {
          return child.matches(selector);
        });
      },
      parents: function parents(element, selector) {
        var parents = [];
        var ancestor = element.parentNode;
        while (ancestor &amp;&amp; ancestor.nodeType === Node.ELEMENT_NODE &amp;&amp; ancestor.nodeType !== NODE_TEXT) {
          if (ancestor.matches(selector)) {
            parents.push(ancestor);
          }
          ancestor = ancestor.parentNode;
        }
        return parents;
      },
      prev: function prev(element, selector) {
        var previous = element.previousElementSibling;
        while (previous) {
          if (previous.matches(selector)) {
            return [previous];
          }
          previous = previous.previousElementSibling;
        }
        return [];
      },
      next: function next(element, selector) {
        var next = element.nextElementSibling;
        while (next) {
          if (next.matches(selector)) {
            return [next];
          }
          next = next.nextElementSibling;
        }
        return [];
      }
    };

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): carousel.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var NAME$a = 'carousel';
    var DATA_KEY$9 = 'bs.carousel';
    var EVENT_KEY$9 = ".".concat(DATA_KEY$9);
    var ARROW_LEFT_KEY = 'ArrowLeft';
    var ARROW_RIGHT_KEY = 'ArrowRight';
    var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch

    var SWIPE_THRESHOLD = 40;
    var Default$9 = {
      interval: 5000,
      keyboard: true,
      slide: false,
      pause: 'hover',
      wrap: true,
      touch: true
    };
    var DefaultType$9 = {
      interval: '(number|boolean)',
      keyboard: 'boolean',
      slide: '(boolean|string)',
      pause: '(string|boolean)',
      wrap: 'boolean',
      touch: 'boolean'
    };
    var ORDER_NEXT = 'next';
    var ORDER_PREV = 'prev';
    var DIRECTION_LEFT = 'left';
    var DIRECTION_RIGHT = 'right';
    var EVENT_SLIDE = "slide".concat(EVENT_KEY$9);
    var EVENT_SLID = "slid".concat(EVENT_KEY$9);
    var EVENT_KEYDOWN = "keydown".concat(EVENT_KEY$9);
    var EVENT_MOUSEENTER = "mouseenter".concat(EVENT_KEY$9);
    var EVENT_MOUSELEAVE = "mouseleave".concat(EVENT_KEY$9);
    var EVENT_TOUCHSTART = "touchstart".concat(EVENT_KEY$9);
    var EVENT_TOUCHMOVE = "touchmove".concat(EVENT_KEY$9);
    var EVENT_TOUCHEND = "touchend".concat(EVENT_KEY$9);
    var EVENT_POINTERDOWN = "pointerdown".concat(EVENT_KEY$9);
    var EVENT_POINTERUP = "pointerup".concat(EVENT_KEY$9);
    var EVENT_DRAG_START = "dragstart".concat(EVENT_KEY$9);
    var CLASS_NAME_CAROUSEL = 'carousel';
    var CLASS_NAME_ACTIVE$2 = 'active';
    var CLASS_NAME_SLIDE = 'slide';
    var CLASS_NAME_END = 'carousel-item-end';
    var CLASS_NAME_START = 'carousel-item-start';
    var CLASS_NAME_NEXT = 'carousel-item-next';
    var CLASS_NAME_PREV = 'carousel-item-prev';
    var CLASS_NAME_POINTER_EVENT = 'pointer-event';
    var SELECTOR_ACTIVE$1 = '.active';
    var SELECTOR_ACTIVE_ITEM = '.active.carousel-item';
    var SELECTOR_ITEM = '.carousel-item';
    var SELECTOR_ITEM_IMG = '.carousel-item img';
    var SELECTOR_NEXT_PREV = '.carousel-item-next, .carousel-item-prev';
    var SELECTOR_INDICATORS = '.carousel-indicators';
    var SELECTOR_INDICATOR = '[data-bs-target]';
    var POINTER_TYPE_TOUCH = 'touch';
    var POINTER_TYPE_PEN = 'pen';
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var Carousel = /*#__PURE__*/function (_BaseComponent3) {
      function Carousel(element, config) {
        var _this2;
        (0,classCallCheck/* default */.A)(this, Carousel);
        _this2 = _callSuper(this, Carousel, [element]);
        _this2._items = null;
        _this2._interval = null;
        _this2._activeElement = null;
        _this2._isPaused = false;
        _this2._isSliding = false;
        _this2.touchTimeout = null;
        _this2.touchStartX = 0;
        _this2.touchDeltaX = 0;
        _this2._config = _this2._getConfig(config);
        _this2._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, _this2._element);
        _this2._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints &gt; 0;
        _this2._pointerEvent = Boolean(window.PointerEvent);
        _this2._addEventListeners();
        return _this2;
      } // Getters
      (0,inherits/* default */.A)(Carousel, _BaseComponent3);
      return (0,createClass/* default */.A)(Carousel, [{
        key: "next",
        value:
        // Public

        function next() {
          if (!this._isSliding) {
            this._slide(ORDER_NEXT);
          }
        }
      }, {
        key: "nextWhenVisible",
        value: function nextWhenVisible() {
          // Don't call next when the page isn't visible
          // or the carousel or its parent isn't visible
          if (!document.hidden &amp;&amp; isVisible(this._element)) {
            this.next();
          }
        }
      }, {
        key: "prev",
        value: function prev() {
          if (!this._isSliding) {
            this._slide(ORDER_PREV);
          }
        }
      }, {
        key: "pause",
        value: function pause(event) {
          if (!event) {
            this._isPaused = true;
          }
          if (SelectorEngine.findOne(SELECTOR_NEXT_PREV, this._element)) {
            triggerTransitionEnd(this._element);
            this.cycle(true);
          }
          clearInterval(this._interval);
          this._interval = null;
        }
      }, {
        key: "cycle",
        value: function cycle(event) {
          if (!event) {
            this._isPaused = false;
          }
          if (this._interval) {
            clearInterval(this._interval);
            this._interval = null;
          }
          if (this._config &amp;&amp; this._config.interval &amp;&amp; !this._isPaused) {
            this._updateInterval();
            this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);
          }
        }
      }, {
        key: "to",
        value: function to(index) {
          var _this3 = this;
          this._activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);
          var activeIndex = this._getItemIndex(this._activeElement);
          if (index &gt; this._items.length - 1 || index &lt; 0) {
            return;
          }
          if (this._isSliding) {
            EventHandler.one(this._element, EVENT_SLID, function () {
              return _this3.to(index);
            });
            return;
          }
          if (activeIndex === index) {
            this.pause();
            this.cycle();
            return;
          }
          var order = index &gt; activeIndex ? ORDER_NEXT : ORDER_PREV;
          this._slide(order, this._items[index]);
        }
      }, {
        key: "dispose",
        value: function dispose() {
          this._items = null;
          this._config = null;
          this._interval = null;
          this._isPaused = null;
          this._isSliding = null;
          this._activeElement = null;
          this._indicatorsElement = null;
          _superPropGet(Carousel, "dispose", this, 3)([]);
        } // Private
      }, {
        key: "_getConfig",
        value: function _getConfig(config) {
          config = _objectSpread(_objectSpread({}, Default$9), config);
          typeCheckConfig(NAME$a, config, DefaultType$9);
          return config;
        }
      }, {
        key: "_handleSwipe",
        value: function _handleSwipe() {
          var absDeltax = Math.abs(this.touchDeltaX);
          if (absDeltax &lt;= SWIPE_THRESHOLD) {
            return;
          }
          var direction = absDeltax / this.touchDeltaX;
          this.touchDeltaX = 0;
          if (!direction) {
            return;
          }
          this._slide(direction &gt; 0 ? DIRECTION_RIGHT : DIRECTION_LEFT);
        }
      }, {
        key: "_addEventListeners",
        value: function _addEventListeners() {
          var _this4 = this;
          if (this._config.keyboard) {
            EventHandler.on(this._element, EVENT_KEYDOWN, function (event) {
              return _this4._keydown(event);
            });
          }
          if (this._config.pause === 'hover') {
            EventHandler.on(this._element, EVENT_MOUSEENTER, function (event) {
              return _this4.pause(event);
            });
            EventHandler.on(this._element, EVENT_MOUSELEAVE, function (event) {
              return _this4.cycle(event);
            });
          }
          if (this._config.touch &amp;&amp; this._touchSupported) {
            this._addTouchEventListeners();
          }
        }
      }, {
        key: "_addTouchEventListeners",
        value: function _addTouchEventListeners() {
          var _this5 = this;
          var start = function start(event) {
            if (_this5._pointerEvent &amp;&amp; (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)) {
              _this5.touchStartX = event.clientX;
            } else if (!_this5._pointerEvent) {
              _this5.touchStartX = event.touches[0].clientX;
            }
          };
          var move = function move(event) {
            // ensure swiping with one touch and not pinching
            _this5.touchDeltaX = event.touches &amp;&amp; event.touches.length &gt; 1 ? 0 : event.touches[0].clientX - _this5.touchStartX;
          };
          var end = function end(event) {
            if (_this5._pointerEvent &amp;&amp; (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)) {
              _this5.touchDeltaX = event.clientX - _this5.touchStartX;
            }
            _this5._handleSwipe();
            if (_this5._config.pause === 'hover') {
              // If it's a touch-enabled device, mouseenter/leave are fired as
              // part of the mouse compatibility events on first tap - the carousel
              // would stop cycling until user tapped out of it;
              // here, we listen for touchend, explicitly pause the carousel
              // (as if it's the second time we tap on it, mouseenter compat event
              // is NOT fired) and after a timeout (to allow for mouse compatibility
              // events to fire) we explicitly restart cycling
              _this5.pause();
              if (_this5.touchTimeout) {
                clearTimeout(_this5.touchTimeout);
              }
              _this5.touchTimeout = setTimeout(function (event) {
                return _this5.cycle(event);
              }, TOUCHEVENT_COMPAT_WAIT + _this5._config.interval);
            }
          };
          SelectorEngine.find(SELECTOR_ITEM_IMG, this._element).forEach(function (itemImg) {
            EventHandler.on(itemImg, EVENT_DRAG_START, function (e) {
              return e.preventDefault();
            });
          });
          if (this._pointerEvent) {
            EventHandler.on(this._element, EVENT_POINTERDOWN, function (event) {
              return start(event);
            });
            EventHandler.on(this._element, EVENT_POINTERUP, function (event) {
              return end(event);
            });
            this._element.classList.add(CLASS_NAME_POINTER_EVENT);
          } else {
            EventHandler.on(this._element, EVENT_TOUCHSTART, function (event) {
              return start(event);
            });
            EventHandler.on(this._element, EVENT_TOUCHMOVE, function (event) {
              return move(event);
            });
            EventHandler.on(this._element, EVENT_TOUCHEND, function (event) {
              return end(event);
            });
          }
        }
      }, {
        key: "_keydown",
        value: function _keydown(event) {
          if (/input|textarea/i.test(event.target.tagName)) {
            return;
          }
          if (event.key === ARROW_LEFT_KEY) {
            event.preventDefault();
            this._slide(DIRECTION_RIGHT);
          } else if (event.key === ARROW_RIGHT_KEY) {
            event.preventDefault();
            this._slide(DIRECTION_LEFT);
          }
        }
      }, {
        key: "_getItemIndex",
        value: function _getItemIndex(element) {
          this._items = element &amp;&amp; element.parentNode ? SelectorEngine.find(SELECTOR_ITEM, element.parentNode) : [];
          return this._items.indexOf(element);
        }
      }, {
        key: "_getItemByOrder",
        value: function _getItemByOrder(order, activeElement) {
          var isNext = order === ORDER_NEXT;
          var isPrev = order === ORDER_PREV;
          var activeIndex = this._getItemIndex(activeElement);
          var lastItemIndex = this._items.length - 1;
          var isGoingToWrap = isPrev &amp;&amp; activeIndex === 0 || isNext &amp;&amp; activeIndex === lastItemIndex;
          if (isGoingToWrap &amp;&amp; !this._config.wrap) {
            return activeElement;
          }
          var delta = isPrev ? -1 : 1;
          var itemIndex = (activeIndex + delta) % this._items.length;
          return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];
        }
      }, {
        key: "_triggerSlideEvent",
        value: function _triggerSlideEvent(relatedTarget, eventDirectionName) {
          var targetIndex = this._getItemIndex(relatedTarget);
          var fromIndex = this._getItemIndex(SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element));
          return EventHandler.trigger(this._element, EVENT_SLIDE, {
            relatedTarget: relatedTarget,
            direction: eventDirectionName,
            from: fromIndex,
            to: targetIndex
          });
        }
      }, {
        key: "_setActiveIndicatorElement",
        value: function _setActiveIndicatorElement(element) {
          if (this._indicatorsElement) {
            var activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE$1, this._indicatorsElement);
            activeIndicator.classList.remove(CLASS_NAME_ACTIVE$2);
            activeIndicator.removeAttribute('aria-current');
            var indicators = SelectorEngine.find(SELECTOR_INDICATOR, this._indicatorsElement);
            for (var i = 0; i &lt; indicators.length; i++) {
              if (Number.parseInt(indicators[i].getAttribute('data-bs-slide-to'), 10) === this._getItemIndex(element)) {
                indicators[i].classList.add(CLASS_NAME_ACTIVE$2);
                indicators[i].setAttribute('aria-current', 'true');
                break;
              }
            }
          }
        }
      }, {
        key: "_updateInterval",
        value: function _updateInterval() {
          var element = this._activeElement || SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);
          if (!element) {
            return;
          }
          var elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10);
          if (elementInterval) {
            this._config.defaultInterval = this._config.defaultInterval || this._config.interval;
            this._config.interval = elementInterval;
          } else {
            this._config.interval = this._config.defaultInterval || this._config.interval;
          }
        }
      }, {
        key: "_slide",
        value: function _slide(directionOrOrder, element) {
          var _this6 = this;
          var order = this._directionToOrder(directionOrOrder);
          var activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element);
          var activeElementIndex = this._getItemIndex(activeElement);
          var nextElement = element || this._getItemByOrder(order, activeElement);
          var nextElementIndex = this._getItemIndex(nextElement);
          var isCycling = Boolean(this._interval);
          var isNext = order === ORDER_NEXT;
          var directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END;
          var orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV;
          var eventDirectionName = this._orderToDirection(order);
          if (nextElement &amp;&amp; nextElement.classList.contains(CLASS_NAME_ACTIVE$2)) {
            this._isSliding = false;
            return;
          }
          var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);
          if (slideEvent.defaultPrevented) {
            return;
          }
          if (!activeElement || !nextElement) {
            // Some weirdness is happening, so we bail
            return;
          }
          this._isSliding = true;
          if (isCycling) {
            this.pause();
          }
          this._setActiveIndicatorElement(nextElement);
          this._activeElement = nextElement;
          if (this._element.classList.contains(CLASS_NAME_SLIDE)) {
            nextElement.classList.add(orderClassName);
            reflow(nextElement);
            activeElement.classList.add(directionalClassName);
            nextElement.classList.add(directionalClassName);
            var transitionDuration = getTransitionDurationFromElement(activeElement);
            EventHandler.one(activeElement, 'transitionend', function () {
              nextElement.classList.remove(directionalClassName, orderClassName);
              nextElement.classList.add(CLASS_NAME_ACTIVE$2);
              activeElement.classList.remove(CLASS_NAME_ACTIVE$2, orderClassName, directionalClassName);
              _this6._isSliding = false;
              setTimeout(function () {
                EventHandler.trigger(_this6._element, EVENT_SLID, {
                  relatedTarget: nextElement,
                  direction: eventDirectionName,
                  from: activeElementIndex,
                  to: nextElementIndex
                });
              }, 0);
            });
            emulateTransitionEnd(activeElement, transitionDuration);
          } else {
            activeElement.classList.remove(CLASS_NAME_ACTIVE$2);
            nextElement.classList.add(CLASS_NAME_ACTIVE$2);
            this._isSliding = false;
            EventHandler.trigger(this._element, EVENT_SLID, {
              relatedTarget: nextElement,
              direction: eventDirectionName,
              from: activeElementIndex,
              to: nextElementIndex
            });
          }
          if (isCycling) {
            this.cycle();
          }
        }
      }, {
        key: "_directionToOrder",
        value: function _directionToOrder(direction) {
          if (![DIRECTION_RIGHT, DIRECTION_LEFT].includes(direction)) {
            return direction;
          }
          if (isRTL()) {
            return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT;
          }
          return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV;
        }
      }, {
        key: "_orderToDirection",
        value: function _orderToDirection(order) {
          if (![ORDER_NEXT, ORDER_PREV].includes(order)) {
            return order;
          }
          if (isRTL()) {
            return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT;
          }
          return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT;
        } // Static
      }], [{
        key: "Default",
        get: function get() {
          return Default$9;
        }
      }, {
        key: "DATA_KEY",
        get: function get() {
          return DATA_KEY$9;
        }
      }, {
        key: "carouselInterface",
        value: function carouselInterface(element, config) {
          var data = Data.get(element, DATA_KEY$9);
          var _config = _objectSpread(_objectSpread({}, Default$9), Manipulator.getDataAttributes(element));
          if ((0,esm_typeof/* default */.A)(config) === 'object') {
            _config = _objectSpread(_objectSpread({}, _config), config);
          }
          var action = typeof config === 'string' ? config : _config.slide;
          if (!data) {
            data = new Carousel(element, _config);
          }
          if (typeof config === 'number') {
            data.to(config);
          } else if (typeof action === 'string') {
            if (typeof data[action] === 'undefined') {
              throw new TypeError("No method named \"".concat(action, "\""));
            }
            data[action]();
          } else if (_config.interval &amp;&amp; _config.ride) {
            data.pause();
            data.cycle();
          }
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config) {
          return this.each(function () {
            Carousel.carouselInterface(this, config);
          });
        }
      }, {
        key: "dataApiClickHandler",
        value: function dataApiClickHandler(event) {
          var target = getElementFromSelector(this);
          if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {
            return;
          }
          var config = _objectSpread(_objectSpread({}, Manipulator.getDataAttributes(target)), Manipulator.getDataAttributes(this));
          var slideIndex = this.getAttribute('data-bs-slide-to');
          if (slideIndex) {
            config.interval = false;
          }
          Carousel.carouselInterface(target, config);
          if (slideIndex) {
            Data.get(target, DATA_KEY$9).to(slideIndex);
          }
          event.preventDefault();
        }
      }]);
    }(BaseComponent);
    /**
     * ------------------------------------------------------------------------
     * Data Api implementation
     
    EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler);
    EventHandler.on(window, EVENT_LOAD_DATA_API$2, () =&gt; {
      const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);
         for (let i = 0, len = carousels.length; i &lt; len; i++) {
        Carousel.carouselInterface(carousels[i], Data.get(carousels[i], DATA_KEY$9));
      }
    });
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     * add .Carousel to jQuery only if jQuery is present
     */
    defineJQueryPlugin(NAME$a, Carousel);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): collapse.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var NAME$9 = 'collapse';
    var DATA_KEY$8 = 'bs.collapse';
    var EVENT_KEY$8 = ".".concat(DATA_KEY$8);
    var Default$8 = {
      toggle: true,
      parent: ''
    };
    var DefaultType$8 = {
      toggle: 'boolean',
      parent: '(string|element)'
    };
    var EVENT_SHOW$5 = "show".concat(EVENT_KEY$8);
    var EVENT_SHOWN$5 = "shown".concat(EVENT_KEY$8);
    var EVENT_HIDE$5 = "hide".concat(EVENT_KEY$8);
    var EVENT_HIDDEN$5 = "hidden".concat(EVENT_KEY$8);
    var CLASS_NAME_SHOW$8 = 'show';
    var CLASS_NAME_COLLAPSE = 'collapse';
    var CLASS_NAME_COLLAPSING = 'collapsing';
    var CLASS_NAME_COLLAPSED = 'collapsed';
    var WIDTH = 'width';
    var HEIGHT = 'height';
    var SELECTOR_ACTIVES = '.show, .collapsing';
    var SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]';
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var Collapse = /*#__PURE__*/function (_BaseComponent4) {
      function Collapse(element, config) {
        var _this7;
        (0,classCallCheck/* default */.A)(this, Collapse);
        _this7 = _callSuper(this, Collapse, [element]);
        _this7._isTransitioning = false;
        _this7._config = _this7._getConfig(config);
        _this7._triggerArray = SelectorEngine.find("".concat(SELECTOR_DATA_TOGGLE$4, "[href=\"#").concat(_this7._element.id, "\"],") + "".concat(SELECTOR_DATA_TOGGLE$4, "[data-bs-target=\"#").concat(_this7._element.id, "\"]"));
        var toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);
        for (var i = 0, len = toggleList.length; i &lt; len; i++) {
          var elem = toggleList[i];
          var selector = getSelectorFromElement(elem);
          var filterElement = SelectorEngine.find(selector).filter(function (foundElem) {
            return foundElem === _this7._element;
          });
          if (selector !== null &amp;&amp; filterElement.length) {
            _this7._selector = selector;
            _this7._triggerArray.push(elem);
          }
        }
        _this7._parent = _this7._config.parent ? _this7._getParent() : null;
        if (!_this7._config.parent) {
          _this7._addAriaAndCollapsedClass(_this7._element, _this7._triggerArray);
        }
        if (_this7._config.toggle) {
          _this7.toggle();
        }
        return _this7;
      } // Getters
      (0,inherits/* default */.A)(Collapse, _BaseComponent4);
      return (0,createClass/* default */.A)(Collapse, [{
        key: "toggle",
        value:
        // Public

        function toggle() {
          if (this._element.classList.contains(CLASS_NAME_SHOW$8)) {
            this.hide();
          } else {
            this.show();
          }
        }
      }, {
        key: "show",
        value: function show() {
          var _this8 = this;
          if (this._isTransitioning || this._element.classList.contains(CLASS_NAME_SHOW$8)) {
            return;
          }
          var actives;
          var activesData;
          if (this._parent) {
            actives = SelectorEngine.find(SELECTOR_ACTIVES, this._parent).filter(function (elem) {
              if (typeof _this8._config.parent === 'string') {
                return elem.getAttribute('data-bs-parent') === _this8._config.parent;
              }
              return elem.classList.contains(CLASS_NAME_COLLAPSE);
            });
            if (actives.length === 0) {
              actives = null;
            }
          }
          var container = SelectorEngine.findOne(this._selector);
          if (actives) {
            var tempActiveData = actives.find(function (elem) {
              return container !== elem;
            });
            activesData = tempActiveData ? Data.get(tempActiveData, DATA_KEY$8) : null;
            if (activesData &amp;&amp; activesData._isTransitioning) {
              return;
            }
          }
          var startEvent = EventHandler.trigger(this._element, EVENT_SHOW$5);
          if (startEvent.defaultPrevented) {
            return;
          }
          if (actives) {
            actives.forEach(function (elemActive) {
              if (container !== elemActive) {
                Collapse.collapseInterface(elemActive, 'hide');
              }
              if (!activesData) {
                Data.set(elemActive, DATA_KEY$8, null);
              }
            });
          }
          var dimension = this._getDimension();
          this._element.classList.remove(CLASS_NAME_COLLAPSE);
          this._element.classList.add(CLASS_NAME_COLLAPSING);
          this._element.style[dimension] = 0;
          if (this._triggerArray.length) {
            this._triggerArray.forEach(function (element) {
              element.classList.remove(CLASS_NAME_COLLAPSED);
              element.setAttribute('aria-expanded', true);
            });
          }
          this.setTransitioning(true);
          var complete = function complete() {
            _this8._element.classList.remove(CLASS_NAME_COLLAPSING);
            _this8._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$8);
            _this8._element.style[dimension] = '';
            _this8.setTransitioning(false);
            EventHandler.trigger(_this8._element, EVENT_SHOWN$5);
          };
          var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
          var scrollSize = "scroll".concat(capitalizedDimension);
          var transitionDuration = getTransitionDurationFromElement(this._element);
          EventHandler.one(this._element, 'transitionend', complete);
          emulateTransitionEnd(this._element, transitionDuration);
          this._element.style[dimension] = "".concat(this._element[scrollSize], "px");
        }
      }, {
        key: "hide",
        value: function hide() {
          var _this9 = this;
          if (this._isTransitioning || !this._element.classList.contains(CLASS_NAME_SHOW$8)) {
            return;
          }
          var startEvent = EventHandler.trigger(this._element, EVENT_HIDE$5);
          if (startEvent.defaultPrevented) {
            return;
          }
          var dimension = this._getDimension();
          this._element.style[dimension] = "".concat(this._element.getBoundingClientRect()[dimension], "px");
          reflow(this._element);
          this._element.classList.add(CLASS_NAME_COLLAPSING);
          this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$8);
          var triggerArrayLength = this._triggerArray.length;
          if (triggerArrayLength &gt; 0) {
            for (var i = 0; i &lt; triggerArrayLength; i++) {
              var trigger = this._triggerArray[i];
              var elem = getElementFromSelector(trigger);
              if (elem &amp;&amp; !elem.classList.contains(CLASS_NAME_SHOW$8)) {
                trigger.classList.add(CLASS_NAME_COLLAPSED);
                trigger.setAttribute('aria-expanded', false);
              }
            }
          }
          this.setTransitioning(true);
          var complete = function complete() {
            _this9.setTransitioning(false);
            _this9._element.classList.remove(CLASS_NAME_COLLAPSING);
            _this9._element.classList.add(CLASS_NAME_COLLAPSE);
            EventHandler.trigger(_this9._element, EVENT_HIDDEN$5);
          };
          this._element.style[dimension] = '';
          var transitionDuration = getTransitionDurationFromElement(this._element);
          EventHandler.one(this._element, 'transitionend', complete);
          emulateTransitionEnd(this._element, transitionDuration);
        }
      }, {
        key: "setTransitioning",
        value: function setTransitioning(isTransitioning) {
          this._isTransitioning = isTransitioning;
        }
      }, {
        key: "dispose",
        value: function dispose() {
          _superPropGet(Collapse, "dispose", this, 3)([]);
          this._config = null;
          this._parent = null;
          this._triggerArray = null;
          this._isTransitioning = null;
        } // Private
      }, {
        key: "_getConfig",
        value: function _getConfig(config) {
          config = _objectSpread(_objectSpread({}, Default$8), config);
          config.toggle = Boolean(config.toggle); // Coerce string values

          typeCheckConfig(NAME$9, config, DefaultType$8);
          return config;
        }
      }, {
        key: "_getDimension",
        value: function _getDimension() {
          return this._element.classList.contains(WIDTH) ? WIDTH : HEIGHT;
        }
      }, {
        key: "_getParent",
        value: function _getParent() {
          var _this10 = this;
          var parent = this._config.parent;
          if (isElement(parent)) {
            // it's a jQuery object
            if (typeof parent.jquery !== 'undefined' || typeof parent[0] !== 'undefined') {
              parent = parent[0];
            }
          } else {
            parent = SelectorEngine.findOne(parent);
          }
          var selector = "".concat(SELECTOR_DATA_TOGGLE$4, "[data-bs-parent=\"").concat(parent, "\"]");
          SelectorEngine.find(selector, parent).forEach(function (element) {
            var selected = getElementFromSelector(element);
            _this10._addAriaAndCollapsedClass(selected, [element]);
          });
          return parent;
        }
      }, {
        key: "_addAriaAndCollapsedClass",
        value: function _addAriaAndCollapsedClass(element, triggerArray) {
          if (!element || !triggerArray.length) {
            return;
          }
          var isOpen = element.classList.contains(CLASS_NAME_SHOW$8);
          triggerArray.forEach(function (elem) {
            if (isOpen) {
              elem.classList.remove(CLASS_NAME_COLLAPSED);
            } else {
              elem.classList.add(CLASS_NAME_COLLAPSED);
            }
            elem.setAttribute('aria-expanded', isOpen);
          });
        } // Static
      }], [{
        key: "Default",
        get: function get() {
          return Default$8;
        }
      }, {
        key: "DATA_KEY",
        get: function get() {
          return DATA_KEY$8;
        }
      }, {
        key: "collapseInterface",
        value: function collapseInterface(element, config) {
          var data = Data.get(element, DATA_KEY$8);
          var _config = _objectSpread(_objectSpread(_objectSpread({}, Default$8), Manipulator.getDataAttributes(element)), (0,esm_typeof/* default */.A)(config) === 'object' &amp;&amp; config ? config : {});
          if (!data &amp;&amp; _config.toggle &amp;&amp; typeof config === 'string' &amp;&amp; /show|hide/.test(config)) {
            _config.toggle = false;
          }
          if (!data) {
            data = new Collapse(element, _config);
          }
          if (typeof config === 'string') {
            if (typeof data[config] === 'undefined') {
              throw new TypeError("No method named \"".concat(config, "\""));
            }
            data[config]();
          }
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config) {
          return this.each(function () {
            Collapse.collapseInterface(this, config);
          });
        }
      }]);
    }(BaseComponent);
    /**
     * ------------------------------------------------------------------------
     * Data Api implementation
     
    EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) {
      // preventDefault only for &lt;a&gt; elements (which change the URL) not inside the collapsible element
      if (event.target.tagName === 'A' || event.delegateTarget &amp;&amp; event.delegateTarget.tagName === 'A') {
        event.preventDefault();
      }
         const triggerData = Manipulator.getDataAttributes(this);
      const selector = getSelectorFromElement(this);
      const selectorElements = SelectorEngine.find(selector);
      selectorElements.forEach(element =&gt; {
        const data = Data.get(element, DATA_KEY$8);
        let config;
           if (data) {
          // update parent attribute
          if (data._parent === null &amp;&amp; typeof triggerData.parent === 'string') {
            data._config.parent = triggerData.parent;
            data._parent = data._getParent();
          }
             config = 'toggle';
        } else {
          config = triggerData;
        }
           Collapse.collapseInterface(element, config);
      });
    });
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     * add .Collapse to jQuery only if jQuery is present
     */
    defineJQueryPlugin(NAME$9, Collapse);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): dropdown.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var NAME$8 = 'dropdown';
    var DATA_KEY$7 = 'bs.dropdown';
    var EVENT_KEY$7 = ".".concat(DATA_KEY$7);
    var ESCAPE_KEY$2 = 'Escape';
    var SPACE_KEY = 'Space';
    var TAB_KEY = 'Tab';
    var ARROW_UP_KEY = 'ArrowUp';
    var ARROW_DOWN_KEY = 'ArrowDown';
    var RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button

    var REGEXP_KEYDOWN = new RegExp("".concat(ARROW_UP_KEY, "|").concat(ARROW_DOWN_KEY, "|").concat(ESCAPE_KEY$2));
    var EVENT_HIDE$4 = "hide".concat(EVENT_KEY$7);
    var EVENT_HIDDEN$4 = "hidden".concat(EVENT_KEY$7);
    var EVENT_SHOW$4 = "show".concat(EVENT_KEY$7);
    var EVENT_SHOWN$4 = "shown".concat(EVENT_KEY$7);
    var EVENT_CLICK = "click".concat(EVENT_KEY$7);
    var CLASS_NAME_SHOW$7 = 'show';
    var CLASS_NAME_DROPUP = 'dropup';
    var CLASS_NAME_DROPEND = 'dropend';
    var CLASS_NAME_DROPSTART = 'dropstart';
    var CLASS_NAME_NAVBAR = 'navbar';
    var SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]';
    var SELECTOR_MENU = '.dropdown-menu';
    var SELECTOR_NAVBAR_NAV = '.navbar-nav';
    var SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
    var PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start';
    var PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end';
    var PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start';
    var PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';
    var PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';
    var PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
    var Default$7 = {
      offset: [0, 2],
      boundary: 'clippingParents',
      reference: 'toggle',
      display: 'dynamic',
      popperConfig: null,
      autoClose: true
    };
    var DefaultType$7 = {
      offset: '(array|string|function)',
      boundary: '(string|element)',
      reference: '(string|element|object)',
      display: 'string',
      popperConfig: '(null|object|function)',
      autoClose: '(boolean|string)'
    };
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var Dropdown = /*#__PURE__*/function (_BaseComponent5) {
      function Dropdown(element, config) {
        var _this11;
        (0,classCallCheck/* default */.A)(this, Dropdown);
        _this11 = _callSuper(this, Dropdown, [element]);
        _this11._popper = null;
        _this11._config = _this11._getConfig(config);
        _this11._menu = _this11._getMenuElement();
        _this11._inNavbar = _this11._detectNavbar();
        _this11._addEventListeners();
        return _this11;
      } // Getters
      (0,inherits/* default */.A)(Dropdown, _BaseComponent5);
      return (0,createClass/* default */.A)(Dropdown, [{
        key: "toggle",
        value:
        // Public

        function toggle() {
          if (isDisabled(this._element)) {
            return;
          }
          var isActive = this._element.classList.contains(CLASS_NAME_SHOW$7);
          if (isActive) {
            this.hide();
            return;
          }
          this.show();
        }
      }, {
        key: "show",
        value: function show() {
          if (isDisabled(this._element) || this._menu.classList.contains(CLASS_NAME_SHOW$7)) {
            return;
          }
          var parent = Dropdown.getParentFromElement(this._element);
          var relatedTarget = {
            relatedTarget: this._element
          };
          var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$4, relatedTarget);
          if (showEvent.defaultPrevented) {
            return;
          } // Totally disable Popper for Dropdowns in Navbar

          if (this._inNavbar) {
            Manipulator.setDataAttribute(this._menu, 'popper', 'none');
          } else {
            if (typeof Popper__namespace === 'undefined') {
              throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org)');
            }
            var referenceElement = this._element;
            if (this._config.reference === 'parent') {
              referenceElement = parent;
            } else if (isElement(this._config.reference)) {
              referenceElement = this._config.reference; // Check if it's jQuery element

              if (typeof this._config.reference.jquery !== 'undefined') {
                referenceElement = this._config.reference[0];
              }
            } else if ((0,esm_typeof/* default */.A)(this._config.reference) === 'object') {
              referenceElement = this._config.reference;
            }
            var popperConfig = this._getPopperConfig();
            var isDisplayStatic = popperConfig.modifiers.find(function (modifier) {
              return modifier.name === 'applyStyles' &amp;&amp; modifier.enabled === false;
            });
            this._popper = Popper__namespace.createPopper(referenceElement, this._menu, popperConfig);
            if (isDisplayStatic) {
              Manipulator.setDataAttribute(this._menu, 'popper', 'static');
            }
          } // If this is a touch-enabled device we add extra
          // empty mouseover listeners to the body's immediate children;
          // only needed because of broken event delegation on iOS
          // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html

          if ('ontouchstart' in document.documentElement &amp;&amp; !parent.closest(SELECTOR_NAVBAR_NAV)) {
            var _ref3;
            (_ref3 = []).concat.apply(_ref3, (0,toConsumableArray/* default */.A)(document.body.children)).forEach(function (elem) {
              return EventHandler.on(elem, 'mouseover', noop);
            });
          }
          this._element.focus();
          this._element.setAttribute('aria-expanded', true);
          this._menu.classList.toggle(CLASS_NAME_SHOW$7);
          this._element.classList.toggle(CLASS_NAME_SHOW$7);
          EventHandler.trigger(this._element, EVENT_SHOWN$4, relatedTarget);
        }
      }, {
        key: "hide",
        value: function hide() {
          if (isDisabled(this._element) || !this._menu.classList.contains(CLASS_NAME_SHOW$7)) {
            return;
          }
          var relatedTarget = {
            relatedTarget: this._element
          };
          this._completeHide(relatedTarget);
        }
      }, {
        key: "dispose",
        value: function dispose() {
          this._menu = null;
          if (this._popper) {
            this._popper.destroy();
            this._popper = null;
          }
          _superPropGet(Dropdown, "dispose", this, 3)([]);
        }
      }, {
        key: "update",
        value: function update() {
          this._inNavbar = this._detectNavbar();
          if (this._popper) {
            this._popper.update();
          }
        } // Private
      }, {
        key: "_addEventListeners",
        value: function _addEventListeners() {
          var _this12 = this;
          EventHandler.on(this._element, EVENT_CLICK, function (event) {
            event.preventDefault();
            _this12.toggle();
          });
        }
      }, {
        key: "_completeHide",
        value: function _completeHide(relatedTarget) {
          var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$4, relatedTarget);
          if (hideEvent.defaultPrevented) {
            return;
          } // If this is a touch-enabled device we remove the extra
          // empty mouseover listeners we added for iOS support

          if ('ontouchstart' in document.documentElement) {
            var _ref4;
            (_ref4 = []).concat.apply(_ref4, (0,toConsumableArray/* default */.A)(document.body.children)).forEach(function (elem) {
              return EventHandler.off(elem, 'mouseover', noop);
            });
          }
          if (this._popper) {
            this._popper.destroy();
          }
          this._menu.classList.remove(CLASS_NAME_SHOW$7);
          this._element.classList.remove(CLASS_NAME_SHOW$7);
          this._element.setAttribute('aria-expanded', 'false');
          Manipulator.removeDataAttribute(this._menu, 'popper');
          EventHandler.trigger(this._element, EVENT_HIDDEN$4, relatedTarget);
        }
      }, {
        key: "_getConfig",
        value: function _getConfig(config) {
          config = _objectSpread(_objectSpread(_objectSpread({}, this.constructor.Default), Manipulator.getDataAttributes(this._element)), config);
          typeCheckConfig(NAME$8, config, this.constructor.DefaultType);
          if ((0,esm_typeof/* default */.A)(config.reference) === 'object' &amp;&amp; !isElement(config.reference) &amp;&amp; typeof config.reference.getBoundingClientRect !== 'function') {
            // Popper virtual elements require a getBoundingClientRect method
            throw new TypeError("".concat(NAME$8.toUpperCase(), ": Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method."));
          }
          return config;
        }
      }, {
        key: "_getMenuElement",
        value: function _getMenuElement() {
          return SelectorEngine.next(this._element, SELECTOR_MENU)[0];
        }
      }, {
        key: "_getPlacement",
        value: function _getPlacement() {
          var parentDropdown = this._element.parentNode;
          if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {
            return PLACEMENT_RIGHT;
          }
          if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {
            return PLACEMENT_LEFT;
          } // We need to trim the value because custom properties can also include spaces

          var isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end';
          if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {
            return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP;
          }
          return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM;
        }
      }, {
        key: "_detectNavbar",
        value: function _detectNavbar() {
          return this._element.closest(".".concat(CLASS_NAME_NAVBAR)) !== null;
        }
      }, {
        key: "_getOffset",
        value: function _getOffset() {
          var _this13 = this;
          var offset = this._config.offset;
          if (typeof offset === 'string') {
            return offset.split(',').map(function (val) {
              return Number.parseInt(val, 10);
            });
          }
          if (typeof offset === 'function') {
            return function (popperData) {
              return offset(popperData, _this13._element);
            };
          }
          return offset;
        }
      }, {
        key: "_getPopperConfig",
        value: function _getPopperConfig() {
          var defaultBsPopperConfig = {
            placement: this._getPlacement(),
            modifiers: [{
              name: 'preventOverflow',
              options: {
                boundary: this._config.boundary
              }
            }, {
              name: 'offset',
              options: {
                offset: this._getOffset()
              }
            }]
          }; // Disable Popper if we have a static display

          if (this._config.display === 'static') {
            defaultBsPopperConfig.modifiers = [{
              name: 'applyStyles',
              enabled: false
            }];
          }
          return _objectSpread(_objectSpread({}, defaultBsPopperConfig), typeof this._config.popperConfig === 'function' ? this._config.popperConfig(defaultBsPopperConfig) : this._config.popperConfig);
        }
      }, {
        key: "_selectMenuItem",
        value: function _selectMenuItem(event) {
          var items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).filter(isVisible);
          if (!items.length) {
            return;
          }
          var index = items.indexOf(event.target); // Up

          if (event.key === ARROW_UP_KEY &amp;&amp; index &gt; 0) {
            index--;
          } // Down

          if (event.key === ARROW_DOWN_KEY &amp;&amp; index &lt; items.length - 1) {
            index++;
          } // index is -1 if the first keydown is an ArrowUp

          index = index === -1 ? 0 : index;
          items[index].focus();
        } // Static
      }], [{
        key: "Default",
        get: function get() {
          return Default$7;
        }
      }, {
        key: "DefaultType",
        get: function get() {
          return DefaultType$7;
        }
      }, {
        key: "DATA_KEY",
        get: function get() {
          return DATA_KEY$7;
        }
      }, {
        key: "dropdownInterface",
        value: function dropdownInterface(element, config) {
          var data = Data.get(element, DATA_KEY$7);
          var _config = (0,esm_typeof/* default */.A)(config) === 'object' ? config : null;
          if (!data) {
            data = new Dropdown(element, _config);
          }
          if (typeof config === 'string') {
            if (typeof data[config] === 'undefined') {
              throw new TypeError("No method named \"".concat(config, "\""));
            }
            data[config]();
          }
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config) {
          return this.each(function () {
            Dropdown.dropdownInterface(this, config);
          });
        }
      }, {
        key: "clearMenus",
        value: function clearMenus(event) {
          if (event) {
            if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' &amp;&amp; event.key !== TAB_KEY) {
              return;
            }
            if (/input|select|option|textarea|form/i.test(event.target.tagName)) {
              return;
            }
          }
          var toggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE$3);
          for (var i = 0, len = toggles.length; i &lt; len; i++) {
            var context = Data.get(toggles[i], DATA_KEY$7);
            if (!context || context._config.autoClose === false) {
              continue;
            }
            if (!context._element.classList.contains(CLASS_NAME_SHOW$7)) {
              continue;
            }
            var relatedTarget = {
              relatedTarget: context._element
            };
            if (event) {
              var composedPath = event.composedPath();
              var isMenuTarget = composedPath.includes(context._menu);
              if (composedPath.includes(context._element) || context._config.autoClose === 'inside' &amp;&amp; !isMenuTarget || context._config.autoClose === 'outside' &amp;&amp; isMenuTarget) {
                continue;
              } // Tab navigation through the dropdown menu shouldn't close the menu

              if (event.type === 'keyup' &amp;&amp; event.key === TAB_KEY &amp;&amp; context._menu.contains(event.target)) {
                continue;
              }
              if (event.type === 'click') {
                relatedTarget.clickEvent = event;
              }
            }
            context._completeHide(relatedTarget);
          }
        }
      }, {
        key: "getParentFromElement",
        value: function getParentFromElement(element) {
          return getElementFromSelector(element) || element.parentNode;
        }
      }, {
        key: "dataApiKeydownHandler",
        value: function dataApiKeydownHandler(event) {
          var _this14 = this;
          // If not input/textarea:
          //  - And not a key in REGEXP_KEYDOWN =&gt; not a dropdown command
          // If input/textarea:
          //  - If space key =&gt; not a dropdown command
          //  - If key is other than escape
          //    - If key is not up or down =&gt; not a dropdown command
          //    - If trigger inside the menu =&gt; not a dropdown command
          if (/input|textarea/i.test(event.target.tagName) ? event.key === SPACE_KEY || event.key !== ESCAPE_KEY$2 &amp;&amp; (event.key !== ARROW_DOWN_KEY &amp;&amp; event.key !== ARROW_UP_KEY || event.target.closest(SELECTOR_MENU)) : !REGEXP_KEYDOWN.test(event.key)) {
            return;
          }
          var isActive = this.classList.contains(CLASS_NAME_SHOW$7);
          if (!isActive &amp;&amp; event.key === ESCAPE_KEY$2) {
            return;
          }
          event.preventDefault();
          event.stopPropagation();
          if (isDisabled(this)) {
            return;
          }
          var getToggleButton = function getToggleButton() {
            return _this14.matches(SELECTOR_DATA_TOGGLE$3) ? _this14 : SelectorEngine.prev(_this14, SELECTOR_DATA_TOGGLE$3)[0];
          };
          if (event.key === ESCAPE_KEY$2) {
            getToggleButton().focus();
            Dropdown.clearMenus();
            return;
          }
          if (!isActive &amp;&amp; (event.key === ARROW_UP_KEY || event.key === ARROW_DOWN_KEY)) {
            getToggleButton().click();
            return;
          }
          if (!isActive || event.key === SPACE_KEY) {
            Dropdown.clearMenus();
            return;
          }
          Dropdown.getInstance(getToggleButton())._selectMenuItem(event);
        }
      }]);
    }(BaseComponent);
    /**
     * ------------------------------------------------------------------------
     * Data Api implementation
     
    EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler);
    EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
    EventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus);
    EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);
    EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {
      event.preventDefault();
      Dropdown.dropdownInterface(this);
    });
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     * add .Dropdown to jQuery only if jQuery is present
     */
    defineJQueryPlugin(NAME$8, Dropdown);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): util/scrollBar.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    var SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top';
    var SELECTOR_STICKY_CONTENT = '.sticky-top';
    var getWidth = function getWidth() {
      // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes
      var documentWidth = document.documentElement.clientWidth;
      return Math.abs(window.innerWidth - documentWidth);
    };
    var hide = function hide() {
      var width = arguments.length &gt; 0 &amp;&amp; arguments[0] !== undefined ? arguments[0] : getWidth();
      _disableOverFlow(); // give padding to element to balances the hidden scrollbar width

      _setElementAttributes('body', 'paddingRight', function (calculatedValue) {
        return calculatedValue + width;
      }); // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements, to keep shown fullwidth

      _setElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight', function (calculatedValue) {
        return calculatedValue + width;
      });
      _setElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight', function (calculatedValue) {
        return calculatedValue - width;
      });
    };
    var _disableOverFlow = function _disableOverFlow() {
      var actualValue = document.body.style.overflow;
      if (actualValue) {
        Manipulator.setDataAttribute(document.body, 'overflow', actualValue);
      }
      document.body.style.overflow = 'hidden';
    };
    var _setElementAttributes = function _setElementAttributes(selector, styleProp, callback) {
      var scrollbarWidth = getWidth();
      SelectorEngine.find(selector).forEach(function (element) {
        if (element !== document.body &amp;&amp; window.innerWidth &gt; element.clientWidth + scrollbarWidth) {
          return;
        }
        var actualValue = element.style[styleProp];
        var calculatedValue = window.getComputedStyle(element)[styleProp];
        Manipulator.setDataAttribute(element, styleProp, actualValue);
        element.style[styleProp] = "".concat(callback(Number.parseFloat(calculatedValue)), "px");
      });
    };
    var reset = function reset() {
      _resetElementAttributes('body', 'overflow');
      _resetElementAttributes('body', 'paddingRight');
      _resetElementAttributes(SELECTOR_FIXED_CONTENT, 'paddingRight');
      _resetElementAttributes(SELECTOR_STICKY_CONTENT, 'marginRight');
    };
    var _resetElementAttributes = function _resetElementAttributes(selector, styleProp) {
      SelectorEngine.find(selector).forEach(function (element) {
        var value = Manipulator.getDataAttribute(element, styleProp);
        if (typeof value === 'undefined') {
          element.style.removeProperty(styleProp);
        } else {
          Manipulator.removeDataAttribute(element, styleProp);
          element.style[styleProp] = value;
        }
      });
    };

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): util/backdrop.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
     * --------------------------------------------------------------------------
     */
    var Default$6 = {
      isVisible: true,
      // if false, we use the backdrop helper without adding any element to the dom
      isAnimated: false,
      rootElement: document.body,
      // give the choice to place backdrop under different elements
      clickCallback: null
    };
    var DefaultType$6 = {
      isVisible: 'boolean',
      isAnimated: 'boolean',
      rootElement: 'element',
      clickCallback: '(function|null)'
    };
    var NAME$7 = 'backdrop';
    var CLASS_NAME_BACKDROP = 'modal-backdrop';
    var CLASS_NAME_FADE$5 = 'fade';
    var CLASS_NAME_SHOW$6 = 'show';
    var EVENT_MOUSEDOWN = "mousedown.bs.".concat(NAME$7);
    var Backdrop = /*#__PURE__*/function () {
      function Backdrop(config) {
        (0,classCallCheck/* default */.A)(this, Backdrop);
        this._config = this._getConfig(config);
        this._isAppended = false;
        this._element = null;
      }
      return (0,createClass/* default */.A)(Backdrop, [{
        key: "show",
        value: function show(callback) {
          if (!this._config.isVisible) {
            execute(callback);
            return;
          }
          this._append();
          if (this._config.isAnimated) {
            reflow(this._getElement());
          }
          this._getElement().classList.add(CLASS_NAME_SHOW$6);
          this._emulateAnimation(function () {
            execute(callback);
          });
        }
      }, {
        key: "hide",
        value: function hide(callback) {
          var _this15 = this;
          if (!this._config.isVisible) {
            execute(callback);
            return;
          }
          this._getElement().classList.remove(CLASS_NAME_SHOW$6);
          this._emulateAnimation(function () {
            _this15.dispose();
            execute(callback);
          });
        } // Private
      }, {
        key: "_getElement",
        value: function _getElement() {
          if (!this._element) {
            var backdrop = document.createElement('div');
            backdrop.className = CLASS_NAME_BACKDROP;
            if (this._config.isAnimated) {
              backdrop.classList.add(CLASS_NAME_FADE$5);
            }
            this._element = backdrop;
          }
          return this._element;
        }
      }, {
        key: "_getConfig",
        value: function _getConfig(config) {
          config = _objectSpread(_objectSpread({}, Default$6), (0,esm_typeof/* default */.A)(config) === 'object' ? config : {});
          typeCheckConfig(NAME$7, config, DefaultType$6);
          return config;
        }
      }, {
        key: "_append",
        value: function _append() {
          var _this16 = this;
          if (this._isAppended) {
            return;
          }
          this._config.rootElement.appendChild(this._getElement());
          EventHandler.on(this._getElement(), EVENT_MOUSEDOWN, function () {
            execute(_this16._config.clickCallback);
          });
          this._isAppended = true;
        }
      }, {
        key: "dispose",
        value: function dispose() {
          if (!this._isAppended) {
            return;
          }
          EventHandler.off(this._element, EVENT_MOUSEDOWN);
          this._getElement().parentNode.removeChild(this._element);
          this._isAppended = false;
        }
      }, {
        key: "_emulateAnimation",
        value: function _emulateAnimation(callback) {
          if (!this._config.isAnimated) {
            execute(callback);
            return;
          }
          var backdropTransitionDuration = getTransitionDurationFromElement(this._getElement());
          EventHandler.one(this._getElement(), 'transitionend', function () {
            return execute(callback);
          });
          emulateTransitionEnd(this._getElement(), backdropTransitionDuration);
        }
      }]);
    }();
    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): modal.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */
    var NAME$6 = 'modal';
    var DATA_KEY$6 = 'bs.modal';
    var EVENT_KEY$6 = ".".concat(DATA_KEY$6);
    var ESCAPE_KEY$1 = 'Escape';
    var Default$5 = {
      backdrop: true,
      keyboard: true,
      focus: true
    };
    var DefaultType$5 = {
      backdrop: '(boolean|string)',
      keyboard: 'boolean',
      focus: 'boolean'
    };
    var EVENT_HIDE$3 = "hide".concat(EVENT_KEY$6);
    var EVENT_HIDE_PREVENTED = "hidePrevented".concat(EVENT_KEY$6);
    var EVENT_HIDDEN$3 = "hidden".concat(EVENT_KEY$6);
    var EVENT_SHOW$3 = "show".concat(EVENT_KEY$6);
    var EVENT_SHOWN$3 = "shown".concat(EVENT_KEY$6);
    var EVENT_FOCUSIN$1 = "focusin".concat(EVENT_KEY$6);
    var EVENT_RESIZE = "resize".concat(EVENT_KEY$6);
    var EVENT_CLICK_DISMISS$2 = "click.dismiss".concat(EVENT_KEY$6);
    var EVENT_KEYDOWN_DISMISS$1 = "keydown.dismiss".concat(EVENT_KEY$6);
    var EVENT_MOUSEUP_DISMISS = "mouseup.dismiss".concat(EVENT_KEY$6);
    var EVENT_MOUSEDOWN_DISMISS = "mousedown.dismiss".concat(EVENT_KEY$6);
    var CLASS_NAME_OPEN = 'modal-open';
    var CLASS_NAME_FADE$4 = 'fade';
    var CLASS_NAME_SHOW$5 = 'show';
    var CLASS_NAME_STATIC = 'modal-static';
    var SELECTOR_DIALOG = '.modal-dialog';
    var SELECTOR_MODAL_BODY = '.modal-body';
    var SELECTOR_DATA_DISMISS$2 = '[data-bs-dismiss="modal"]';
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var Modal = /*#__PURE__*/function (_BaseComponent6) {
      function Modal(element, config) {
        var _this17;
        (0,classCallCheck/* default */.A)(this, Modal);
        _this17 = _callSuper(this, Modal, [element]);
        _this17._config = _this17._getConfig(config);
        _this17._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, _this17._element);
        _this17._backdrop = _this17._initializeBackDrop();
        _this17._isShown = false;
        _this17._ignoreBackdropClick = false;
        _this17._isTransitioning = false;
        return _this17;
      } // Getters
      (0,inherits/* default */.A)(Modal, _BaseComponent6);
      return (0,createClass/* default */.A)(Modal, [{
        key: "toggle",
        value:
        // Public

        function toggle(relatedTarget) {
          return this._isShown ? this.hide() : this.show(relatedTarget);
        }
      }, {
        key: "show",
        value: function show(relatedTarget) {
          var _this18 = this;
          if (this._isShown || this._isTransitioning) {
            return;
          }
          if (this._isAnimated()) {
            this._isTransitioning = true;
          }
          var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$3, {
            relatedTarget: relatedTarget
          });
          if (this._isShown || showEvent.defaultPrevented) {
            return;
          }
          this._isShown = true;
          hide();
          document.body.classList.add(CLASS_NAME_OPEN);
          this._adjustDialog();
          this._setEscapeEvent();
          this._setResizeEvent();
          EventHandler.on(this._element, EVENT_CLICK_DISMISS$2, SELECTOR_DATA_DISMISS$2, function (event) {
            return _this18.hide(event);
          });
          EventHandler.on(this._dialog, EVENT_MOUSEDOWN_DISMISS, function () {
            EventHandler.one(_this18._element, EVENT_MOUSEUP_DISMISS, function (event) {
              if (event.target === _this18._element) {
                _this18._ignoreBackdropClick = true;
              }
            });
          });
          this._showBackdrop(function () {
            return _this18._showElement(relatedTarget);
          });
        }
      }, {
        key: "hide",
        value: function hide(event) {
          var _this19 = this;
          if (event) {
            event.preventDefault();
          }
          if (!this._isShown || this._isTransitioning) {
            return;
          }
          var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$3);
          if (hideEvent.defaultPrevented) {
            return;
          }
          this._isShown = false;
          var isAnimated = this._isAnimated();
          if (isAnimated) {
            this._isTransitioning = true;
          }
          this._setEscapeEvent();
          this._setResizeEvent();
          EventHandler.off(document, EVENT_FOCUSIN$1);
          this._element.classList.remove(CLASS_NAME_SHOW$5);
          EventHandler.off(this._element, EVENT_CLICK_DISMISS$2);
          EventHandler.off(this._dialog, EVENT_MOUSEDOWN_DISMISS);
          if (isAnimated) {
            var transitionDuration = getTransitionDurationFromElement(this._element);
            EventHandler.one(this._element, 'transitionend', function (event) {
              return _this19._hideModal(event);
            });
            emulateTransitionEnd(this._element, transitionDuration);
          } else {
            this._hideModal();
          }
        }
      }, {
        key: "dispose",
        value: function dispose() {
          [window, this._dialog].forEach(function (htmlElement) {
            return EventHandler.off(htmlElement, EVENT_KEY$6);
          });
          _superPropGet(Modal, "dispose", this, 3)([]);
          /**
           * `document` has 2 events `EVENT_FOCUSIN` and `EVENT_CLICK_DATA_API`
           * Do not move `document` in `htmlElements` array
           * It will remove `EVENT_CLICK_DATA_API` event that should remain
           */

          EventHandler.off(document, EVENT_FOCUSIN$1);
          this._config = null;
          this._dialog = null;
          this._backdrop.dispose();
          this._backdrop = null;
          this._isShown = null;
          this._ignoreBackdropClick = null;
          this._isTransitioning = null;
        }
      }, {
        key: "handleUpdate",
        value: function handleUpdate() {
          this._adjustDialog();
        } // Private
      }, {
        key: "_initializeBackDrop",
        value: function _initializeBackDrop() {
          return new Backdrop({
            isVisible: Boolean(this._config.backdrop),
            // 'static' option will be translated to true, and booleans will keep their value
            isAnimated: this._isAnimated()
          });
        }
      }, {
        key: "_getConfig",
        value: function _getConfig(config) {
          config = _objectSpread(_objectSpread(_objectSpread({}, Default$5), Manipulator.getDataAttributes(this._element)), config);
          typeCheckConfig(NAME$6, config, DefaultType$5);
          return config;
        }
      }, {
        key: "_showElement",
        value: function _showElement(relatedTarget) {
          var _this20 = this;
          var isAnimated = this._isAnimated();
          var modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog);
          if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
            // Don't move modal's DOM position
            document.body.appendChild(this._element);
          }
          this._element.style.display = 'block';
          this._element.removeAttribute('aria-hidden');
          this._element.setAttribute('aria-modal', true);
          this._element.setAttribute('role', 'dialog');
          this._element.scrollTop = 0;
          if (modalBody) {
            modalBody.scrollTop = 0;
          }
          if (isAnimated) {
            reflow(this._element);
          }
          this._element.classList.add(CLASS_NAME_SHOW$5);
          if (this._config.focus) {
            this._enforceFocus();
          }
          var transitionComplete = function transitionComplete() {
            if (_this20._config.focus) {
              _this20._element.focus();
            }
            _this20._isTransitioning = false;
            EventHandler.trigger(_this20._element, EVENT_SHOWN$3, {
              relatedTarget: relatedTarget
            });
          };
          if (isAnimated) {
            var transitionDuration = getTransitionDurationFromElement(this._dialog);
            EventHandler.one(this._dialog, 'transitionend', transitionComplete);
            emulateTransitionEnd(this._dialog, transitionDuration);
          } else {
            transitionComplete();
          }
        }
      }, {
        key: "_enforceFocus",
        value: function _enforceFocus() {
          var _this21 = this;
          EventHandler.off(document, EVENT_FOCUSIN$1); // guard against infinite focus loop

          EventHandler.on(document, EVENT_FOCUSIN$1, function (event) {
            if (document !== event.target &amp;&amp; _this21._element !== event.target &amp;&amp; !_this21._element.contains(event.target)) {
              _this21._element.focus();
            }
          });
        }
      }, {
        key: "_setEscapeEvent",
        value: function _setEscapeEvent() {
          var _this22 = this;
          if (this._isShown) {
            EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$1, function (event) {
              if (_this22._config.keyboard &amp;&amp; event.key === ESCAPE_KEY$1) {
                event.preventDefault();
                _this22.hide();
              } else if (!_this22._config.keyboard &amp;&amp; event.key === ESCAPE_KEY$1) {
                _this22._triggerBackdropTransition();
              }
            });
          } else {
            EventHandler.off(this._element, EVENT_KEYDOWN_DISMISS$1);
          }
        }
      }, {
        key: "_setResizeEvent",
        value: function _setResizeEvent() {
          var _this23 = this;
          if (this._isShown) {
            EventHandler.on(window, EVENT_RESIZE, function () {
              return _this23._adjustDialog();
            });
          } else {
            EventHandler.off(window, EVENT_RESIZE);
          }
        }
      }, {
        key: "_hideModal",
        value: function _hideModal() {
          var _this24 = this;
          this._element.style.display = 'none';
          this._element.setAttribute('aria-hidden', true);
          this._element.removeAttribute('aria-modal');
          this._element.removeAttribute('role');
          this._isTransitioning = false;
          this._backdrop.hide(function () {
            document.body.classList.remove(CLASS_NAME_OPEN);
            _this24._resetAdjustments();
            reset();
            EventHandler.trigger(_this24._element, EVENT_HIDDEN$3);
          });
        }
      }, {
        key: "_showBackdrop",
        value: function _showBackdrop(callback) {
          var _this25 = this;
          EventHandler.on(this._element, EVENT_CLICK_DISMISS$2, function (event) {
            if (_this25._ignoreBackdropClick) {
              _this25._ignoreBackdropClick = false;
              return;
            }
            if (event.target !== event.currentTarget) {
              return;
            }
            if (_this25._config.backdrop === true) {
              _this25.hide();
            } else if (_this25._config.backdrop === 'static') {
              _this25._triggerBackdropTransition();
            }
          });
          this._backdrop.show(callback);
        }
      }, {
        key: "_isAnimated",
        value: function _isAnimated() {
          return this._element ? this._element.classList.contains(CLASS_NAME_FADE$4) : false;
        }
      }, {
        key: "_triggerBackdropTransition",
        value: function _triggerBackdropTransition() {
          var _this26 = this;
          var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
          if (hideEvent.defaultPrevented) {
            return;
          }
          var isModalOverflowing = this._element.scrollHeight &gt; document.documentElement.clientHeight;
          if (!isModalOverflowing) {
            this._element.style.overflowY = 'hidden';
          }
          this._element.classList.add(CLASS_NAME_STATIC);
          var modalTransitionDuration = getTransitionDurationFromElement(this._dialog);
          EventHandler.off(this._element, 'transitionend');
          EventHandler.one(this._element, 'transitionend', function () {
            _this26._element.classList.remove(CLASS_NAME_STATIC);
            if (!isModalOverflowing) {
              EventHandler.one(_this26._element, 'transitionend', function () {
                _this26._element.style.overflowY = '';
              });
              emulateTransitionEnd(_this26._element, modalTransitionDuration);
            }
          });
          emulateTransitionEnd(this._element, modalTransitionDuration);
          this._element.focus();
        } // ----------------------------------------------------------------------
        // the following methods are used to handle overflowing modals
        // ----------------------------------------------------------------------
      }, {
        key: "_adjustDialog",
        value: function _adjustDialog() {
          var isModalOverflowing = this._element.scrollHeight &gt; document.documentElement.clientHeight;
          var scrollbarWidth = getWidth();
          var isBodyOverflowing = scrollbarWidth &gt; 0;
          if (!isBodyOverflowing &amp;&amp; isModalOverflowing &amp;&amp; !isRTL() || isBodyOverflowing &amp;&amp; !isModalOverflowing &amp;&amp; isRTL()) {
            this._element.style.paddingLeft = "".concat(scrollbarWidth, "px");
          }
          if (isBodyOverflowing &amp;&amp; !isModalOverflowing &amp;&amp; !isRTL() || !isBodyOverflowing &amp;&amp; isModalOverflowing &amp;&amp; isRTL()) {
            this._element.style.paddingRight = "".concat(scrollbarWidth, "px");
          }
        }
      }, {
        key: "_resetAdjustments",
        value: function _resetAdjustments() {
          this._element.style.paddingLeft = '';
          this._element.style.paddingRight = '';
        } // Static
      }], [{
        key: "Default",
        get: function get() {
          return Default$5;
        }
      }, {
        key: "DATA_KEY",
        get: function get() {
          return DATA_KEY$6;
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config, relatedTarget) {
          return this.each(function () {
            var data = Modal.getInstance(this) || new Modal(this, (0,esm_typeof/* default */.A)(config) === 'object' ? config : {});
            if (typeof config !== 'string') {
              return;
            }
            if (typeof data[config] === 'undefined') {
              throw new TypeError("No method named \"".concat(config, "\""));
            }
            data[config](relatedTarget);
          });
        }
      }]);
    }(BaseComponent);
    /**
     * ------------------------------------------------------------------------
     * Data Api implementation
       EventHandler.on(document, EVENT_CLICK_DATA_API$2, SELECTOR_DATA_TOGGLE$2, function (event) {
      const target = getElementFromSelector(this);
         if (['A', 'AREA'].includes(this.tagName)) {
        event.preventDefault();
      }
         EventHandler.one(target, EVENT_SHOW$3, showEvent =&gt; {
        if (showEvent.defaultPrevented) {
          // only register focus restorer if modal will actually get shown
          return;
        }
           EventHandler.one(target, EVENT_HIDDEN$3, () =&gt; {
          if (isVisible(this)) {
            this.focus();
          }
        });
      });
      const data = Modal.getInstance(target) || new Modal(target);
      data.toggle(this);
    });
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     * add .Modal to jQuery only if jQuery is present
     */
    defineJQueryPlugin(NAME$6, Modal);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): offcanvas.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var NAME$5 = 'offcanvas';
    var DATA_KEY$5 = 'bs.offcanvas';
    var EVENT_KEY$5 = ".".concat(DATA_KEY$5);
    var ESCAPE_KEY = 'Escape';
    var Default$4 = {
      backdrop: true,
      keyboard: true,
      scroll: false
    };
    var DefaultType$4 = {
      backdrop: 'boolean',
      keyboard: 'boolean',
      scroll: 'boolean'
    };
    var CLASS_NAME_SHOW$4 = 'show';
    var EVENT_SHOW$2 = "show".concat(EVENT_KEY$5);
    var EVENT_SHOWN$2 = "shown".concat(EVENT_KEY$5);
    var EVENT_HIDE$2 = "hide".concat(EVENT_KEY$5);
    var EVENT_HIDDEN$2 = "hidden".concat(EVENT_KEY$5);
    var EVENT_FOCUSIN = "focusin".concat(EVENT_KEY$5);
    var EVENT_CLICK_DISMISS$1 = "click.dismiss".concat(EVENT_KEY$5);
    var EVENT_KEYDOWN_DISMISS = "keydown.dismiss".concat(EVENT_KEY$5);
    var SELECTOR_DATA_DISMISS$1 = '[data-bs-dismiss="offcanvas"]';
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var Offcanvas = /*#__PURE__*/function (_BaseComponent7) {
      function Offcanvas(element, config) {
        var _this27;
        (0,classCallCheck/* default */.A)(this, Offcanvas);
        _this27 = _callSuper(this, Offcanvas, [element]);
        _this27._config = _this27._getConfig(config);
        _this27._isShown = false;
        _this27._backdrop = _this27._initializeBackDrop();
        _this27._addEventListeners();
        return _this27;
      } // Getters
      (0,inherits/* default */.A)(Offcanvas, _BaseComponent7);
      return (0,createClass/* default */.A)(Offcanvas, [{
        key: "toggle",
        value:
        // Public

        function toggle(relatedTarget) {
          return this._isShown ? this.hide() : this.show(relatedTarget);
        }
      }, {
        key: "show",
        value: function show(relatedTarget) {
          var _this28 = this;
          if (this._isShown) {
            return;
          }
          var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$2, {
            relatedTarget: relatedTarget
          });
          if (showEvent.defaultPrevented) {
            return;
          }
          this._isShown = true;
          this._element.style.visibility = 'visible';
          this._backdrop.show();
          if (!this._config.scroll) {
            hide();
            this._enforceFocusOnElement(this._element);
          }
          this._element.removeAttribute('aria-hidden');
          this._element.setAttribute('aria-modal', true);
          this._element.setAttribute('role', 'dialog');
          this._element.classList.add(CLASS_NAME_SHOW$4);
          var completeCallBack = function completeCallBack() {
            EventHandler.trigger(_this28._element, EVENT_SHOWN$2, {
              relatedTarget: relatedTarget
            });
          };
          var transitionDuration = getTransitionDurationFromElement(this._element);
          EventHandler.one(this._element, 'transitionend', completeCallBack);
          emulateTransitionEnd(this._element, transitionDuration);
        }
      }, {
        key: "hide",
        value: function hide() {
          var _this29 = this;
          if (!this._isShown) {
            return;
          }
          var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$2);
          if (hideEvent.defaultPrevented) {
            return;
          }
          EventHandler.off(document, EVENT_FOCUSIN);
          this._element.blur();
          this._isShown = false;
          this._element.classList.remove(CLASS_NAME_SHOW$4);
          this._backdrop.hide();
          var completeCallback = function completeCallback() {
            _this29._element.setAttribute('aria-hidden', true);
            _this29._element.removeAttribute('aria-modal');
            _this29._element.removeAttribute('role');
            _this29._element.style.visibility = 'hidden';
            if (!_this29._config.scroll) {
              reset();
            }
            EventHandler.trigger(_this29._element, EVENT_HIDDEN$2);
          };
          var transitionDuration = getTransitionDurationFromElement(this._element);
          EventHandler.one(this._element, 'transitionend', completeCallback);
          emulateTransitionEnd(this._element, transitionDuration);
        }
      }, {
        key: "dispose",
        value: function dispose() {
          this._backdrop.dispose();
          _superPropGet(Offcanvas, "dispose", this, 3)([]);
          EventHandler.off(document, EVENT_FOCUSIN);
          this._config = null;
          this._backdrop = null;
        } // Private
      }, {
        key: "_getConfig",
        value: function _getConfig(config) {
          config = _objectSpread(_objectSpread(_objectSpread({}, Default$4), Manipulator.getDataAttributes(this._element)), (0,esm_typeof/* default */.A)(config) === 'object' ? config : {});
          typeCheckConfig(NAME$5, config, DefaultType$4);
          return config;
        }
      }, {
        key: "_initializeBackDrop",
        value: function _initializeBackDrop() {
          var _this30 = this;
          return new Backdrop({
            isVisible: this._config.backdrop,
            isAnimated: true,
            rootElement: this._element.parentNode,
            clickCallback: function clickCallback() {
              return _this30.hide();
            }
          });
        }
      }, {
        key: "_enforceFocusOnElement",
        value: function _enforceFocusOnElement(element) {
          EventHandler.off(document, EVENT_FOCUSIN); // guard against infinite focus loop

          EventHandler.on(document, EVENT_FOCUSIN, function (event) {
            if (document !== event.target &amp;&amp; element !== event.target &amp;&amp; !element.contains(event.target)) {
              element.focus();
            }
          });
          element.focus();
        }
      }, {
        key: "_addEventListeners",
        value: function _addEventListeners() {
          var _this31 = this;
          EventHandler.on(this._element, EVENT_CLICK_DISMISS$1, SELECTOR_DATA_DISMISS$1, function () {
            return _this31.hide();
          });
          EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, function (event) {
            if (_this31._config.keyboard &amp;&amp; event.key === ESCAPE_KEY) {
              _this31.hide();
            }
          });
        } // Static
      }], [{
        key: "Default",
        get: function get() {
          return Default$4;
        }
      }, {
        key: "DATA_KEY",
        get: function get() {
          return DATA_KEY$5;
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config) {
          return this.each(function () {
            var data = Data.get(this, DATA_KEY$5) || new Offcanvas(this, (0,esm_typeof/* default */.A)(config) === 'object' ? config : {});
            if (typeof config !== 'string') {
              return;
            }
            if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
              throw new TypeError("No method named \"".concat(config, "\""));
            }
            data[config](this);
          });
        }
      }]);
    }(BaseComponent);
    /**
     * ------------------------------------------------------------------------
     * Data Api implementation
     
    EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE$1, function (event) {
      const target = getElementFromSelector(this);
         if (['A', 'AREA'].includes(this.tagName)) {
        event.preventDefault();
      }
         if (isDisabled(this)) {
        return;
      }
         EventHandler.one(target, EVENT_HIDDEN$2, () =&gt; {
        // focus on trigger when it is closed
        if (isVisible(this)) {
          this.focus();
        }
      }); // avoid conflict when clicking a toggler of an offcanvas, while another is open
         const allReadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);
         if (allReadyOpen &amp;&amp; allReadyOpen !== target) {
        Offcanvas.getInstance(allReadyOpen).hide();
      }
         const data = Data.get(target, DATA_KEY$5) || new Offcanvas(target);
      data.toggle(this);
    });
    EventHandler.on(window, EVENT_LOAD_DATA_API$1, () =&gt; {
      SelectorEngine.find(OPEN_SELECTOR).forEach(el =&gt; (Data.get(el, DATA_KEY$5) || new Offcanvas(el)).show());
    });
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     */
    defineJQueryPlugin(NAME$5, Offcanvas);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): util/sanitizer.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    var uriAttrs = new Set(['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']);
    var ARIA_ATTRIBUTE_PATTERN = /^aria-[\w-]*$/i;
    /**
     * A pattern that recognizes a commonly useful subset of URLs that are safe.
     *
     * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
     */

    var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&amp;/:?]*(?:[#/?]|$))/i;
    /**
     * A pattern that matches safe data URLs. Only matches image, video and audio types.
     *
     * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts
     */

    var DATA_URL_PATTERN = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i;
    var allowedAttribute = function allowedAttribute(attr, allowedAttributeList) {
      var attrName = attr.nodeName.toLowerCase();
      if (allowedAttributeList.includes(attrName)) {
        if (uriAttrs.has(attrName)) {
          return Boolean(SAFE_URL_PATTERN.test(attr.nodeValue) || DATA_URL_PATTERN.test(attr.nodeValue));
        }
        return true;
      }
      var regExp = allowedAttributeList.filter(function (attrRegex) {
        return attrRegex instanceof RegExp;
      }); // Check if a regular expression validates the attribute.

      for (var i = 0, len = regExp.length; i &lt; len; i++) {
        if (regExp[i].test(attrName)) {
          return true;
        }
      }
      return false;
    };
    var DefaultAllowlist = {
      // Global attributes allowed on any supplied element below.
      '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],
      a: ['target', 'href', 'title', 'rel'],
      area: [],
      b: [],
      br: [],
      col: [],
      code: [],
      div: [],
      em: [],
      hr: [],
      h1: [],
      h2: [],
      h3: [],
      h4: [],
      h5: [],
      h6: [],
      i: [],
      img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],
      li: [],
      ol: [],
      p: [],
      pre: [],
      s: [],
      small: [],
      span: [],
      sub: [],
      sup: [],
      strong: [],
      u: [],
      ul: []
    };
    function sanitizeHtml(unsafeHtml, allowList, sanitizeFn) {
      var _ref5;
      if (!unsafeHtml.length) {
        return unsafeHtml;
      }
      if (sanitizeFn &amp;&amp; typeof sanitizeFn === 'function') {
        return sanitizeFn(unsafeHtml);
      }
      var domParser = new window.DOMParser();
      var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');
      var allowlistKeys = Object.keys(allowList);
      var elements = (_ref5 = []).concat.apply(_ref5, (0,toConsumableArray/* default */.A)(createdDocument.body.querySelectorAll('*')));
      var _loop = function _loop() {
        var _ref6;
        var el = elements[i];
        var elName = el.nodeName.toLowerCase();
        if (!allowlistKeys.includes(elName)) {
          el.parentNode.removeChild(el);
          return 1; // continue
        }
        var attributeList = (_ref6 = []).concat.apply(_ref6, (0,toConsumableArray/* default */.A)(el.attributes));
        var allowedAttributes = [].concat(allowList['*'] || [], allowList[elName] || []);
        attributeList.forEach(function (attr) {
          if (!allowedAttribute(attr, allowedAttributes)) {
            el.removeAttribute(attr.nodeName);
          }
        });
      };
      for (var i = 0, len = elements.length; i &lt; len; i++) {
        if (_loop()) continue;
      }
      return createdDocument.body.innerHTML;
    }

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): tooltip.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var NAME$4 = 'tooltip';
    var DATA_KEY$4 = 'bs.tooltip';
    var EVENT_KEY$4 = ".".concat(DATA_KEY$4);
    var CLASS_PREFIX$1 = 'bs-tooltip';
    var BSCLS_PREFIX_REGEX$1 = new RegExp("(^|\\s)".concat(CLASS_PREFIX$1, "\\S+"), 'g');
    var DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn']);
    var DefaultType$3 = {
      animation: 'boolean',
      template: 'string',
      title: '(string|element|function)',
      trigger: 'string',
      delay: '(number|object)',
      html: 'boolean',
      selector: '(string|boolean)',
      placement: '(string|function)',
      offset: '(array|string|function)',
      container: '(string|element|boolean)',
      fallbackPlacements: 'array',
      boundary: '(string|element)',
      customClass: '(string|function)',
      sanitize: 'boolean',
      sanitizeFn: '(null|function)',
      allowList: 'object',
      popperConfig: '(null|object|function)'
    };
    var AttachmentMap = {
      AUTO: 'auto',
      TOP: 'top',
      RIGHT: isRTL() ? 'left' : 'right',
      BOTTOM: 'bottom',
      LEFT: isRTL() ? 'right' : 'left'
    };
    var Default$3 = {
      animation: true,
      template: '&lt;div class="tooltip" role="tooltip"&gt;' + '&lt;div class="tooltip-arrow"&gt;&lt;/div&gt;' + '&lt;div class="tooltip-inner"&gt;&lt;/div&gt;' + '&lt;/div&gt;',
      trigger: 'hover focus',
      title: '',
      delay: 0,
      html: false,
      selector: false,
      placement: 'top',
      offset: [0, 0],
      container: false,
      fallbackPlacements: ['top', 'right', 'bottom', 'left'],
      boundary: 'clippingParents',
      customClass: '',
      sanitize: true,
      sanitizeFn: null,
      allowList: DefaultAllowlist,
      popperConfig: null
    };
    var Event$2 = {
      HIDE: "hide".concat(EVENT_KEY$4),
      HIDDEN: "hidden".concat(EVENT_KEY$4),
      SHOW: "show".concat(EVENT_KEY$4),
      SHOWN: "shown".concat(EVENT_KEY$4),
      INSERTED: "inserted".concat(EVENT_KEY$4),
      CLICK: "click".concat(EVENT_KEY$4),
      FOCUSIN: "focusin".concat(EVENT_KEY$4),
      FOCUSOUT: "focusout".concat(EVENT_KEY$4),
      MOUSEENTER: "mouseenter".concat(EVENT_KEY$4),
      MOUSELEAVE: "mouseleave".concat(EVENT_KEY$4)
    };
    var CLASS_NAME_FADE$3 = 'fade';
    var CLASS_NAME_MODAL = 'modal';
    var CLASS_NAME_SHOW$3 = 'show';
    var HOVER_STATE_SHOW = 'show';
    var HOVER_STATE_OUT = 'out';
    var SELECTOR_TOOLTIP_INNER = '.tooltip-inner';
    var TRIGGER_HOVER = 'hover';
    var TRIGGER_FOCUS = 'focus';
    var TRIGGER_CLICK = 'click';
    var TRIGGER_MANUAL = 'manual';
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var Tooltip = /*#__PURE__*/function (_BaseComponent8) {
      function Tooltip(element, config) {
        var _this32;
        (0,classCallCheck/* default */.A)(this, Tooltip);
        if (typeof Popper__namespace === 'undefined') {
          throw new TypeError('Bootstrap\'s tooltips require Popper (https://popper.js.org)');
        }
        _this32 = _callSuper(this, Tooltip, [element]); // private

        _this32._isEnabled = true;
        _this32._timeout = 0;
        _this32._hoverState = '';
        _this32._activeTrigger = {};
        _this32._popper = null; // Protected

        _this32.config = _this32._getConfig(config);
        _this32.tip = null;
        _this32._setListeners();
        return _this32;
      } // Getters
      (0,inherits/* default */.A)(Tooltip, _BaseComponent8);
      return (0,createClass/* default */.A)(Tooltip, [{
        key: "enable",
        value:
        // Public

        function enable() {
          this._isEnabled = true;
        }
      }, {
        key: "disable",
        value: function disable() {
          this._isEnabled = false;
        }
      }, {
        key: "toggleEnabled",
        value: function toggleEnabled() {
          this._isEnabled = !this._isEnabled;
        }
      }, {
        key: "toggle",
        value: function toggle(event) {
          if (!this._isEnabled) {
            return;
          }
          if (event) {
            var context = this._initializeOnDelegatedTarget(event);
            context._activeTrigger.click = !context._activeTrigger.click;
            if (context._isWithActiveTrigger()) {
              context._enter(null, context);
            } else {
              context._leave(null, context);
            }
          } else {
            if (this.getTipElement().classList.contains(CLASS_NAME_SHOW$3)) {
              this._leave(null, this);
              return;
            }
            this._enter(null, this);
          }
        }
      }, {
        key: "dispose",
        value: function dispose() {
          clearTimeout(this._timeout);
          EventHandler.off(this._element.closest(".".concat(CLASS_NAME_MODAL)), 'hide.bs.modal', this._hideModalHandler);
          if (this.tip &amp;&amp; this.tip.parentNode) {
            this.tip.parentNode.removeChild(this.tip);
          }
          this._isEnabled = null;
          this._timeout = null;
          this._hoverState = null;
          this._activeTrigger = null;
          if (this._popper) {
            this._popper.destroy();
          }
          this._popper = null;
          this.config = null;
          this.tip = null;
          _superPropGet(Tooltip, "dispose", this, 3)([]);
        }
      }, {
        key: "show",
        value: function show() {
          var _this33 = this;
          if (this._element.style.display === 'none') {
            throw new Error('Please use show on visible elements');
          }
          if (!(this.isWithContent() &amp;&amp; this._isEnabled)) {
            return;
          }
          var showEvent = EventHandler.trigger(this._element, this.constructor.Event.SHOW);
          var shadowRoot = _findShadowRoot(this._element);
          var isInTheDom = shadowRoot === null ? this._element.ownerDocument.documentElement.contains(this._element) : shadowRoot.contains(this._element);
          if (showEvent.defaultPrevented || !isInTheDom) {
            return;
          }
          var tip = this.getTipElement();
          var tipId = getUID(this.constructor.NAME);
          tip.setAttribute('id', tipId);
          this._element.setAttribute('aria-describedby', tipId);
          this.setContent();
          if (this.config.animation) {
            tip.classList.add(CLASS_NAME_FADE$3);
          }
          var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this._element) : this.config.placement;
          var attachment = this._getAttachment(placement);
          this._addAttachmentClass(attachment);
          var container = this._getContainer();
          Data.set(tip, this.constructor.DATA_KEY, this);
          if (!this._element.ownerDocument.documentElement.contains(this.tip)) {
            container.appendChild(tip);
            EventHandler.trigger(this._element, this.constructor.Event.INSERTED);
          }
          if (this._popper) {
            this._popper.update();
          } else {
            this._popper = Popper__namespace.createPopper(this._element, tip, this._getPopperConfig(attachment));
          }
          tip.classList.add(CLASS_NAME_SHOW$3);
          var customClass = typeof this.config.customClass === 'function' ? this.config.customClass() : this.config.customClass;
          if (customClass) {
            var _tip$classList;
            (_tip$classList = tip.classList).add.apply(_tip$classList, (0,toConsumableArray/* default */.A)(customClass.split(' ')));
          } // If this is a touch-enabled device we add extra
          // empty mouseover listeners to the body's immediate children;
          // only needed because of broken event delegation on iOS
          // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html

          if ('ontouchstart' in document.documentElement) {
            var _ref7;
            (_ref7 = []).concat.apply(_ref7, (0,toConsumableArray/* default */.A)(document.body.children)).forEach(function (element) {
              EventHandler.on(element, 'mouseover', noop);
            });
          }
          var complete = function complete() {
            var prevHoverState = _this33._hoverState;
            _this33._hoverState = null;
            EventHandler.trigger(_this33._element, _this33.constructor.Event.SHOWN);
            if (prevHoverState === HOVER_STATE_OUT) {
              _this33._leave(null, _this33);
            }
          };
          if (this.tip.classList.contains(CLASS_NAME_FADE$3)) {
            var transitionDuration = getTransitionDurationFromElement(this.tip);
            EventHandler.one(this.tip, 'transitionend', complete);
            emulateTransitionEnd(this.tip, transitionDuration);
          } else {
            complete();
          }
        }
      }, {
        key: "hide",
        value: function hide() {
          var _this34 = this;
          if (!this._popper) {
            return;
          }
          var tip = this.getTipElement();
          var complete = function complete() {
            if (_this34._isWithActiveTrigger()) {
              return;
            }
            if (_this34._hoverState !== HOVER_STATE_SHOW &amp;&amp; tip.parentNode) {
              tip.parentNode.removeChild(tip);
            }
            _this34._cleanTipClass();
            _this34._element.removeAttribute('aria-describedby');
            EventHandler.trigger(_this34._element, _this34.constructor.Event.HIDDEN);
            if (_this34._popper) {
              _this34._popper.destroy();
              _this34._popper = null;
            }
          };
          var hideEvent = EventHandler.trigger(this._element, this.constructor.Event.HIDE);
          if (hideEvent.defaultPrevented) {
            return;
          }
          tip.classList.remove(CLASS_NAME_SHOW$3); // If this is a touch-enabled device we remove the extra
          // empty mouseover listeners we added for iOS support

          if ('ontouchstart' in document.documentElement) {
            var _ref8;
            (_ref8 = []).concat.apply(_ref8, (0,toConsumableArray/* default */.A)(document.body.children)).forEach(function (element) {
              return EventHandler.off(element, 'mouseover', noop);
            });
          }
          this._activeTrigger[TRIGGER_CLICK] = false;
          this._activeTrigger[TRIGGER_FOCUS] = false;
          this._activeTrigger[TRIGGER_HOVER] = false;
          if (this.tip.classList.contains(CLASS_NAME_FADE$3)) {
            var transitionDuration = getTransitionDurationFromElement(tip);
            EventHandler.one(tip, 'transitionend', complete);
            emulateTransitionEnd(tip, transitionDuration);
          } else {
            complete();
          }
          this._hoverState = '';
        }
      }, {
        key: "update",
        value: function update() {
          if (this._popper !== null) {
            this._popper.update();
          }
        } // Protected
      }, {
        key: "isWithContent",
        value: function isWithContent() {
          return Boolean(this.getTitle());
        }
      }, {
        key: "getTipElement",
        value: function getTipElement() {
          if (this.tip) {
            return this.tip;
          }
          var element = document.createElement('div');
          element.innerHTML = this.config.template;
          this.tip = element.children[0];
          return this.tip;
        }
      }, {
        key: "setContent",
        value: function setContent() {
          var tip = this.getTipElement();
          this.setElementContent(SelectorEngine.findOne(SELECTOR_TOOLTIP_INNER, tip), this.getTitle());
          tip.classList.remove(CLASS_NAME_FADE$3, CLASS_NAME_SHOW$3);
        }
      }, {
        key: "setElementContent",
        value: function setElementContent(element, content) {
          if (element === null) {
            return;
          }
          if ((0,esm_typeof/* default */.A)(content) === 'object' &amp;&amp; isElement(content)) {
            if (content.jquery) {
              content = content[0];
            } // content is a DOM node or a jQuery

            if (this.config.html) {
              if (content.parentNode !== element) {
                element.innerHTML = '';
                element.appendChild(content);
              }
            } else {
              element.textContent = content.textContent;
            }
            return;
          }
          if (this.config.html) {
            if (this.config.sanitize) {
              content = sanitizeHtml(content, this.config.allowList, this.config.sanitizeFn);
            }
            element.innerHTML = content;
          } else {
            element.textContent = content;
          }
        }
      }, {
        key: "getTitle",
        value: function getTitle() {
          var title = this._element.getAttribute('data-bs-original-title');
          if (!title) {
            title = typeof this.config.title === 'function' ? this.config.title.call(this._element) : this.config.title;
          }
          return title;
        }
      }, {
        key: "updateAttachment",
        value: function updateAttachment(attachment) {
          if (attachment === 'right') {
            return 'end';
          }
          if (attachment === 'left') {
            return 'start';
          }
          return attachment;
        } // Private
      }, {
        key: "_initializeOnDelegatedTarget",
        value: function _initializeOnDelegatedTarget(event, context) {
          var dataKey = this.constructor.DATA_KEY;
          context = context || Data.get(event.delegateTarget, dataKey);
          if (!context) {
            context = new this.constructor(event.delegateTarget, this._getDelegateConfig());
            Data.set(event.delegateTarget, dataKey, context);
          }
          return context;
        }
      }, {
        key: "_getOffset",
        value: function _getOffset() {
          var _this35 = this;
          var offset = this.config.offset;
          if (typeof offset === 'string') {
            return offset.split(',').map(function (val) {
              return Number.parseInt(val, 10);
            });
          }
          if (typeof offset === 'function') {
            return function (popperData) {
              return offset(popperData, _this35._element);
            };
          }
          return offset;
        }
      }, {
        key: "_getPopperConfig",
        value: function _getPopperConfig(attachment) {
          var _this36 = this;
          var defaultBsPopperConfig = {
            placement: attachment,
            modifiers: [{
              name: 'flip',
              options: {
                fallbackPlacements: this.config.fallbackPlacements
              }
            }, {
              name: 'offset',
              options: {
                offset: this._getOffset()
              }
            }, {
              name: 'preventOverflow',
              options: {
                boundary: this.config.boundary
              }
            }, {
              name: 'arrow',
              options: {
                element: ".".concat(this.constructor.NAME, "-arrow")
              }
            }, {
              name: 'onChange',
              enabled: true,
              phase: 'afterWrite',
              fn: function fn(data) {
                return _this36._handlePopperPlacementChange(data);
              }
            }],
            onFirstUpdate: function onFirstUpdate(data) {
              if (data.options.placement !== data.placement) {
                _this36._handlePopperPlacementChange(data);
              }
            }
          };
          return _objectSpread(_objectSpread({}, defaultBsPopperConfig), typeof this.config.popperConfig === 'function' ? this.config.popperConfig(defaultBsPopperConfig) : this.config.popperConfig);
        }
      }, {
        key: "_addAttachmentClass",
        value: function _addAttachmentClass(attachment) {
          this.getTipElement().classList.add("".concat(CLASS_PREFIX$1, "-").concat(this.updateAttachment(attachment)));
        }
      }, {
        key: "_getContainer",
        value: function _getContainer() {
          if (this.config.container === false) {
            return document.body;
          }
          if (isElement(this.config.container)) {
            return this.config.container;
          }
          return SelectorEngine.findOne(this.config.container);
        }
      }, {
        key: "_getAttachment",
        value: function _getAttachment(placement) {
          return AttachmentMap[placement.toUpperCase()];
        }
      }, {
        key: "_setListeners",
        value: function _setListeners() {
          var _this37 = this;
          var triggers = this.config.trigger.split(' ');
          triggers.forEach(function (trigger) {
            if (trigger === 'click') {
              EventHandler.on(_this37._element, _this37.constructor.Event.CLICK, _this37.config.selector, function (event) {
                return _this37.toggle(event);
              });
            } else if (trigger !== TRIGGER_MANUAL) {
              var eventIn = trigger === TRIGGER_HOVER ? _this37.constructor.Event.MOUSEENTER : _this37.constructor.Event.FOCUSIN;
              var eventOut = trigger === TRIGGER_HOVER ? _this37.constructor.Event.MOUSELEAVE : _this37.constructor.Event.FOCUSOUT;
              EventHandler.on(_this37._element, eventIn, _this37.config.selector, function (event) {
                return _this37._enter(event);
              });
              EventHandler.on(_this37._element, eventOut, _this37.config.selector, function (event) {
                return _this37._leave(event);
              });
            }
          });
          this._hideModalHandler = function () {
            if (_this37._element) {
              _this37.hide();
            }
          };
          EventHandler.on(this._element.closest(".".concat(CLASS_NAME_MODAL)), 'hide.bs.modal', this._hideModalHandler);
          if (this.config.selector) {
            this.config = _objectSpread(_objectSpread({}, this.config), {}, {
              trigger: 'manual',
              selector: ''
            });
          } else {
            this._fixTitle();
          }
        }
      }, {
        key: "_fixTitle",
        value: function _fixTitle() {
          var title = this._element.getAttribute('title');
          var originalTitleType = (0,esm_typeof/* default */.A)(this._element.getAttribute('data-bs-original-title'));
          if (title || originalTitleType !== 'string') {
            this._element.setAttribute('data-bs-original-title', title || '');
            if (title &amp;&amp; !this._element.getAttribute('aria-label') &amp;&amp; !this._element.textContent) {
              this._element.setAttribute('aria-label', title);
            }
            this._element.setAttribute('title', '');
          }
        }
      }, {
        key: "_enter",
        value: function _enter(event, context) {
          context = this._initializeOnDelegatedTarget(event, context);
          if (event) {
            context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true;
          }
          if (context.getTipElement().classList.contains(CLASS_NAME_SHOW$3) || context._hoverState === HOVER_STATE_SHOW) {
            context._hoverState = HOVER_STATE_SHOW;
            return;
          }
          clearTimeout(context._timeout);
          context._hoverState = HOVER_STATE_SHOW;
          if (!context.config.delay || !context.config.delay.show) {
            context.show();
            return;
          }
          context._timeout = setTimeout(function () {
            if (context._hoverState === HOVER_STATE_SHOW) {
              context.show();
            }
          }, context.config.delay.show);
        }
      }, {
        key: "_leave",
        value: function _leave(event, context) {
          context = this._initializeOnDelegatedTarget(event, context);
          if (event) {
            context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] = context._element.contains(event.relatedTarget);
          }
          if (context._isWithActiveTrigger()) {
            return;
          }
          clearTimeout(context._timeout);
          context._hoverState = HOVER_STATE_OUT;
          if (!context.config.delay || !context.config.delay.hide) {
            context.hide();
            return;
          }
          context._timeout = setTimeout(function () {
            if (context._hoverState === HOVER_STATE_OUT) {
              context.hide();
            }
          }, context.config.delay.hide);
        }
      }, {
        key: "_isWithActiveTrigger",
        value: function _isWithActiveTrigger() {
          for (var trigger in this._activeTrigger) {
            if (this._activeTrigger[trigger]) {
              return true;
            }
          }
          return false;
        }
      }, {
        key: "_getConfig",
        value: function _getConfig(config) {
          var dataAttributes = Manipulator.getDataAttributes(this._element);
          Object.keys(dataAttributes).forEach(function (dataAttr) {
            if (DISALLOWED_ATTRIBUTES.has(dataAttr)) {
              delete dataAttributes[dataAttr];
            }
          });
          if (config &amp;&amp; (0,esm_typeof/* default */.A)(config.container) === 'object' &amp;&amp; config.container.jquery) {
            config.container = config.container[0];
          }
          config = _objectSpread(_objectSpread(_objectSpread({}, this.constructor.Default), dataAttributes), (0,esm_typeof/* default */.A)(config) === 'object' &amp;&amp; config ? config : {});
          if (typeof config.delay === 'number') {
            config.delay = {
              show: config.delay,
              hide: config.delay
            };
          }
          if (typeof config.title === 'number') {
            config.title = config.title.toString();
          }
          if (typeof config.content === 'number') {
            config.content = config.content.toString();
          }
          typeCheckConfig(NAME$4, config, this.constructor.DefaultType);
          if (config.sanitize) {
            config.template = sanitizeHtml(config.template, config.allowList, config.sanitizeFn);
          }
          return config;
        }
      }, {
        key: "_getDelegateConfig",
        value: function _getDelegateConfig() {
          var config = {};
          if (this.config) {
            for (var key in this.config) {
              if (this.constructor.Default[key] !== this.config[key]) {
                config[key] = this.config[key];
              }
            }
          }
          return config;
        }
      }, {
        key: "_cleanTipClass",
        value: function _cleanTipClass() {
          var tip = this.getTipElement();
          var tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX$1);
          if (tabClass !== null &amp;&amp; tabClass.length &gt; 0) {
            tabClass.map(function (token) {
              return token.trim();
            }).forEach(function (tClass) {
              return tip.classList.remove(tClass);
            });
          }
        }
      }, {
        key: "_handlePopperPlacementChange",
        value: function _handlePopperPlacementChange(popperData) {
          var state = popperData.state;
          if (!state) {
            return;
          }
          this.tip = state.elements.popper;
          this._cleanTipClass();
          this._addAttachmentClass(this._getAttachment(state.placement));
        } // Static
      }], [{
        key: "Default",
        get: function get() {
          return Default$3;
        }
      }, {
        key: "NAME",
        get: function get() {
          return NAME$4;
        }
      }, {
        key: "DATA_KEY",
        get: function get() {
          return DATA_KEY$4;
        }
      }, {
        key: "Event",
        get: function get() {
          return Event$2;
        }
      }, {
        key: "EVENT_KEY",
        get: function get() {
          return EVENT_KEY$4;
        }
      }, {
        key: "DefaultType",
        get: function get() {
          return DefaultType$3;
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config) {
          return this.each(function () {
            var data = Data.get(this, DATA_KEY$4);
            var _config = (0,esm_typeof/* default */.A)(config) === 'object' &amp;&amp; config;
            if (!data &amp;&amp; /dispose|hide/.test(config)) {
              return;
            }
            if (!data) {
              data = new Tooltip(this, _config);
            }
            if (typeof config === 'string') {
              if (typeof data[config] === 'undefined') {
                throw new TypeError("No method named \"".concat(config, "\""));
              }
              data[config]();
            }
          });
        }
      }]);
    }(BaseComponent);
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     * add .Tooltip to jQuery only if jQuery is present
     */
    defineJQueryPlugin(NAME$4, Tooltip);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): popover.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var NAME$3 = 'popover';
    var DATA_KEY$3 = 'bs.popover';
    var EVENT_KEY$3 = ".".concat(DATA_KEY$3);
    var CLASS_PREFIX = 'bs-popover';
    var BSCLS_PREFIX_REGEX = new RegExp("(^|\\s)".concat(CLASS_PREFIX, "\\S+"), 'g');
    var Default$2 = _objectSpread(_objectSpread({}, Tooltip.Default), {}, {
      placement: 'right',
      offset: [0, 8],
      trigger: 'click',
      content: '',
      template: '&lt;div class="popover" role="tooltip"&gt;' + '&lt;div class="popover-arrow"&gt;&lt;/div&gt;' + '&lt;h3 class="popover-header"&gt;&lt;/h3&gt;' + '&lt;div class="popover-body"&gt;&lt;/div&gt;' + '&lt;/div&gt;'
    });
    var DefaultType$2 = _objectSpread(_objectSpread({}, Tooltip.DefaultType), {}, {
      content: '(string|element|function)'
    });
    var Event$1 = {
      HIDE: "hide".concat(EVENT_KEY$3),
      HIDDEN: "hidden".concat(EVENT_KEY$3),
      SHOW: "show".concat(EVENT_KEY$3),
      SHOWN: "shown".concat(EVENT_KEY$3),
      INSERTED: "inserted".concat(EVENT_KEY$3),
      CLICK: "click".concat(EVENT_KEY$3),
      FOCUSIN: "focusin".concat(EVENT_KEY$3),
      FOCUSOUT: "focusout".concat(EVENT_KEY$3),
      MOUSEENTER: "mouseenter".concat(EVENT_KEY$3),
      MOUSELEAVE: "mouseleave".concat(EVENT_KEY$3)
    };
    var CLASS_NAME_FADE$2 = 'fade';
    var CLASS_NAME_SHOW$2 = 'show';
    var SELECTOR_TITLE = '.popover-header';
    var SELECTOR_CONTENT = '.popover-body';
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var Popover = /*#__PURE__*/function (_Tooltip) {
      function Popover() {
        (0,classCallCheck/* default */.A)(this, Popover);
        return _callSuper(this, Popover, arguments);
      }
      (0,inherits/* default */.A)(Popover, _Tooltip);
      return (0,createClass/* default */.A)(Popover, [{
        key: "isWithContent",
        value:
        // Overrides

        function isWithContent() {
          return this.getTitle() || this._getContent();
        }
      }, {
        key: "setContent",
        value: function setContent() {
          var tip = this.getTipElement(); // we use append for html objects to maintain js events

          this.setElementContent(SelectorEngine.findOne(SELECTOR_TITLE, tip), this.getTitle());
          var content = this._getContent();
          if (typeof content === 'function') {
            content = content.call(this._element);
          }
          this.setElementContent(SelectorEngine.findOne(SELECTOR_CONTENT, tip), content);
          tip.classList.remove(CLASS_NAME_FADE$2, CLASS_NAME_SHOW$2);
        } // Private
      }, {
        key: "_addAttachmentClass",
        value: function _addAttachmentClass(attachment) {
          this.getTipElement().classList.add("".concat(CLASS_PREFIX, "-").concat(this.updateAttachment(attachment)));
        }
      }, {
        key: "_getContent",
        value: function _getContent() {
          return this._element.getAttribute('data-bs-content') || this.config.content;
        }
      }, {
        key: "_cleanTipClass",
        value: function _cleanTipClass() {
          var tip = this.getTipElement();
          var tabClass = tip.getAttribute('class').match(BSCLS_PREFIX_REGEX);
          if (tabClass !== null &amp;&amp; tabClass.length &gt; 0) {
            tabClass.map(function (token) {
              return token.trim();
            }).forEach(function (tClass) {
              return tip.classList.remove(tClass);
            });
          }
        } // Static
      }], [{
        key: "Default",
        get:
        // Getters
        function get() {
          return Default$2;
        }
      }, {
        key: "NAME",
        get: function get() {
          return NAME$3;
        }
      }, {
        key: "DATA_KEY",
        get: function get() {
          return DATA_KEY$3;
        }
      }, {
        key: "Event",
        get: function get() {
          return Event$1;
        }
      }, {
        key: "EVENT_KEY",
        get: function get() {
          return EVENT_KEY$3;
        }
      }, {
        key: "DefaultType",
        get: function get() {
          return DefaultType$2;
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config) {
          return this.each(function () {
            var data = Data.get(this, DATA_KEY$3);
            var _config = (0,esm_typeof/* default */.A)(config) === 'object' ? config : null;
            if (!data &amp;&amp; /dispose|hide/.test(config)) {
              return;
            }
            if (!data) {
              data = new Popover(this, _config);
              Data.set(this, DATA_KEY$3, data);
            }
            if (typeof config === 'string') {
              if (typeof data[config] === 'undefined') {
                throw new TypeError("No method named \"".concat(config, "\""));
              }
              data[config]();
            }
          });
        }
      }]);
    }(Tooltip);
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     * add .Popover to jQuery only if jQuery is present
     */
    defineJQueryPlugin(NAME$3, Popover);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): scrollspy.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var NAME$2 = 'scrollspy';
    var DATA_KEY$2 = 'bs.scrollspy';
    var EVENT_KEY$2 = ".".concat(DATA_KEY$2);
    var Default$1 = {
      offset: 10,
      method: 'auto',
      target: ''
    };
    var DefaultType$1 = {
      offset: 'number',
      method: 'string',
      target: '(string|element)'
    };
    var EVENT_ACTIVATE = "activate".concat(EVENT_KEY$2);
    var EVENT_SCROLL = "scroll".concat(EVENT_KEY$2);
    var CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item';
    var CLASS_NAME_ACTIVE$1 = 'active';
    var SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';
    var SELECTOR_NAV_LINKS = '.nav-link';
    var SELECTOR_NAV_ITEMS = '.nav-item';
    var SELECTOR_LIST_ITEMS = '.list-group-item';
    var SELECTOR_DROPDOWN$1 = '.dropdown';
    var SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
    var METHOD_OFFSET = 'offset';
    var METHOD_POSITION = 'position';
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var ScrollSpy = /*#__PURE__*/function (_BaseComponent9) {
      function ScrollSpy(element, config) {
        var _this38;
        (0,classCallCheck/* default */.A)(this, ScrollSpy);
        _this38 = _callSuper(this, ScrollSpy, [element]);
        _this38._scrollElement = _this38._element.tagName === 'BODY' ? window : _this38._element;
        _this38._config = _this38._getConfig(config);
        _this38._selector = "".concat(_this38._config.target, " ").concat(SELECTOR_NAV_LINKS, ", ").concat(_this38._config.target, " ").concat(SELECTOR_LIST_ITEMS, ", ").concat(_this38._config.target, " .").concat(CLASS_NAME_DROPDOWN_ITEM);
        _this38._offsets = [];
        _this38._targets = [];
        _this38._activeTarget = null;
        _this38._scrollHeight = 0;
        EventHandler.on(_this38._scrollElement, EVENT_SCROLL, function () {
          return _this38._process();
        });
        _this38.refresh();
        _this38._process();
        return _this38;
      } // Getters
      (0,inherits/* default */.A)(ScrollSpy, _BaseComponent9);
      return (0,createClass/* default */.A)(ScrollSpy, [{
        key: "refresh",
        value:
        // Public

        function refresh() {
          var _this39 = this;
          var autoMethod = this._scrollElement === this._scrollElement.window ? METHOD_OFFSET : METHOD_POSITION;
          var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;
          var offsetBase = offsetMethod === METHOD_POSITION ? this._getScrollTop() : 0;
          this._offsets = [];
          this._targets = [];
          this._scrollHeight = this._getScrollHeight();
          var targets = SelectorEngine.find(this._selector);
          targets.map(function (element) {
            var targetSelector = getSelectorFromElement(element);
            var target = targetSelector ? SelectorEngine.findOne(targetSelector) : null;
            if (target) {
              var targetBCR = target.getBoundingClientRect();
              if (targetBCR.width || targetBCR.height) {
                return [Manipulator[offsetMethod](target).top + offsetBase, targetSelector];
              }
            }
            return null;
          }).filter(function (item) {
            return item;
          }).sort(function (a, b) {
            return a[0] - b[0];
          }).forEach(function (item) {
            _this39._offsets.push(item[0]);
            _this39._targets.push(item[1]);
          });
        }
      }, {
        key: "dispose",
        value: function dispose() {
          _superPropGet(ScrollSpy, "dispose", this, 3)([]);
          EventHandler.off(this._scrollElement, EVENT_KEY$2);
          this._scrollElement = null;
          this._config = null;
          this._selector = null;
          this._offsets = null;
          this._targets = null;
          this._activeTarget = null;
          this._scrollHeight = null;
        } // Private
      }, {
        key: "_getConfig",
        value: function _getConfig(config) {
          config = _objectSpread(_objectSpread(_objectSpread({}, Default$1), Manipulator.getDataAttributes(this._element)), (0,esm_typeof/* default */.A)(config) === 'object' &amp;&amp; config ? config : {});
          if (typeof config.target !== 'string' &amp;&amp; isElement(config.target)) {
            var id = config.target.id;
            if (!id) {
              id = getUID(NAME$2);
              config.target.id = id;
            }
            config.target = "#".concat(id);
          }
          typeCheckConfig(NAME$2, config, DefaultType$1);
          return config;
        }
      }, {
        key: "_getScrollTop",
        value: function _getScrollTop() {
          return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;
        }
      }, {
        key: "_getScrollHeight",
        value: function _getScrollHeight() {
          return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);
        }
      }, {
        key: "_getOffsetHeight",
        value: function _getOffsetHeight() {
          return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;
        }
      }, {
        key: "_process",
        value: function _process() {
          var scrollTop = this._getScrollTop() + this._config.offset;
          var scrollHeight = this._getScrollHeight();
          var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();
          if (this._scrollHeight !== scrollHeight) {
            this.refresh();
          }
          if (scrollTop &gt;= maxScroll) {
            var target = this._targets[this._targets.length - 1];
            if (this._activeTarget !== target) {
              this._activate(target);
            }
            return;
          }
          if (this._activeTarget &amp;&amp; scrollTop &lt; this._offsets[0] &amp;&amp; this._offsets[0] &gt; 0) {
            this._activeTarget = null;
            this._clear();
            return;
          }
          for (var i = this._offsets.length; i--;) {
            var isActiveTarget = this._activeTarget !== this._targets[i] &amp;&amp; scrollTop &gt;= this._offsets[i] &amp;&amp; (typeof this._offsets[i + 1] === 'undefined' || scrollTop &lt; this._offsets[i + 1]);
            if (isActiveTarget) {
              this._activate(this._targets[i]);
            }
          }
        }
      }, {
        key: "_activate",
        value: function _activate(target) {
          this._activeTarget = target;
          this._clear();
          var queries = this._selector.split(',').map(function (selector) {
            return "".concat(selector, "[data-bs-target=\"").concat(target, "\"],").concat(selector, "[href=\"").concat(target, "\"]");
          });
          var link = SelectorEngine.findOne(queries.join(','));
          if (link.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {
            SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE$1, link.closest(SELECTOR_DROPDOWN$1)).classList.add(CLASS_NAME_ACTIVE$1);
            link.classList.add(CLASS_NAME_ACTIVE$1);
          } else {
            // Set triggered link as active
            link.classList.add(CLASS_NAME_ACTIVE$1);
            SelectorEngine.parents(link, SELECTOR_NAV_LIST_GROUP$1).forEach(function (listGroup) {
              // Set triggered links parents as active
              // With both &lt;ul&gt; and &lt;nav&gt; markup a parent is the previous sibling of any nav ancestor
              SelectorEngine.prev(listGroup, "".concat(SELECTOR_NAV_LINKS, ", ").concat(SELECTOR_LIST_ITEMS)).forEach(function (item) {
                return item.classList.add(CLASS_NAME_ACTIVE$1);
              }); // Handle special case when .nav-link is inside .nav-item

              SelectorEngine.prev(listGroup, SELECTOR_NAV_ITEMS).forEach(function (navItem) {
                SelectorEngine.children(navItem, SELECTOR_NAV_LINKS).forEach(function (item) {
                  return item.classList.add(CLASS_NAME_ACTIVE$1);
                });
              });
            });
          }
          EventHandler.trigger(this._scrollElement, EVENT_ACTIVATE, {
            relatedTarget: target
          });
        }
      }, {
        key: "_clear",
        value: function _clear() {
          SelectorEngine.find(this._selector).filter(function (node) {
            return node.classList.contains(CLASS_NAME_ACTIVE$1);
          }).forEach(function (node) {
            return node.classList.remove(CLASS_NAME_ACTIVE$1);
          });
        } // Static
      }], [{
        key: "Default",
        get: function get() {
          return Default$1;
        }
      }, {
        key: "DATA_KEY",
        get: function get() {
          return DATA_KEY$2;
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config) {
          return this.each(function () {
            var data = ScrollSpy.getInstance(this) || new ScrollSpy(this, (0,esm_typeof/* default */.A)(config) === 'object' ? config : {});
            if (typeof config !== 'string') {
              return;
            }
            if (typeof data[config] === 'undefined') {
              throw new TypeError("No method named \"".concat(config, "\""));
            }
            data[config]();
          });
        }
      }]);
    }(BaseComponent);
    /**
     * ------------------------------------------------------------------------
     * Data Api implementation
     
    EventHandler.on(window, EVENT_LOAD_DATA_API, () =&gt; {
      SelectorEngine.find(SELECTOR_DATA_SPY).forEach(spy =&gt; new ScrollSpy(spy));
    });
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     * add .ScrollSpy to jQuery only if jQuery is present
     */
    defineJQueryPlugin(NAME$2, ScrollSpy);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): tab.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var NAME$1 = 'tab';
    var DATA_KEY$1 = 'bs.tab';
    var EVENT_KEY$1 = ".".concat(DATA_KEY$1);
    var EVENT_HIDE$1 = "hide".concat(EVENT_KEY$1);
    var EVENT_HIDDEN$1 = "hidden".concat(EVENT_KEY$1);
    var EVENT_SHOW$1 = "show".concat(EVENT_KEY$1);
    var EVENT_SHOWN$1 = "shown".concat(EVENT_KEY$1);
    var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
    var CLASS_NAME_ACTIVE = 'active';
    var CLASS_NAME_FADE$1 = 'fade';
    var CLASS_NAME_SHOW$1 = 'show';
    var SELECTOR_DROPDOWN = '.dropdown';
    var SELECTOR_NAV_LIST_GROUP = '.nav, .list-group';
    var SELECTOR_ACTIVE = '.active';
    var SELECTOR_ACTIVE_UL = ':scope &gt; li &gt; .active';
    var SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle';
    var SELECTOR_DROPDOWN_ACTIVE_CHILD = ':scope &gt; .dropdown-menu .active';
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var Tab = /*#__PURE__*/function (_BaseComponent10) {
      function Tab() {
        (0,classCallCheck/* default */.A)(this, Tab);
        return _callSuper(this, Tab, arguments);
      }
      (0,inherits/* default */.A)(Tab, _BaseComponent10);
      return (0,createClass/* default */.A)(Tab, [{
        key: "show",
        value:
        // Public

        function show() {
          var _this40 = this;
          if (this._element.parentNode &amp;&amp; this._element.parentNode.nodeType === Node.ELEMENT_NODE &amp;&amp; this._element.classList.contains(CLASS_NAME_ACTIVE)) {
            return;
          }
          var previous;
          var target = getElementFromSelector(this._element);
          var listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP);
          if (listElement) {
            var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE;
            previous = SelectorEngine.find(itemSelector, listElement);
            previous = previous[previous.length - 1];
          }
          var hideEvent = previous ? EventHandler.trigger(previous, EVENT_HIDE$1, {
            relatedTarget: this._element
          }) : null;
          var showEvent = EventHandler.trigger(this._element, EVENT_SHOW$1, {
            relatedTarget: previous
          });
          if (showEvent.defaultPrevented || hideEvent !== null &amp;&amp; hideEvent.defaultPrevented) {
            return;
          }
          this._activate(this._element, listElement);
          var complete = function complete() {
            EventHandler.trigger(previous, EVENT_HIDDEN$1, {
              relatedTarget: _this40._element
            });
            EventHandler.trigger(_this40._element, EVENT_SHOWN$1, {
              relatedTarget: previous
            });
          };
          if (target) {
            this._activate(target, target.parentNode, complete);
          } else {
            complete();
          }
        } // Private
      }, {
        key: "_activate",
        value: function _activate(element, container, callback) {
          var _this41 = this;
          var activeElements = container &amp;&amp; (container.nodeName === 'UL' || container.nodeName === 'OL') ? SelectorEngine.find(SELECTOR_ACTIVE_UL, container) : SelectorEngine.children(container, SELECTOR_ACTIVE);
          var active = activeElements[0];
          var isTransitioning = callback &amp;&amp; active &amp;&amp; active.classList.contains(CLASS_NAME_FADE$1);
          var complete = function complete() {
            return _this41._transitionComplete(element, active, callback);
          };
          if (active &amp;&amp; isTransitioning) {
            var transitionDuration = getTransitionDurationFromElement(active);
            active.classList.remove(CLASS_NAME_SHOW$1);
            EventHandler.one(active, 'transitionend', complete);
            emulateTransitionEnd(active, transitionDuration);
          } else {
            complete();
          }
        }
      }, {
        key: "_transitionComplete",
        value: function _transitionComplete(element, active, callback) {
          if (active) {
            active.classList.remove(CLASS_NAME_ACTIVE);
            var dropdownChild = SelectorEngine.findOne(SELECTOR_DROPDOWN_ACTIVE_CHILD, active.parentNode);
            if (dropdownChild) {
              dropdownChild.classList.remove(CLASS_NAME_ACTIVE);
            }
            if (active.getAttribute('role') === 'tab') {
              active.setAttribute('aria-selected', false);
            }
          }
          element.classList.add(CLASS_NAME_ACTIVE);
          if (element.getAttribute('role') === 'tab') {
            element.setAttribute('aria-selected', true);
          }
          reflow(element);
          if (element.classList.contains(CLASS_NAME_FADE$1)) {
            element.classList.add(CLASS_NAME_SHOW$1);
          }
          var parent = element.parentNode;
          if (parent &amp;&amp; parent.nodeName === 'LI') {
            parent = parent.parentNode;
          }
          if (parent &amp;&amp; parent.classList.contains(CLASS_NAME_DROPDOWN_MENU)) {
            var dropdownElement = element.closest(SELECTOR_DROPDOWN);
            if (dropdownElement) {
              SelectorEngine.find(SELECTOR_DROPDOWN_TOGGLE, dropdownElement).forEach(function (dropdown) {
                return dropdown.classList.add(CLASS_NAME_ACTIVE);
              });
            }
            element.setAttribute('aria-expanded', true);
          }
          if (callback) {
            callback();
          }
        } // Static
      }], [{
        key: "DATA_KEY",
        get:
        // Getters
        function get() {
          return DATA_KEY$1;
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config) {
          return this.each(function () {
            var data = Data.get(this, DATA_KEY$1) || new Tab(this);
            if (typeof config === 'string') {
              if (typeof data[config] === 'undefined') {
                throw new TypeError("No method named \"".concat(config, "\""));
              }
              data[config]();
            }
          });
        }
      }]);
    }(BaseComponent);
    /**
     * ------------------------------------------------------------------------
     * Data Api implementation
     
    EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
      if (['A', 'AREA'].includes(this.tagName)) {
        event.preventDefault();
      }
         if (isDisabled(this)) {
        return;
      }
         const data = Data.get(this, DATA_KEY$1) || new Tab(this);
      data.show();
    });
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     * add .Tab to jQuery only if jQuery is present
     */
    defineJQueryPlugin(NAME$1, Tab);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): toast.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    /**
     * ------------------------------------------------------------------------
     * Constants
     * ------------------------------------------------------------------------
     */

    var NAME = 'toast';
    var DATA_KEY = 'bs.toast';
    var EVENT_KEY = ".".concat(DATA_KEY);
    var EVENT_CLICK_DISMISS = "click.dismiss".concat(EVENT_KEY);
    var EVENT_HIDE = "hide".concat(EVENT_KEY);
    var EVENT_HIDDEN = "hidden".concat(EVENT_KEY);
    var EVENT_SHOW = "show".concat(EVENT_KEY);
    var EVENT_SHOWN = "shown".concat(EVENT_KEY);
    var CLASS_NAME_FADE = 'fade';
    var CLASS_NAME_HIDE = 'hide';
    var CLASS_NAME_SHOW = 'show';
    var CLASS_NAME_SHOWING = 'showing';
    var DefaultType = {
      animation: 'boolean',
      autohide: 'boolean',
      delay: 'number'
    };
    var Default = {
      animation: true,
      autohide: true,
      delay: 5000
    };
    var SELECTOR_DATA_DISMISS = '[data-bs-dismiss="toast"]';
    /**
     * ------------------------------------------------------------------------
     * Class Definition
     * ------------------------------------------------------------------------
     */
    var Toast = /*#__PURE__*/function (_BaseComponent11) {
      function Toast(element, config) {
        var _this42;
        (0,classCallCheck/* default */.A)(this, Toast);
        _this42 = _callSuper(this, Toast, [element]);
        _this42._config = _this42._getConfig(config);
        _this42._timeout = null;
        _this42._setListeners();
        return _this42;
      } // Getters
      (0,inherits/* default */.A)(Toast, _BaseComponent11);
      return (0,createClass/* default */.A)(Toast, [{
        key: "show",
        value:
        // Public

        function show() {
          var _this43 = this;
          var showEvent = EventHandler.trigger(this._element, EVENT_SHOW);
          if (showEvent.defaultPrevented) {
            return;
          }
          this._clearTimeout();
          if (this._config.animation) {
            this._element.classList.add(CLASS_NAME_FADE);
          }
          var complete = function complete() {
            _this43._element.classList.remove(CLASS_NAME_SHOWING);
            _this43._element.classList.add(CLASS_NAME_SHOW);
            EventHandler.trigger(_this43._element, EVENT_SHOWN);
            if (_this43._config.autohide) {
              _this43._timeout = setTimeout(function () {
                _this43.hide();
              }, _this43._config.delay);
            }
          };
          this._element.classList.remove(CLASS_NAME_HIDE);
          reflow(this._element);
          this._element.classList.add(CLASS_NAME_SHOWING);
          if (this._config.animation) {
            var transitionDuration = getTransitionDurationFromElement(this._element);
            EventHandler.one(this._element, 'transitionend', complete);
            emulateTransitionEnd(this._element, transitionDuration);
          } else {
            complete();
          }
        }
      }, {
        key: "hide",
        value: function hide() {
          var _this44 = this;
          if (!this._element.classList.contains(CLASS_NAME_SHOW)) {
            return;
          }
          var hideEvent = EventHandler.trigger(this._element, EVENT_HIDE);
          if (hideEvent.defaultPrevented) {
            return;
          }
          var complete = function complete() {
            _this44._element.classList.add(CLASS_NAME_HIDE);
            EventHandler.trigger(_this44._element, EVENT_HIDDEN);
          };
          this._element.classList.remove(CLASS_NAME_SHOW);
          if (this._config.animation) {
            var transitionDuration = getTransitionDurationFromElement(this._element);
            EventHandler.one(this._element, 'transitionend', complete);
            emulateTransitionEnd(this._element, transitionDuration);
          } else {
            complete();
          }
        }
      }, {
        key: "dispose",
        value: function dispose() {
          this._clearTimeout();
          if (this._element.classList.contains(CLASS_NAME_SHOW)) {
            this._element.classList.remove(CLASS_NAME_SHOW);
          }
          _superPropGet(Toast, "dispose", this, 3)([]);
          this._config = null;
        } // Private
      }, {
        key: "_getConfig",
        value: function _getConfig(config) {
          config = _objectSpread(_objectSpread(_objectSpread({}, Default), Manipulator.getDataAttributes(this._element)), (0,esm_typeof/* default */.A)(config) === 'object' &amp;&amp; config ? config : {});
          typeCheckConfig(NAME, config, this.constructor.DefaultType);
          return config;
        }
      }, {
        key: "_setListeners",
        value: function _setListeners() {
          var _this45 = this;
          EventHandler.on(this._element, EVENT_CLICK_DISMISS, SELECTOR_DATA_DISMISS, function () {
            return _this45.hide();
          });
        }
      }, {
        key: "_clearTimeout",
        value: function _clearTimeout() {
          clearTimeout(this._timeout);
          this._timeout = null;
        } // Static
      }], [{
        key: "DefaultType",
        get: function get() {
          return DefaultType;
        }
      }, {
        key: "Default",
        get: function get() {
          return Default;
        }
      }, {
        key: "DATA_KEY",
        get: function get() {
          return DATA_KEY;
        }
      }, {
        key: "jQueryInterface",
        value: function jQueryInterface(config) {
          return this.each(function () {
            var data = Data.get(this, DATA_KEY);
            var _config = (0,esm_typeof/* default */.A)(config) === 'object' &amp;&amp; config;
            if (!data) {
              data = new Toast(this, _config);
            }
            if (typeof config === 'string') {
              if (typeof data[config] === 'undefined') {
                throw new TypeError("No method named \"".concat(config, "\""));
              }
              data[config](this);
            }
          });
        }
      }]);
    }(BaseComponent);
    /**
     * ------------------------------------------------------------------------
     * jQuery
     * ------------------------------------------------------------------------
     * add .Toast to jQuery only if jQuery is present
     */
    defineJQueryPlugin(NAME, Toast);

    /**
     * --------------------------------------------------------------------------
     * Bootstrap (v5.0.0): index.umd.js
     * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
     * --------------------------------------------------------------------------
     */
    var index_umd = {
      Alert: Alert,
      Button: Button,
      Carousel: Carousel,
      Collapse: Collapse,
      Dropdown: Dropdown,
      Modal: Modal,
      Offcanvas: Offcanvas,
      Popover: Popover,
      ScrollSpy: ScrollSpy,
      Tab: Tab,
      Toast: Toast,
      Tooltip: Tooltip
    };
    return index_umd;
  });
});
var bootstrap5Raw$1 = unwrapExports(bootstrap5Raw);

// EXTERNAL MODULE: ./src/dependencies/modules/plus.js
var plus = __webpack_require__(8081);
;// CONCATENATED MODULE: ./src/dependencies/modules/bootstrap5.js




/* KPMGT-119 | data-bs-remote implementation - START */
bootstrap5Raw$1.Modal.prototype.remote = function (url) {
  var self = this;
  var client = new HttpClient();
  var modalContent = self._element.querySelector('.modal-content');
  self._config.remote = url;
  (0,plus/* default */.A)(modalContent).css({
    'opacity': 0
  });
  client.get(url, function (response) {
    var filteredResponse = (0,plus/* default */.A)('.modal-box-container', response);
    // remove original close button
    (0,plus/* default */.A)(self._element).children().children('.btn-close').remove();
    // filter response for specific modal content with close button prepended
    (0,plus/* default */.A)(modalContent).html((0,plus/* default */.A)('.modal-box-container', response).length ? filteredResponse : response);
    self._remoteLoaded = true;
    // trigger event
    trigger(self._element, 'loaded.bs.modal');
    setTimeout(function () {
      (0,plus/* default */.A)(modalContent).css({
        'opacity': 1
      });
      // check if close button doesn't exist in response
      if (filteredResponse.find('.module-peoplecontactform').length || filteredResponse.find('.module-contact-form').length) {
        if (filteredResponse.find('.icon-close').length === 0) {
          modalContent.prepend((0,plus/* default */.A)('&lt;button class="btn-close" data-bs-dismiss="modal"&gt;&lt;span class="icon-close"&gt;&lt;span class="sr-only"&gt;' + window.kpmgPersonalize.i18n.customMsgs.close + '&lt;/span&gt;&lt;/span&gt;&lt;/button&gt;').get(0));
        }
      } else {
        modalContent.prepend((0,plus/* default */.A)('&lt;button class="btn-close" data-bs-dismiss="modal"&gt;&lt;span class="icon-close"&gt;&lt;span class="sr-only"&gt;' + window.kpmgPersonalize.i18n.customMsgs.close + '&lt;/span&gt;&lt;/span&gt;&lt;/button&gt;').get(0));
      }
    }, 500);
  });
};
bootstrap5Raw$1.Modal.getOrInitInstance = function (element) {
  var config = arguments.length &gt; 1 &amp;&amp; arguments[1] !== undefined ? arguments[1] : {};
  return bootstrap5Raw$1.Modal.getInstance(element) || new bootstrap5Raw$1.Modal(element, (0,esm_typeof/* default */.A)(config) === 'object' ? config : null);
};
function remoteLoad(element, target, data) {
  var remoteUrl = element.getAttribute('data-bs-remote');
  if (!remoteUrl) {
    return;
  }
  var modalContent = target.querySelector('.modal-content');
  var client = new HttpClient();
  data._config.remote = remoteUrl;
  (0,plus/* default */.A)(modalContent).css({
    'opacity': 0
  });
  client.get(remoteUrl, function (response) {
    var filteredResponse = (0,plus/* default */.A)('.modal-box-container', response);
    // remove original close button
    (0,plus/* default */.A)(target).children().children('.btn-close').remove();
    // filter response for specific modal content with close button prepended
    (0,plus/* default */.A)(modalContent).html((0,plus/* default */.A)('.modal-box-container', response).length ? filteredResponse : response);
    data._remoteLoaded = true;
    trigger(target, 'loaded.bs.modal');
    setTimeout(function () {
      (0,plus/* default */.A)(modalContent).css({
        'opacity': 1
      });
      // check if close button doesn't exist in response
      if (filteredResponse.find('.module-peoplecontactform').length || filteredResponse.find('.module-contact-form').length) {
        if (filteredResponse.find('.icon-close').length === 0) {
          modalContent.prepend((0,plus/* default */.A)('&lt;button class="btn-close" data-bs-dismiss="modal"&gt;&lt;span class="icon-close"&gt;&lt;span class="sr-only"&gt;' + window.kpmgPersonalize.i18n.customMsgs.close + '&lt;/span&gt;&lt;/span&gt;&lt;/button&gt;').get(0));
        }
      } else {
        modalContent.prepend((0,plus/* default */.A)('&lt;button class="btn-close" data-bs-dismiss="modal"&gt;&lt;span class="icon-close"&gt;&lt;span class="sr-only"&gt;' + window.kpmgPersonalize.i18n.customMsgs.close + '&lt;/span&gt;&lt;/span&gt;&lt;/button&gt;').get(0));
      }
    }, 500);
  });
}
var fn = bootstrapDelegationHandler(document, '[data-bs-toggle="modal"]', function (event) {
  var target = getElementFromSelector(this);
  var data = bootstrap5Raw$1.Modal.getInstance(target) || new bootstrap5Raw$1.Modal(target);
  remoteLoad(this, target, data);
});
document.addEventListener('click', fn);

/* KPMGT-119 | data-bs-remote implementation - END */

// https://stackoverflow.com/questions/247483/http-get-request-in-javascript
var HttpClient = function HttpClient() {
  this.get = function (aUrl, aCallback) {
    var anHttpRequest = new XMLHttpRequest();
    anHttpRequest.onreadystatechange = function () {
      if (anHttpRequest.readyState == 4 &amp;&amp; anHttpRequest.status == 200) aCallback(anHttpRequest.responseText);
    };
    anHttpRequest.open("GET", aUrl, true);
    anHttpRequest.send(null);
  };
};

/* helper functions from bootstrap5 internals - START */
var getSelector = function getSelector(element) {
  var selector = element.getAttribute('data-bs-target');
  if (!selector || selector === '#') {
    var hrefAttr = element.getAttribute('href'); // The only valid content that could double as a selector are IDs or classes,
    // so everything starting with `#` or `.`. If a "real" URL is used as the selector,
    // `document.querySelector` will rightfully complain it is invalid.
    // See https://github.com/twbs/bootstrap/issues/32273

    if (!hrefAttr || !hrefAttr.includes('#') &amp;&amp; !hrefAttr.startsWith('.')) {
      return null;
    } // Just in case some CMS puts out a full URL with the anchor appended

    if (hrefAttr.includes('#') &amp;&amp; !hrefAttr.startsWith('#')) {
      hrefAttr = "#".concat(hrefAttr.split('#')[1]);
    }
    selector = hrefAttr &amp;&amp; hrefAttr !== '#' ? hrefAttr.trim() : null;
  }
  return selector;
};
var getElementFromSelector = function getElementFromSelector(element) {
  var selector = getSelector(element);
  return selector ? document.querySelector(selector) : null;
};
function bootstrapDelegationHandler(element, selector, fn) {
  return function handler(event) {
    var domElements = element.querySelectorAll(selector);
    for (var target = event.target; target &amp;&amp; target !== this; target = target.parentNode) {
      for (var i = domElements.length; i--;) {
        if (domElements[i] === target) {
          event.delegateTarget = target;
          return fn.apply(target, [event]);
        }
      }
    } // To please ESLint

    return null;
  };
}
var getjQuery = function getjQuery() {
  var _window = window,
    jQuery = _window.jQuery;
  if (jQuery &amp;&amp; !document.body.hasAttribute('data-bs-no-jquery')) {
    return jQuery;
  }
  return null;
};
var stripNameRegex = /\..*/;
function getTypeEvent(event) {
  // allow to get the native events from namespaced events ('click.bs.button' --&gt; 'click')
  event = event.replace(stripNameRegex, '');
  return customEvents[event] || event;
}
var customEvents = {
  mouseenter: 'mouseover',
  mouseleave: 'mouseout'
};
var nativeEvents = new Set(['click', 'dblclick', 'mouseup', 'mousedown', 'contextmenu', 'mousewheel', 'DOMMouseScroll', 'mouseover', 'mouseout', 'mousemove', 'selectstart', 'selectend', 'keydown', 'keypress', 'keyup', 'orientationchange', 'touchstart', 'touchmove', 'touchend', 'touchcancel', 'pointerdown', 'pointermove', 'pointerup', 'pointerleave', 'pointercancel', 'gesturestart', 'gesturechange', 'gestureend', 'focus', 'blur', 'change', 'reset', 'select', 'submit', 'focusin', 'focusout', 'load', 'unload', 'beforeunload', 'resize', 'move', 'DOMContentLoaded', 'readystatechange', 'error', 'abort', 'scroll']);
function trigger(element, event, args) {
  if (typeof event !== 'string' || !element) {
    return null;
  }
  var $ = getjQuery();
  var typeEvent = getTypeEvent(event);
  var inNamespace = event !== typeEvent;
  var isNative = nativeEvents.has(typeEvent);
  var jQueryEvent;
  var bubbles = true;
  var nativeDispatch = true;
  var defaultPrevented = false;
  var evt = null;
  if (inNamespace &amp;&amp; $) {
    jQueryEvent = $.Event(event, args);
    $(element).trigger(jQueryEvent);
    bubbles = !jQueryEvent.isPropagationStopped();
    nativeDispatch = !jQueryEvent.isImmediatePropagationStopped();
    defaultPrevented = jQueryEvent.isDefaultPrevented();
  }
  if (isNative) {
    evt = document.createEvent('HTMLEvents');
    evt.initEvent(typeEvent, bubbles, true);
  } else {
    evt = new CustomEvent(event, {
      bubbles: bubbles,
      cancelable: true
    });
  } // merge custom information in our event

  if (typeof args !== 'undefined') {
    Object.keys(args).forEach(function (key) {
      Object.defineProperty(evt, key, {
        get: function get() {
          return args[key];
        }
      });
    });
  }
  if (defaultPrevented) {
    evt.preventDefault();
  }
  if (nativeDispatch) {
    element.dispatchEvent(evt);
  }
  if (evt.defaultPrevented &amp;&amp; typeof jQueryEvent !== 'undefined') {
    jQueryEvent.preventDefault();
  }
  return evt;
}
/* helper functions from bootstrap5 internals - END */

if (typeof define === "function" &amp;&amp; __webpack_require__.amdO) {
  define("bootstrap5", [], function () {
    return bootstrap;
  });
}
if (!window.bootstrap) window.bootstrap = bootstrap5Raw$1;
/* harmony default export */ const bootstrap5 = (window.bootstrap);

/***/ }),

/***/ 8262:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) =&gt; {

"use strict";

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  A: () =&gt; (/* binding */ CommonUtils$1)
});

// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
var esm_typeof = __webpack_require__(2284);
// EXTERNAL MODULE: ./src/dependencies/modules/plus.js
var plus = __webpack_require__(8081);
;// CONCATENATED MODULE: ./src/dependencies/modules/ellipsed.js
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof self !== 'undefined' ? self : {};
function unwrapExports(x) {
  return x &amp;&amp; x.__esModule &amp;&amp; Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
}
function createCommonjsModule(fn, module) {
  return module = {
    exports: {}
  }, fn(module, module.exports), module.exports;
}
var ellipsed_min = createCommonjsModule(function (module, exports) {
  (function (global, factory) {
    {
      factory(exports);
    }
  })(commonjsGlobal, function (exports) {
    Object.defineProperty(exports, '__esModule', {
      value: true
    });
    var _extends = Object.assign || function (target) {
      for (var i = 1; i &lt; arguments.length; i++) {
        var source = arguments[i];
        for (var key in source) {
          if (Object.prototype.hasOwnProperty.call(source, key)) {
            target[key] = source[key];
          }
        }
      }
      return target;
    };

    /*
     *   Copyright (C) 2017 Nicola Zambello
     *
     *    The JavaScript code in this page is open source software licensed under MIT license
     *    References about this code and its license, see:
     *
     *    https://github.com/nzambello/ellipsed
     *
     */

    function tokensReducer(acc, token) {
      var el = acc.el,
        elStyle = acc.elStyle,
        elHeight = acc.elHeight,
        rowsLimit = acc.rowsLimit,
        rowsWrapped = acc.rowsWrapped,
        options = acc.options;
      var oldBuffer = acc.buffer;
      var newBuffer = oldBuffer;
      if (rowsWrapped === rowsLimit + 1) {
        return _extends({}, acc);
      }
      var textBeforeWrap = oldBuffer;
      var newRowsWrapped = rowsWrapped;
      var newHeight = elHeight;
      el.innerHTML = newBuffer = oldBuffer.length ? '' + oldBuffer + options.delimiter + token + options.replaceStr : '' + token + options.replaceStr;
      if (parseFloat(elStyle.height) &gt; parseFloat(elHeight)) {
        newRowsWrapped++;
        newHeight = elStyle.height;
        if (newRowsWrapped === rowsLimit + 1) {
          el.innerHTML = newBuffer = textBeforeWrap[textBeforeWrap.length - 1] === '.' &amp;&amp; options.replaceStr === '...' ? textBeforeWrap + '..' : '' + textBeforeWrap + options.replaceStr;
          return _extends({}, acc, {
            elHeight: newHeight,
            rowsWrapped: newRowsWrapped
          });
        }
      }
      el.innerHTML = newBuffer = textBeforeWrap.length ? '' + textBeforeWrap + options.delimiter + token : '' + token;
      return _extends({}, acc, {
        buffer: newBuffer,
        elHeight: newHeight,
        rowsWrapped: newRowsWrapped
      });
    }
    function ellipsis() {
      var selector = arguments.length &gt; 0 &amp;&amp; arguments[0] !== undefined ? arguments[0] : '';
      var rows = arguments.length &gt; 1 &amp;&amp; arguments[1] !== undefined ? arguments[1] : 1;
      var options = arguments.length &gt; 2 &amp;&amp; arguments[2] !== undefined ? arguments[2] : {};
      var defaultOptions = {
        replaceStr: '...',
        responsive: false,
        debounceDelay: 250,
        delimiter: ' '
      };
      var opts = _extends({}, defaultOptions, options);
      var elements = selector &amp;&amp; (selector instanceof NodeList ? selector : selector.nodeType === 1 ? [selector] : document.querySelectorAll(selector));
      var originalTexts = [];
      for (var i = 0; i &lt; elements.length; i++) {
        var el = elements[i];
        // KPMGT-265 Fix for line height calculation issue (unset max-height if set) + responsiveness - start
        if (window.getComputedStyle(el).maxHeight !== 'none') {
          el.style.maxHeight = 'none';
        }
        if (el.kpmgOriginalText) {
          el.innerHTML = el.kpmgOriginalText;
        } else {
          el.kpmgOriginalText = el.innerHTML; // keep for future reference if same element is invoked
        }
        if (el.kpmgEllipsedResponsive) {
          window.removeEventListener('resize', el.kpmgEllipsedResponsive); // remove old listeners
          delete el.kpmgEllipsedResponsive;
        }
        // KPMGT-265 - end
        originalTexts[i] = el.innerHTML;
        var splittedText = el.innerHTML.split(opts.delimiter);
        el.innerHTML = '';
        var elStyle = window.getComputedStyle(el);
        splittedText.reduce(tokensReducer, {
          el: el,
          buffer: el.innerHTML,
          elStyle: elStyle,
          elHeight: 0,
          rowsLimit: rows,
          rowsWrapped: 0,
          options: opts
        });
      }
      if (opts.responsive) {
        var resizeTimeout = false;
        var last_window_w = window.innerWidth;
        var resizeHandler = function resizeHandler() {
          if (window.innerWidth !== last_window_w) {
            last_window_w = window.innerWidth;
            for (var _i = 0; _i &lt; elements.length; _i++) {
              elements[_i].innerHTML = originalTexts[_i];
            }
            ellipsis(selector, rows, _extends({}, options, {
              responsive: false
            }));
          }
        };
        var resizeListener = function resizeListener() {
          clearTimeout(resizeTimeout);
          resizeTimeout = setTimeout(resizeHandler, opts.debounceDelay);
        };
        window.addEventListener('resize', resizeListener);
        el.kpmgEllipsedResponsive = resizeListener;
        return resizeListener;
      }
    }
    function disableResponsive(listener) {
      window.removeEventListener('resize', listener);
    }
    exports.disableResponsive = disableResponsive;
    exports.ellipsis = ellipsis;
  });
});
var ellipsed_min$1 = unwrapExports(ellipsed_min);

// EXTERNAL MODULE: ./src/dependencies/modules/bootstrap5.js + 1 modules
var bootstrap5 = __webpack_require__(6023);
// EXTERNAL MODULE: ./src/dependencies/modules/tracking.js
var tracking = __webpack_require__(4980);
// EXTERNAL MODULE: ./src/dependencies/modules/helpers.js
var helpers = __webpack_require__(8764);
// EXTERNAL MODULE: ./node_modules/moment/moment.js
var moment = __webpack_require__(5093);
var moment_default = /*#__PURE__*/__webpack_require__.n(moment);
;// CONCATENATED MODULE: ./src/dependencies/modules/common-utils.js







var CommonUtils;
var hackingChars = ["|", "&amp;amp;", ";", "$", "%", "@", "&amp;#x27;", "&amp;quot;", "&amp;lt;&amp;gt;", "&amp;lt;", "&amp;gt;", "(", ")", "+", "0x0d", "0x0a", ",", "\\"];
var schemaParams = ["kpmg_topic_path_facet", "kpmg_filter_year", "kpmg_geo_rel_path_facet", "kpmg_ind_path_loc_facet", "kpmg_service_pth_loc_facet", "kpmg_blog_topics", "kpmg_ind_path_facet", "kpmg_service_path_facet", "kpmg_cont_mem_firm", "kpmg_tab_type", "kpmg_sl_local_id", "kpmg_article_type", "kpmg_template_type"];
var defaultFacets = ["kpmg_topic_path_facet", "kpmg_filter_year", "kpmg_geo_rel_path_facet", "kpmg_ind_path_loc_facet", "kpmg_service_pth_loc_facet", "kpmg_ind_path_facet", "kpmg_service_path_facet"];
var tabs = [{
  "value": "Insights",
  "count": "0"
}, {
  "value": "Events",
  "count": "0"
}, {
  "value": "People",
  "count": "0"
}, {
  "value": "Press releases",
  "count": "0"
}, {
  "value": "Blogs",
  "count": "0"
}];
var providers = window.shareProperties ? window.shareProperties.shareEnabledProviders : "";
var CONSTANTS = {
  DOMAIN: window.location.origin,
  HOSTNAME: window.location.hostname,
  CLIENTENVIRONMENT: window.appSearchClientEnv || "",
  FIELDSMAP: window.appSearchConfigs ? window.appSearchConfigs.fieldsMapping ? window.appSearchConfigs.fieldsMapping : {} : {},
  socialChannels: window.shareProperties ? window.shareProperties.socialChannelsList : [],
  socialChannelsList: providers.split(","),
  shareWithFriendsTitle: window.shareProperties ? window.shareProperties.shareWithFriendsLabel ? window.shareProperties.shareWithFriendsLabel : "Share with your friends" : "Share with your friends"
};
CommonUtils = {
  fixChromeIssueForAuthor: fixChromeIssueForAuthor,
  setBrowserNameOnAllTags: setBrowserNameOnAllTags,
  getSearchQueryParamsAsObject: getSearchQueryParamsAsObject,
  initializeAllComponents: initializeAllComponents,
  redirectForInvalidQueryParams: redirectForInvalidQueryParams,
  isScrolledIntoView: isScrolledIntoView,
  getUserConsent: getUserConsent,
  getPrivacyPolicyOption: getPrivacyPolicyOption,
  getNestedObjectValue: getNestedObjectValue,
  CONSTANTS: CONSTANTS,
  contactFormCampaignModal: contactFormCampaignModal,
  runTimeClampLines: runTimeClampLines,
  runTimeObjectFitImages: runTimeObjectFitImages,
  storageAvailable: storageAvailable,
  getCurrentLocale: getCurrentLocale,
  setStorageForLastReadFlexAndArticleTemplates: setStorageForLastReadFlexAndArticleTemplates,
  loadJSFiles: loadJSFiles,
  clearObjectProperties: clearObjectProperties,
  isProdEnv: !!CONSTANTS.HOSTNAME.match(/^home.kpmg/i),
  getEngineName: getEngineName,
  getRequestBody: getRequestBody,
  getRequestBodyForFacets: getRequestBodyForFacets,
  getFormatedDate: getFormatedDate,
  validateObj: validateObj,
  formatFacets: formatFacets,
  constructFacetHeirarchy: constructFacetHeirarchy,
  buildURLString: buildURLString,
  addPopupUrl: addPopupUrl,
  checkChildFacetisSelected: checkChildFacetisSelected,
  facetRetention: facetRetention,
  resultFieldsMapping: resultFieldsMapping,
  modifyRenditionPath: modifyRenditionPath,
  updateImagePath: updateImagePath,
  getLocationObjectFromCanonicalURL: getLocationObjectFromCanonicalURL,
  getSocialChannel: getSocialChannel,
  postionSharePopup: postionSharePopup,
  createSocialShare: createSocialShare,
  customScrollTop: customScrollTop,
  locationRfpModal: locationRfpModal,
  getFirstElementBelowFold: getFirstElementBelowFold,
  initLazyVideo: initLazyVideo,
  recaptchaEnable: recaptchaEnable
};
function loadJSFiles() {
  var plusFetchcomponents = (0,plus/* default */.A)(".component")._domElem;
  plus/* default */.A.each(plusFetchcomponents, function (index, value) {
    var componentname = (0,plus/* default */.A)(value).attr("class"),
      modulename = componentname.substring(7, componentname.indexOf(" "));
    window.require([modulename], function (module) {
      module(value);
    });
  });
}
function storageAvailable(type) {
  var storage;
  try {
    storage = window[type];
    var x = "__storage_test__";
    storage.setItem(x, x);
    storage.removeItem(x);
    return true;
  } catch (e) {
    return false;
  }
}
function runTimeObjectFitImages(elem, isLazyload) {
  var isIE = !!document.documentMode;
  if (isIE) {
    (0,plus/* default */.A)(elem).find(".object-fit-img-container").each(function () {
      var plusContainer = (0,plus/* default */.A)(this),
        imgUrl = plusContainer.find("img").prop("src"),
        flipImage = plusContainer.closest(".module-dynamicpromotional").hasClass("bannerpromo-two-column") || plusContainer.closest(".module-dynamicpromotional").hasClass("bannerpromo-three-column") || plusContainer.closest(".module-dynamicpromotional").hasClass("promo-two-column") || plusContainer.closest(".module-dynamicpromotional").hasClass("promo-three-column");
      if (isLazyload) {
        imgUrl = plusContainer.find("img").data("desktop");
      }
      if (imgUrl) {
        plusContainer.css("backgroundImage", "url(\"" + imgUrl + "\")").addClass("object-fit-ie");
        if (flipImage) {
          plusContainer.addClass("flip-image");
        }
      }
    });
  }
}
function fixChromeIssueForAuthor(tmpl) {
  if (window.kpmgPersonalize.misc &amp;&amp; window.kpmgPersonalize.misc.isAuthor) {
    (0,plus/* default */.A)(tmpl).css("position", "inherit");
  }
}
function contactFormCampaignModal(elem) {
  (0,plus/* default */.A)(elem).addClass("campaign-form-modal");
  (0,plus/* default */.A)(elem).off("click").on("click", function () {
    var kpmgModal = (0,plus/* default */.A)("#kpmgModal"),
      kpmgModalInstance,
      url = (0,plus/* default */.A)(this).attr("data-formodalurl"),
      remoteUrl = (0,plus/* default */.A)(this).attr("data-forremoteurl");
    if ((0,plus/* default */.A)(this).attr("data-campaignflag")) {
      kpmgModal.data("campaignflag", (0,plus/* default */.A)(this).attr("data-campaignflag"));
      kpmgModal.data("campaigntitle", (0,plus/* default */.A)(this).attr("data-campaigntitle"));
      kpmgModal.data("campaigndescription", (0,plus/* default */.A)(this).attr("data-campaigndescription"));
      kpmgModal.data("campaigntoken", (0,plus/* default */.A)(this).attr("data-campaigntoken"));
      window.kpmg.modalOpenerUrl = url;
      kpmgModal.data("modalUrl", url);
      kpmgModalInstance = bootstrap5/* default */.A.Modal.getOrInitInstance(kpmgModal.get(0), {
        backdrop: "static",
        keyboard: false
      });
      kpmgModalInstance.remote(remoteUrl);
      try {
        window.digitalData.campaign = window.digitalData.campaign || {};
        window.digitalData.campaign.name = (0,plus/* default */.A)(this).attr("data-campaigntitle");
        helpers/* default */.A.triggerSatteliteTracking("campaignFormStart");
      } catch (e) {
        console.log("Error in setting analytics variables: " + e);
      }
    }
  });
}
function runTimeClampLines(elem) {
  var plusClampLinesElement = (0,plus/* default */.A)(elem).find(".line-clamp");
  plusClampLinesElement.each(function (idx, element) {
    var rowCount;
    rowCount = element.className.match(/line-clamp-(\d+)/);
    if (!!rowCount) {
      rowCount = parseInt(rowCount[1]);
    } else {
      var clampLinesItem = Math.round((0,plus/* default */.A)(this).css("max-height").split("px")[0]);
      var fontSize = Math.round(window.getComputedStyle(element).fontSize.split("px")[0]);
      rowCount = Math.floor((clampLinesItem + 2) / fontSize);
    }
    (0,plus/* default */.A)(this).attr("style", "");
    var wrapMethod = " ";
    var font = (0,plus/* default */.A)(this).css("font-family");
    if (typeof font === "string" &amp;&amp; font.indexOf("Noto") !== -1) {
      wrapMethod = "";
    }
    if ((0,plus/* default */.A)(this).is(":visible") &amp;&amp; !Number.isNaN(rowCount)) {
      ellipsed_min$1.ellipsis(element, rowCount, {
        replaceStr: "...",
        responsive: true,
        debounceDelay: 250,
        delimiter: wrapMethod
      });
      (0,plus/* default */.A)(this).css("overflow", "visible");
    }
  });
}
function initializeAllComponents(plusComponentElems, cb) {
  var plusComponents, elemArray;
  plusComponents = [];
  elemArray = [];
  plus/* default */.A.each(plusComponentElems, function (idx, eachEl) {
    var elemClass, moduleName;
    if ((0,esm_typeof/* default */.A)(eachEl) === "object" &amp;&amp; eachEl.nodeType === 1 &amp;&amp; (0,esm_typeof/* default */.A)(eachEl.style) === "object" &amp;&amp; (0,esm_typeof/* default */.A)(eachEl.ownerDocument) === "object") {
      elemClass = (0,plus/* default */.A)(eachEl).attr("class");
      moduleName = elemClass.substring(7, elemClass.indexOf(" "));
      plusComponents.push(moduleName);
      elemArray.push(eachEl);
    }
  });
  window.require(plusComponents, function () {
    var i;
    for (i = 0; i &lt; arguments.length; i++) {
      new arguments[i](elemArray[i]);
    }
    cb();
  });
}
function setBrowserNameOnAllTags() {
  var BrowserDetect, allElements;
  allElements = (0,plus/* default */.A)("*");
  BrowserDetect = prepareBrowserDetect();
  BrowserDetect.init();
  allElements.addClass(BrowserDetect.browser.toLowerCase());
  function prepareBrowserDetect() {
    return {
      init: function init() {
        this.browser = this.searchString(this.dataBrowser) || "Other";
        this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "Unknown";
      },
      searchString: function searchString(data) {
        for (var i = 0; i &lt; data.length; i++) {
          var dataString = data[i].string;
          this.versionSearchString = data[i].subString;
          if (dataString.indexOf(data[i].subString) !== -1) {
            return data[i].identity;
          }
        }
      },
      searchVersion: function searchVersion(dataString) {
        var index = dataString.indexOf(this.versionSearchString);
        if (index === -1) {
          return;
        }
        var rv = dataString.indexOf("rv:");
        if (this.versionSearchString === "Trident" &amp;&amp; rv !== -1) {
          return parseFloat(dataString.substring(rv + 3));
        } else {
          return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));
        }
      },
      dataBrowser: [{
        string: navigator.userAgent,
        subString: "Edge",
        identity: "MS Edge"
      }, {
        string: navigator.userAgent,
        subString: "MSIE",
        identity: "Explorer"
      }, {
        string: navigator.userAgent,
        subString: "Trident",
        identity: "Explorer"
      }, {
        string: navigator.userAgent,
        subString: "Firefox",
        identity: "Firefox"
      }, {
        string: navigator.userAgent,
        subString: "Opera",
        identity: "Opera"
      }, {
        string: navigator.userAgent,
        subString: "OPR",
        identity: "Opera"
      }, {
        string: navigator.userAgent,
        subString: "Chrome",
        identity: "Chrome"
      }, {
        string: navigator.userAgent,
        subString: "Safari",
        identity: "Safari"
      }]
    };
  }
}
function getSearchQueryParamsAsObject() {
  try {
    var search = encodeURI(location.search.substring(1));
    return JSON.parse("{\"" + decodeURI(search).replace(/"/g, "\\\"").replace(/&amp;/g, "\",\"").replace(new RegExp("=", "g"), "\":\"") + "\"}");
  } catch (e) {
    return false;
  }
}
function redirectForInvalidQueryParams(paramsObj) {
  var queryParamsObj;
  queryParamsObj = CommonUtils.getSearchQueryParamsAsObject();
  if (window.location.search &amp;&amp; !queryParamsObj) {
    var pathName;
    pathName = encodeURI(window.kpmgPath);
    var hacking = isPhishing(pathName);
    if (!hacking) {
      window.location.href = paramsObj ? pathName + "?" + plus/* default */.A.param(paramsObj) : pathName;
    }
  }
}
function isPhishing(inputstring) {
  var hacking = false;
  hackingChars.forEach(function (value) {
    if (inputstring.indexOf(value) &gt; -1) {
      hacking = true;
    }
  });
  return hacking;
}
function isScrolledIntoView(elem) {
  if (!elem instanceof HTMLElement) {
    elem = elem._domElem[0];
  }
  var docViewTop = (0,plus/* default */.A)(window).scrollTop(),
    docViewBottom = docViewTop + (0,plus/* default */.A)(window).height(),
    box = elem.getBoundingClientRect(),
    elemTop = box.top + window.pageYOffset - document.documentElement.clientTop,
    elemBottom = elemTop + (0,plus/* default */.A)(elem).height();
  return elemBottom &lt;= docViewBottom &amp;&amp; elemTop &gt;= docViewTop;
}
function getUserConsent() {
  var _STATE = {},
    userConsent = [],
    categoryGroups = [],
    deferred = plus/* default */.A.Deferred();
  function runOnce() {
    if (!_STATE.hasRunOnce &amp;&amp; window.OptanonActiveGroups) {
      if (window.OptanonActiveGroups &amp;&amp; window.Optanon &amp;&amp; window.Optanon.GetDomainData().Groups) {
        userConsent = window.OptanonActiveGroups.split(",");
        categoryGroups = window.Optanon.GetDomainData().Groups;
        deferred.resolve(userConsent, categoryGroups);
      } else {
        (0,plus/* default */.A)(document).on("oneTrustEvent", function () {
          userConsent = window.OptanonActiveGroups.split(",");
          categoryGroups = window.Optanon.GetDomainData().Groups;
          deferred.resolve(userConsent, categoryGroups);
        });
      }
      _STATE.hasRunOnce = true;
      if (_STATE.i) {
        clearInterval(_STATE.i);
      }
    }
  }
  _STATE.i = setInterval(runOnce, 100);
  return deferred;
}
function getPrivacyPolicyOption() {
  var privacyOption = 0;
  if (typeof window.privacyJSON !== "undefined" &amp;&amp; window.privacyJSON !== undefined &amp;&amp; window.privacyJSON.countries !== undefined) {
    var data = window.privacyJSON;
    var countries = data.countries;
    var options = data.options;
    var kpmgPath = window.location.pathname.toLowerCase();
    var countryCode = kpmgPath.indexOf("content/kpmgpublic") === -1 ? kpmgPath.split("/")[1] : kpmgPath.split("/")[3];
    var langCode = kpmgPath.indexOf("content/kpmgpublic") === -1 ? kpmgPath.split("/")[2] : kpmgPath.split("/")[4];
    for (var i = 0, len = countries.length; i &lt; len; i++) {
      if (countries[i].country === countryCode &amp;&amp; countries[i].active) {
        var languages = countries[i].languages;
        for (var j = 0, lensub = languages.length; j &lt; lensub; j++) {
          if (languages[j] === langCode) {
            privacyOption = (0,esm_typeof/* default */.A)(options[countries[i].option - 1]) === "object" &amp;&amp; parseInt(options[countries[i].option - 1].distinctPrivacyPolicy) || 0;
          }
        }
      }
    }
  }
  return privacyOption;
}
function getCurrentLocale() {
  var country = window.kpmgPersonalize &amp;&amp; window.kpmgPersonalize.snp &amp;&amp; window.kpmgPersonalize.snp.params.countryCode,
    lang = window.kpmgPersonalize &amp;&amp; window.kpmgPersonalize.snp &amp;&amp; window.kpmgPersonalize.snp.params.languageCode;
  return {
    countryCode: country,
    languageCode: lang
  };
}
function setStorageForLastReadFlexAndArticleTemplates(obj) {
  var key = "/" + obj.locale.countryCode + "/" + obj.locale.languageCode,
    value = {
      "KPMG_Industry_ID_Loc": obj.articleMetaObject.KPMG_Industry_ID_Loc || "",
      "KPMG_Service_ID_Loc": obj.articleMetaObject.KPMG_Service_ID_Loc || "",
      "KPMG_Industry_ID": obj.articleMetaObject.KPMG_Industry_ID || "",
      "KPMG_Service_ID": obj.articleMetaObject.KPMG_Service_ID || "",
      "KPMG_Topic_ID": obj.articleMetaObject.KPMG_Topic_ID || "",
      "KPMG_URL": obj.articleMetaObject.KPMG_URL
    };
  if (obj.flexTemplate) {
    var lastReadFlexTemplates = JSON.parse(sessionStorage.lastReadFlexTemplates || "{}"),
      temp = 0;
    lastReadFlexTemplates[key] = lastReadFlexTemplates[key] || [];
    lastReadFlexTemplates[key].forEach(function (article) {
      if (article.KPMG_URL === value.KPMG_URL) {
        temp = temp + 1;
        return;
      }
    });
    if (temp === 0) {
      lastReadFlexTemplates[key].unshift(value);
    }
    if (lastReadFlexTemplates[key].length &gt; 4) {
      lastReadFlexTemplates[key].length = 4;
    }
    sessionStorage.lastReadFlexTemplates = JSON.stringify(lastReadFlexTemplates);
  }
  if (obj.articleTemplate) {
    var lastReadArticles = JSON.parse(localStorage.lastReadArticles || "{}"),
      flag = 0,
      shuffle = 0;
    lastReadArticles[key] = lastReadArticles[key] || [];
    lastReadArticles[key].forEach(function (article, i) {
      if (article.KPMG_URL === value.KPMG_URL) {
        flag++;
        if (i !== 0) {
          shuffle++;
          lastReadArticles[key].splice(i, 1);
        }
        return;
      }
    });
    if (flag === 0 || shuffle &gt; 0) {
      lastReadArticles[key].unshift(value);
    }
    if (lastReadArticles[key].length &gt; 4) {
      lastReadArticles[key].length = 4;
    }
    localStorage.lastReadArticles = JSON.stringify(lastReadArticles);
  }
}
function getNestedObjectValue(obj, key) {
  var args = key.split(".");
  for (var i = 0; i &lt; args.length; i++) {
    if (!obj || !obj.hasOwnProperty(args[i])) {
      return "N.A";
    }
    obj = obj[args[i]];
  }
  return obj;
}
function clearObjectProperties(val) {
  try {
    if (Array.isArray(val) &amp;&amp; val.length &gt; 0) {
      for (var i = 0; i &lt; val.length; i++) {
        if (val[i].currentObject.hasOwnProperty(val[i].removeProp)) {
          delete val[i].currentObject[val[i].removeProp];
        }
      }
    }
  } catch (err) {
    console.log("No datalayer value to clear: " + err);
  }
}
function getEngineName(allSites) {
  var engineName,
    engineCode = "all",
    searchUrl = "",
    environment = CommonUtils.CONSTANTS.CLIENTENVIRONMENT.trim().toLocaleLowerCase();
  if (!allSites) {
    engineCode = window.countryCode + "-" + window.langCode;
  }
  engineName = environment ? environment + "-" + engineCode : engineCode;
  searchUrl = "/esearch/" + engineName;
  return searchUrl;
}
function formatParentChildFacets(facetItemObj) {
  var queryParameters = [];
  Object.keys(facetItemObj).forEach(function (key) {
    var tempObj = {};
    tempObj[key] = [];
    if (Array.isArray(facetItemObj[key].child)) {
      facetItemObj[key].child.forEach(function (item) {
        if (facetItemObj[key].parent) {
          tempObj[key].push(facetItemObj[key].parent[0] + "/" + item);
        } else {
          tempObj[key].push(item);
        }
      });
    } else {
      tempObj[key] = tempObj[key].concat(facetItemObj[key].parent);
    }
    queryParameters.push(tempObj);
  });
  return queryParameters;
}
function formatUrl(url) {
  var emptyObj = {},
    facets = [],
    facetsAny = [],
    urlArray = url.split("&amp;"),
    pattX = /^x/ig,
    pattQ = /^q/ig,
    pattLang = /^language/ig,
    pattSort = /^sort=/ig,
    pattPaging = /^sp_c/ig,
    pattCurrtPage = /^page/ig,
    pattPersonalize = /^personalization=true/ig,
    isPersonalized = false,
    filterData = [],
    sort = [],
    lang = [],
    page = [],
    queryParameters = [],
    formatedUrl = {},
    facetItemObj = {};
  urlArray.forEach(function (item) {
    var keyName = item.split("=")[0],
      value = item.split("=")[1],
      tempObj = {},
      facetTitle;
    if (keyName &amp;&amp; value) {
      tempObj[keyName] = value;
      if (keyName === "q") {
        formatedUrl.keyword = formatedUrl.keyword ? value + formatedUrl.keyword : value;
      } else if (keyName === "SES") {
        formatedUrl.keyword = formatedUrl.keyword ? formatedUrl.keyword + " OR " + value : " OR " + value;
      } else if (item.match(pattX) || item.match(pattQ)) {
        emptyObj[keyName] = value;
        filterData.push(tempObj);
      } else if (item.match(pattLang)) {
        lang.push(item);
        formatedUrl.lang = lang;
      } else if (item.match(pattSort)) {
        sort.push(item);
        formatedUrl.sort = sort;
      } else if (item.match(pattPaging) || item.match(pattCurrtPage)) {
        page.push(item);
        formatedUrl.page = page;
      } else if (item.match(pattPersonalize)) {
        isPersonalized = true;
        formatedUrl.isPersonalized = isPersonalized;
      } else if (schemaParams.indexOf(keyName) &gt; -1) {
        facetItemObj[keyName] = facetItemObj[keyName] || {};
        facetItemObj[keyName].parent = value.indexOf("|") &gt; -1 ? value.split("|") : [value];
      } else {
        if (/(_pa$)/ig.test(keyName)) {
          facetTitle = keyName.replace(/_pa$/, "");
          facetItemObj[facetTitle] = facetItemObj[facetTitle] || {};
          facetItemObj[facetTitle].parent = value.indexOf("|") &gt; -1 ? value.split("|") : [value];
        } else if (/(_ch$)/ig.test(keyName)) {
          facetTitle = keyName.replace(/_ch$/, "");
          facetItemObj[facetTitle] = facetItemObj[facetTitle] || {};
          facetItemObj[facetTitle].child = value.indexOf("|") &gt; -1 ? value.split("|") : [value];
        }
      }
    }
  });
  queryParameters = queryParameters.concat(formatParentChildFacets(facetItemObj));
  filterData.forEach(function (value) {
    var xKey = Object.keys(value)[0];
    if (xKey.match(pattX)) {
      var num = xKey.split("x")[1];
      var xValue = emptyObj["x" + num].toLowerCase();
      var qValue = emptyObj["q" + num];
      var tempObj = {};
      if (qValue) {
        if (qValue.indexOf("|") &gt; 0) {
          var qArray = qValue.split("|");
          tempObj[xValue] = qArray;
          facetsAny.push(tempObj);
        } else {
          tempObj[xValue] = qValue;
          facets.push(tempObj);
        }
      }
    }
  });
  formatedUrl.facets = facets;
  formatedUrl.facetsAny = facetsAny;
  formatedUrl.queryParameters = queryParameters;
  return formatedUrl;
}
function formatQuery(queryObj, options) {
  var reqBody = {
    "query": "",
    "filters": {}
  };
  reqBody = plus/* default */.A.extend(true, reqBody, options);
  if (queryObj.keyword) {
    reqBody.query = queryObj.keyword.replace(/\+/g, " ");
  }
  if (Array.isArray(queryObj.facets) &amp;&amp; queryObj.facets.length) {
    reqBody.filters.all = queryObj.facets;
  }
  if (Array.isArray(queryObj.facetsAny) &amp;&amp; queryObj.facetsAny.length) {
    reqBody.filters.any = queryObj.facetsAny;
  }
  if (Array.isArray(queryObj.queryParameters) &amp;&amp; queryObj.queryParameters.length) {
    reqBody.filters.all = reqBody.filters.all || [];
    reqBody.filters.all = reqBody.filters.all.concat(queryObj.queryParameters);
  }
  if (Array.isArray(queryObj.lang) &amp;&amp; queryObj.lang.length) {
    var langValue = queryObj.lang[0];
    var langProp = langValue.split("=")[0].toLowerCase();
    var langVal = langValue.split("=")[1];
    var siteObj = {};
    reqBody.filters.all = reqBody.filters.all || [];
    siteObj[langProp] = langVal;
    reqBody.filters.all.push(siteObj);
  }
  if (Array.isArray(queryObj.sort) &amp;&amp; queryObj.sort.length) {
    var sortValue = queryObj.sort[0];
    var filterProp = sortValue.split("=")[1].toLowerCase();
    if (filterProp) {
      reqBody.sort = {};
      reqBody.sort[filterProp] = "desc";
    }
  }
  return reqBody;
}
function getRequestBody(url) {
  var formatedUrlObj = formatUrl(url);
  return buildQuery(formatedUrlObj);
}
function buildQuery(queryObj) {
  var options = {
    "filters": {}
  };
  if (window.appSearchConfigs &amp;&amp; window.appSearchConfigs.fieldsMapping) {
    if (queryObj.isPersonalized) {
      options.result_fields = window.appSearchConfigs.fieldsMapping.shorter[0];
    } else {
      options.result_fields = window.appSearchConfigs.fieldsMapping.broader[0];
    }
  }
  if (Array.isArray(queryObj.page) &amp;&amp; queryObj.page.length) {
    var currntPage,
      pageSize,
      pattCurrtPage = /^page/ig,
      currentPageIsValid;
    queryObj.page.forEach(function (value) {
      currentPageIsValid = value.match(pattCurrtPage) ? true : false;
      if (currentPageIsValid) {
        currntPage = value.split("=")[1];
      } else {
        pageSize = value.split("=")[1];
      }
    });
    options.page = {};
    options.page.size = pageSize ? parseInt(pageSize) : 1;
    options.page.current = currntPage ? parseInt(currntPage) : 1;
  }
  return formatQuery(queryObj, options);
}
function getRequestBodyForFacets(url, facets) {
  var formatedUrlObj = formatUrl(url);
  return buildQueryForFacets(formatedUrlObj, facets);
}
function buildQueryForFacets(queryObj, facets) {
  var options = {
    "facets": {},
    "page": {
      "size": 0,
      "current": 1
    },
    "filters": {}
  };
  if (Array.isArray(facets) &amp;&amp; facets.length) {
    defaultFacets = facets;
  }
  defaultFacets.forEach(function (key) {
    options.facets[key] = {
      "type": "value",
      "sort": {
        "value": "asc"
      },
      "size": 250
    };
  });
  return formatQuery(queryObj, options);
}
function getFormatedDate(fromValue, toValue) {
  var from = updateDateValue(fromValue),
    to = updateDateValue(toValue),
    updatedDates = [];
  function updateDateValue(value) {
    if (value === "*") {
      return moment_default()(new Date("1990-01-01")).format();
    } else if (value.indexOf("-") &gt; -1) {
      var splittedminusValue = value.split("-");
      return moment_default()().subtract(splittedminusValue[1], "days").format();
    } else if (value.indexOf("+") &gt; -1) {
      var splittedplusValue = value.split("+");
      return moment_default()().add(splittedplusValue[1], "days").format();
    } else {
      return moment_default()().format();
    }
  }
  updatedDates.push(from, to);
  return updatedDates;
}
function validateObj(obj) {
  return obj ? obj.raw : "";
}
function constructFacetHeirarchy(queryParams) {
  var facetItemObj = {},
    facetTitle = "";
  queryParams = queryParams || {};
  Object.keys(queryParams).forEach(function (keyName) {
    var value = queryParams[keyName];
    if (/(_pa$)/ig.test(keyName)) {
      facetTitle = keyName.replace(/_pa$/, "");
      facetItemObj[facetTitle] = facetItemObj[facetTitle] || {};
      facetItemObj[facetTitle].parent = value.indexOf("|") &gt; -1 ? value.split("|") : [value];
    } else if (/(_ch$)/ig.test(keyName)) {
      facetTitle = keyName.replace(/_ch$/, "");
      facetItemObj[facetTitle] = facetItemObj[facetTitle] || {};
      facetItemObj[facetTitle].child = value.indexOf("|") &gt; -1 ? value.split("|") : [value];
    } else if (schemaParams.indexOf(keyName) &gt; -1) {
      facetItemObj[keyName] = {};
      facetItemObj[keyName].parent = value.indexOf("|") &gt; -1 ? value.split("|") : [value];
    } else {
      facetItemObj[keyName] = value;
    }
  });
  Object.keys(facetItemObj).forEach(function (facetTitle) {
    var childFactesArray = [];
    if (Array.isArray(facetItemObj[facetTitle].parent) &amp;&amp; Array.isArray(facetItemObj[facetTitle].child)) {
      facetItemObj[facetTitle].child.forEach(function (item) {
        childFactesArray.push(facetItemObj[facetTitle].parent[0] + "/" + item);
      });
      facetItemObj[facetTitle].parent = childFactesArray;
      delete facetItemObj[facetTitle].child;
    }
  });
  return facetItemObj;
}
function formatFacets(response, facetKeys, queryParams) {
  var formatedFacets = {},
    formatedFacetsArray = [],
    facetItemObj = (0,esm_typeof/* default */.A)(queryParams) === "object" ? constructFacetHeirarchy(queryParams) : {};
  if (Array.isArray(facetKeys) &amp;&amp; facetKeys.length) {
    defaultFacets = facetKeys;
  }
  function handleSecondChild(parent, firstChild, secondChild, count) {
    if (parent in formatedFacets &amp;&amp; formatedFacets[parent].length &gt; 0) {
      formatedFacets[parent].forEach(function (dataItem) {
        if ("facet-name" in dataItem &amp;&amp; dataItem["facet-name"] === firstChild) {
          addChildObject(dataItem);
          addSecondChild(parent, dataItem, firstChild, secondChild, count);
        }
      });
    }
  }
  function addSecondChild(parent, dataItem, firstChild, secondChild, count) {
    var value = {
      "facet-name": secondChild,
      "facet-count": count,
      "facet-parent": dataItem["facet-name"]
    };
    if (facetItemObj[parent] &amp;&amp; facetItemObj[parent].parent &amp;&amp; facetItemObj[parent].parent.indexOf(firstChild + "/" + secondChild) &gt; -1) {
      value["facet-selected"] = true;
    }
    dataItem["facet-child"].push(value);
  }
  function addChildObject(dataItem) {
    if (!("facet-child" in dataItem)) {
      dataItem["facet-child"] = [];
    }
  }
  function handleFirstChild(parent, firstChild, count) {
    var flag = false;
    if (parent in formatedFacets) {
      if (formatedFacets[parent].length &gt; 0) {
        formatedFacets[parent].forEach(function (dataItem) {
          if ("facet-name" in dataItem &amp;&amp; dataItem["facet-name"] === firstChild) {
            flag = true;
          }
        });
        if (flag === false) {
          addFirstChild(parent, firstChild, count);
        }
      } else {
        addFirstChild(parent, firstChild, count);
      }
    }
  }
  function addFirstChild(parent, firstChild, count, selected) {
    var filterArray = [],
      value = {
        "facet-name": firstChild,
        "facet-count": count
      };
    if (facetItemObj[parent] &amp;&amp; Array.isArray(facetItemObj[parent].parent)) {
      filterArray = facetItemObj[parent].parent.filter(function (item) {
        if (item.indexOf(firstChild + "/") &gt; -1) {
          return true;
        }
      });
      if (facetItemObj[parent].parent.indexOf(firstChild) &gt; -1 || filterArray.length) {
        value["facet-selected"] = true;
      }
    }
    if (firstChild === "All") {
      if (selected === true) {
        value["facet-selected"] = true;
      }
      formatedFacets[parent].unshift(value);
    } else {
      formatedFacets[parent].push(value);
    }
  }
  function updateFacetCategory(item) {
    if (!(item in formatedFacets)) {
      formatedFacets[item] = [];
    }
  }
  function handleStructure(parent, thisFacets) {
    if (parent === "kpmg_tab_type") {
      tabs.forEach(function (item) {
        thisFacets.forEach(function (val) {
          if (val.value === item.value) {
            item.value = val.value;
            item.count = val.count;
          }
        });
      });
      thisFacets = tabs;
    }
    thisFacets.forEach(function (item) {
      var value = item.value;
      var count = item.count;
      if (value.indexOf("/") &gt; -1) {
        handleFirstChild(parent, value.split("/")[0], count);
        handleSecondChild(parent, value.split("/")[0], value.split("/")[1], count);
      } else {
        handleFirstChild(parent, value, count);
      }
    });
    if (facetItemObj[parent] &amp;&amp; Object.keys(facetItemObj[parent]).length &gt; 0) {
      addFirstChild(parent, "All", 0);
    } else {
      addFirstChild(parent, "All", 0, true);
    }
  }
  defaultFacets.forEach(function (item) {
    if ((Object.keys(response).length &amp;&amp; item) in response) {
      updateFacetCategory(item);
      var thisItem = response[item];
      var thisFacets = thisItem[0].data;
      handleStructure(item, thisFacets);
    }
  });
  formatedFacetsArray = Object.keys(formatedFacets).map(function (value) {
    var obj = {
      "facet-title": value,
      "facet-values": formatedFacets[value]
    };
    return obj;
  });
  return formatedFacetsArray;
}
function buildURLString(filtersObj) {
  var url = "",
    prependWith = "";
  Object.keys(filtersObj).forEach(function (key, index) {
    if (index) {
      prependWith = "&amp;";
    }
    if (filtersObj[key].parent) {
      url += prependWith + key + "=" + filtersObj[key].parent.join("|");
    } else {
      url += prependWith + key + "=" + filtersObj[key];
    }
  });
  return url;
}
function addPopupUrl(results) {
  var alteredData, popupUrl;
  alteredData = results.map(function (item) {
    popupUrl = "";
    if (item.kpmg_url.raw.indexOf(CommonUtils.CONSTANTS.HOSTNAME) &gt; -1) {
      popupUrl = item.kpmg_url.raw;
      item.popupUrl = popupUrl.split(CommonUtils.CONSTANTS.HOSTNAME)[1];
    }
    return item;
  });
  return alteredData;
}
function checkChildFacetisSelected(eachItem, selectedName, facetSelectedBoolean, facetsObj) {
  var parentfacetSelection = true;
  var filterArray = [];
  if (facetsObj &amp;&amp; Array.isArray(facetsObj.parent)) {
    filterArray = facetsObj.parent.filter(function (item) {
      if (item.indexOf("/") &gt; -1) {
        item = item.split("/")[0];
      }
      return item === eachItem["facet-name"];
    });
  }
  if ((eachItem["facet-selected"] === undefined || eachItem["facet-selected"] === false) &amp;&amp; facetSelectedBoolean === false) {
    parentfacetSelection = false;
  }
  eachItem["facet-child"].forEach(function (childItem) {
    if (parentfacetSelection === false) {
      CommonUtils.facetRetention(childItem, childItem["facet-name"], facetSelectedBoolean);
    } else {
      CommonUtils.facetRetention(childItem, selectedName, facetSelectedBoolean);
    }
    if (childItem["facet-selected"]) {
      CommonUtils.facetRetention(eachItem, childItem["facet-parent"], true);
    } else if (filterArray.length === 0) {
      CommonUtils.facetRetention(eachItem, childItem["facet-parent"], false);
    }
  });
}
function facetRetention(eachItem, selectedName, selectionBoolean, facetsObj) {
  if (eachItem["facet-name"] === selectedName) {
    eachItem["facet-selected"] = selectionBoolean;
  } else if (eachItem["facet-name"] === "All") {
    if (!facetsObj || facetsObj &amp;&amp; Array.isArray(facetsObj.parent) &amp;&amp; facetsObj.parent.length === 0) {
      eachItem["facet-selected"] = true;
    } else {
      delete eachItem["facet-selected"];
    }
  } else if (selectedName === "All") {
    delete eachItem["facet-selected"];
  }
}
function resultFieldsMapping(reqBody, resultfield) {
  if (reqBody !== undefined &amp;&amp; reqBody.constructor === Object) {
    reqBody.result_fields = CommonUtils.CONSTANTS.FIELDSMAP[resultfield] ? CommonUtils.CONSTANTS.FIELDSMAP[resultfield][0] : {};
    if (Object.keys(reqBody.result_fields).length === 0) {
      delete reqBody.result_fields;
    }
  }
  return reqBody;
}
function modifyRenditionPath(comp) {
  var compDom = (0,plus/* default */.A)(comp);
  if (compDom.find("picture").length &gt; 0 &amp;&amp; compDom.find("source").length &gt; 0) {
    compDom.find("source").each(function () {
      if ((0,plus/* default */.A)(this).attr("srcset").indexOf("/jcr:content/renditions/") &gt; -1 &amp;&amp; (0,plus/* default */.A)(this).attr("srcset").indexOf("/is/image") &gt; -1) {
        (0,plus/* default */.A)(this).attr("srcset", updateImagePath((0,plus/* default */.A)(this).attr("srcset")));
      }
    });
  }
  if (compDom.find("img").length &gt; 0) {
    compDom.find("img").each(function () {
      if ((0,plus/* default */.A)(this).attr("src").indexOf("/jcr:content/renditions/") &gt; -1 &amp;&amp; (0,plus/* default */.A)(this).attr("src").indexOf("/is/image") &gt; -1) {
        (0,plus/* default */.A)(this).attr("src", updateImagePath((0,plus/* default */.A)(this).attr("src")));
      }
      if ((0,plus/* default */.A)(this).get(0).hasAttribute("data-desktop") &amp;&amp; (0,plus/* default */.A)(this).attr("data-desktop").indexOf("/jcr:content/renditions/") &gt; -1 &amp;&amp; (0,plus/* default */.A)(this).attr("data-desktop").indexOf("/is/image") &gt; -1) {
        (0,plus/* default */.A)(this).attr("data-desktop", updateImagePath((0,plus/* default */.A)(this).attr("data-desktop")));
      }
      if ((0,plus/* default */.A)(this).get(0).hasAttribute("data-mobile") &amp;&amp; (0,plus/* default */.A)(this).attr("data-mobile").indexOf("/jcr:content/renditions/") &gt; -1 &amp;&amp; (0,plus/* default */.A)(this).attr("data-mobile").indexOf("/is/image") &gt; -1) {
        (0,plus/* default */.A)(this).attr("data-mobile", updateImagePath((0,plus/* default */.A)(this).attr("data-mobile")));
      }
    });
  }
  return compDom;
}
function updateImagePath(imagePath) {
  var regExpr = /(\.gif|\.jpg|\.png)/gi;
  var modifiedImgpath = imagePath.replace(/\/jcr:content\/renditions\//gi, ":").replace(regExpr, "");
  return modifiedImgpath;
}
function getLocationObjectFromCanonicalURL() {
  var locationObject = {},
    readFromPageCanonicalLink = (0,plus/* default */.A)("link[rel$='canonical']").length ? (0,plus/* default */.A)("link[rel$='canonical']").attr("href") : "",
    canonicalUrl = readFromPageCanonicalLink ? readFromPageCanonicalLink.split("/") : [];
  locationObject.pathname = canonicalUrl.length ? "/" + canonicalUrl.slice(3).join("/") : "";
  locationObject.origin = canonicalUrl.length ? canonicalUrl.slice(0, 3).join("/") : "";
  locationObject.href = canonicalUrl.length ? canonicalUrl.join("/") : "";
  locationObject.hostname = canonicalUrl.length ? canonicalUrl[2] : "";
  return locationObject;
}
function getSocialChannel() {
  var socialChannelsList = CONSTANTS.socialChannelsList;
  var socialChannels = [];
  if (CONSTANTS.socialChannels !== undefined) {
    socialChannels = socialChannelsList.filter(function (channel) {
      return CONSTANTS.socialChannels.indexOf(channel) !== -1;
    });
  }
  return socialChannels;
}
function postionSharePopup(shareComponent) {
  var scrollDown = false,
    shareElem = shareComponent._domElem ? shareComponent._domElem[0] : "";
  if (shareElem) {
    scrollDown = isScrolledIntoView(shareElem);
  }
  if (scrollDown) {
    shareComponent.find(".simpleShareUI").removeClass("top");
  } else {
    shareComponent.find(".simpleShareUI").addClass("top");
  }
}
function createSocialShare(shareTitle, shareUrl, createUrlShare) {
  var htmlString = "&lt;div aria-modal=\"true\" role=\"dialog\" aria-labelledby=\"share-title\" class=\"simpleShareUI\" aria-hidden=\"true\"&gt; &lt;div class=\"simpleShareUI-inner\"&gt; &lt;button class=\"icon-simpleShareUI-closeButton\"&gt; &lt;span class=\"sr-only\"&gt;close&lt;/span&gt; &lt;/button&gt; &lt;div class=\"simpleShareUI-caption\"&gt; &lt;div id=\"share-title\" class=\"simpleShareUI-caption-text\"&gt;" + CONSTANTS.shareWithFriendsTitle + "&lt;/div&gt; &lt;/div&gt; &lt;div class=\"share-bar-container\"&gt;";
  var socialChannels = getSocialChannel();
  socialChannels.forEach(addButtons);
  var urlShare = "&lt;button class=\"gig-simpleShareUI-button\" provider=\"urlshare\"&gt;" + "&lt;div class=\"gig-simpleShareUI-button-inner\" data-title=\"" + window.kpmgPersonalize.i18n.customMsgs.urllink + "\"&gt;" + "&lt;span class=\"icon-share\"&gt;&lt;/span&gt;" + "&lt;span style=\"\" class=\"gig-simpleShareUI-buttonText gig-simpleShareUI-custom\"&gt;" + window.kpmgPersonalize.i18n.customMsgs.urllink + " &lt;/span&gt;" + "&lt;/div&gt;" + "&lt;/button&gt;";
  function addButtons(channel) {
    var eachButton = "&lt;div class=\"button-container " + channel + "\"&gt;&lt;button data-sharer=\"" + channel + "\" data-title=\"" + shareTitle + "\" data-url=\"" + shareUrl + "\" class=\"social-share-button-override " + channel + "\"&gt;" + channel + "&lt;span class=\"sr-only\"&gt;Share " + shareTitle + "&lt;/span&gt;&lt;/button&gt;&lt;/div&gt;";
    htmlString += eachButton;
  }
  if (createUrlShare) {
    htmlString += "&lt;/div&gt;" + urlShare + "&lt;/div&gt;&lt;/div&gt;";
  } else {
    htmlString += "&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;";
  }
  return (0,plus/* default */.A)(htmlString);
}
function customScrollTop() {
  var navbarHeight = (0,plus/* default */.A)(".navbar:visible").length ? (0,plus/* default */.A)(".navbar:visible").height() : 0,
    stickybarHeight = (0,plus/* default */.A)(".module-sticky-bar").length ? (0,plus/* default */.A)(".module-sticky-bar").height() : 0,
    blogsnavHeight = (0,plus/* default */.A)(".blogs-navbar-component").length ? (0,plus/* default */.A)(".blogs-navbar-component").outerHeight() : 0,
    horizontalstickynavHeight = (0,plus/* default */.A)(".module-horizontalstickyutilitybar").length ? (0,plus/* default */.A)(".module-horizontalstickyutilitybar").outerHeight() : 0;
  if ((0,plus/* default */.A)(".module-horizontalstickyutilitybar").length) {
    var mobileOffset;
    if (window.kpmg.isMobile) {
      mobileOffset = 18;
      if ((0,plus/* default */.A)(".module-horizontalstickyutilitybar").outerHeight() &lt; 45) {
        horizontalstickynavHeight += mobileOffset + 80;
      } else {
        horizontalstickynavHeight += mobileOffset - 20;
      }
    } else {
      mobileOffset = 0;
      if ((0,plus/* default */.A)(".module-horizontalstickyutilitybar").outerHeight() &lt; 45) {
        horizontalstickynavHeight += mobileOffset + 58;
      } else {
        horizontalstickynavHeight += mobileOffset;
      }
    }
  }
  var totalHeight = navbarHeight + stickybarHeight + blogsnavHeight + horizontalstickynavHeight;
  return totalHeight;
}
function locationRfpModal(redirectURL) {
  if (window.kpmgPersonalize.snp &amp;&amp; window.kpmgPersonalize.snp.params.countryCode &amp;&amp; window.kpmgPersonalize.snp.params.countryCode === "xx") {
    var plusKpmgModal = (0,plus/* default */.A)("#kpmgModal");
    if (plusKpmgModal.find(".modal-peoplecontactdialog") || plusKpmgModal.find(".modal-contactdialog")) {
      plusKpmgModal.find("[data-bs-dismiss=modal]").trigger("click");
      setTimeout(function () {
        loadLocationModal();
      }, 300);
    } else {
      loadLocationModal();
    }
  } else {
    window.location.href = encodeURI(redirectURL);
  }
}
function loadLocationModal() {
  var plusKpmgModal = (0,plus/* default */.A)("#kpmgModal"),
    plusKpmgModalInstance,
    remotepath = window.kpmgPersonalize.misc ? window.kpmgPersonalize.misc.RfpFormLocationSelector : "";
  window.kpmg.modalOpenerUrl = "/etc/partials/kpmgpublic/location-rfp-modal/location-rfp-modal.html";
  plusKpmgModal.addClass("rfplocationmodal");
  if (remotepath.length &gt; 0) {
    plusKpmgModalInstance = bootstrap5/* default */.A.Modal.getOrInitInstance(plusKpmgModal.get(0), {
      backdrop: "static",
      keyboard: false
    });
    plusKpmgModalInstance.remote(remotepath);
    plusKpmgModalInstance.hide();
  }
}
function getOffsetTop(ele) {
  var offset = 0;
  function offsetSum() {
    offset += ele.offsetTop;
    ele = ele.offsetParent;
    if (ele !== null) {
      offsetSum();
    }
  }
  offsetSum();
  return offset;
}
function getFirstElementBelowFold() {
  var objects = document.getElementsByClassName("component"),
    firstBelowFold;
  for (var i = 0; i &lt; objects.length; i++) {
    if (getOffsetTop(objects[i]) &gt; window.innerHeight) {
      firstBelowFold = objects[i];
      break;
    }
  }
  return firstBelowFold;
}
function initLazyVideo(lazyVideo) {
  if ("IntersectionObserver" in window) {
    var lazyVideoObserver;
    lazyVideoObserver = new IntersectionObserver(function (entries) {
      entries.forEach(function (video) {
        if (video.isIntersecting &amp;&amp; video.target.children) {
          var videoSource = video.target.children[0];
          if (typeof videoSource.tagName === "string" &amp;&amp; videoSource.tagName === "SOURCE") {
            videoSource.src = videoSource.dataset.src;
          }
          video.target.load();
          lazyVideoObserver.unobserve(video.target);
        }
      });
    });
    lazyVideoObserver.observe(lazyVideo);
  }
}
function recaptchaEnable() {
  var plainScriptElement = document.querySelector(".recaptchaenable"),
    jsScriptElement = document.createElement("script");
  if (plainScriptElement) {
    jsScriptElement.textContent = plainScriptElement.textContent;
    jsScriptElement.type = "text/javascript";
    plainScriptElement.parentNode.replaceChild(jsScriptElement, plainScriptElement);
  }
}
var CommonUtils$1 = CommonUtils;


/***/ }),

/***/ 1662:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) =&gt; {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A: () =&gt; (/* binding */ ajaxManager)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2284);
/* harmony import */ var _plus_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8081);


var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof self !== 'undefined' ? self : {};
function createCommonjsModule(fn, module) {
  return module = {
    exports: {}
  }, fn(module, module.exports), module.exports;
}
var ajaxManager = createCommonjsModule(function (module, exports) {
  (function (root, factory) {
    {
      module.exports = factory(root.CQService, _plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A);
    }
  })(commonjsGlobal, function (service, plus) {
    var options = {
      baseUrl: document.location.origin + '/remove.html/',
      // The URL to call on every request
      extension: '.export',
      // the extension to use on every request
      recordSize: 5,
      // the number of records to call on each request
      callbackParams: {} // an artibrary object for callback
    };
    //need to explicitly set $ due to jQuery.noConflict
    //$ = window.jQuery;

    function CQService(component, opts) {
      if (!component) {
        this.error('A component name is required for the CQService');
      }
      this.component = component;
      this.data = false;
      this.val = false;
      // set options
      this.params = plus.extend({}, options, opts);
    }

    /**
     * Checks if the type is truely an object type
     *
     * @private
     *
     * @method isObject
     * @param {Object} obj - The object to check
     * @return {Boolean} Returns true or false
     **/
    CQService.prototype.isObject = function (obj) {
      return Object.prototype.toString.call(obj).slice(8, -1) === "Object";
    };

    /**
     * Iterates over an object looking for a specific key.
     * It returns the value or false if the key isn't found
     *
     * @private
     *
     * @method iterate
     * @param {Object} obj - The object to iterate over
     * @param {String} key - The key for the value
     * @return {any} Returns the associate value for the key or false if nothing found
     **/
    CQService.prototype.iterate = function (obj, key) {
      if (this.isObject(obj)) {
        var keys = Object.getOwnPropertyNames(obj),
          len = keys.length;
        for (var i = 0; i &lt; len; i++) {
          if (keys[i] !== key) {
            this.iterate(obj[keys[i]], key);
          } else {
            this.val = obj[keys[i]];
            break;
          }
        }
        return this.val;
      }
    };

    /**
     * If data is already loaded, retrieves the value for the key
     *
     * @method getValueByKey
     * @param {String} key - The key for the value
     * @return {any} Returns the associate value for the key
     **/
    CQService.prototype.getValueByKey = function (key) {
      if (key &amp;&amp; this.data) {
        return this.iterate(this.data, key);
      }
    };

    /**
     * A generic error handler
     *
     * @private
     *
     * @method error
     * @param {String} msg - The message to display
     * @return {Null} Returns nothing
     **/
    CQService.prototype.error = function (msg) {
      //console.log('An error occured due to JSON response is blank', msg);
    };

    /**
     * Calls a service and returns the result. Optionally filters
     * the result and returns a specific key.
     *
     * @method fetch
     * @param {Function} callback - The callback when the service call succeeds
     * @param {String} key (Optional) - The key to filter the results by (pass null if not needed, but page is)
     * @param {Number} page (Optional) - The page to retrieve
     * @param {Number} records (Optional) - The record size to fetch
     * @return {any} Object of data or false if key doesnt' exist
     **/
    CQService.prototype.fetch = function (callback, key, page, records) {
      var timestamp = new Date().getTime();
      plus.ajax({
        dataType: "json",
        url: this.params.baseUrl + '.' + (records || this.params.recordSize) + this.params.extension + '/' + this.component + '/' + page + '.json?t=' + timestamp,
        success: plus.proxy(function (data) {
          this.data = data;
          if (key) {
            data = this.iterate(data, key);
          }
          callback(data, this.data, this.params.callbackParams);
        }, this),
        error: plus.proxy(function (bj, msg, err) {
          this.error(err.message);
        }, this)
      });
    };

    /**
     * Calls a service and returns the result. Optionally filters
     * the result and returns a specific key.
     *
     * @method searchFetch
     * @param {Function} callback - The callback when the service call succeeds
     * @param {String} paramUrl - The key to filter the results by (pass null if not needed, but page is)
     * @return {any} Object of data or false if key doesnt' exist
     **/
    CQService.prototype.searchFetch = function (callback, paramUrl, operation) {
      var ur = paramUrl;
      if (window.KPMG &amp;&amp; !KPMG.isAuthor) {
        plus.ajax({
          dataType: "json",
          url: this.params.baseUrl + paramUrl,
          success: plus.proxy(function (data) {
            this.data = data;
            this.params.callbackParams.url = ur.indexOf('?') &lt; 0 ? this.params.baseUrl.split('/search')[1] : ur;
            this.params.callbackParams.url = this.params.callbackParams.url.replace(/%252C/gi, ',');
            this.params.callbackParams.param = paramUrl;
            callback(data, this.params.callbackParams, operation);
          }, this),
          error: plus.proxy(function (bj, msg, err) {
            this.error(err.message);
          }, this)
        });
      }
    };

    /**
     * Calls a service and returns the result. Optionally filters
     * the result and returns a specific key.
     *
     * @method SOLRFetch
     * @param {Function} callback - The callback when the service call succeeds
     * @param {String} key (Optional) - The key to filter the results by (pass null if not needed, but page is)
     * @param {Number} page - The page to retrieve
     * @param {Number} records - The record size to fetch
     * @return {any} Object of data or false if key doesnt' exist
     **/
    CQService.prototype.SOLRFetch = function (callback, key, records, page) {
      if (window.KPMG &amp;&amp; !KPMG.isAuthor) {
        plus.ajax({
          dataType: "json",
          url: this.params.baseUrl + "&amp;rows=" + records + "&amp;start=" + page,
          success: plus.proxy(function (data) {
            this.data = data;
            if (key) {
              data = this.iterate(data, key);
            }
            callback(data, this.data, this.params.callbackParams);
          }, this),
          error: plus.proxy(function (bj, msg, err) {
            this.error(err.message);
          }, this)
        });
      }
    };
    /**
     * Elastic App Search
     * Ajax call
     * searchUrl - Engine url
     * searchbody - Request body
     */
    CQService.prototype.appSearch = function (searchUrl, searchbody) {
      return new Promise(function (resolve, reject) {
        plus.ajax({
          method: "POST",
          url: searchUrl,
          contentType: 'application/json',
          data: JSON.stringify(searchbody),
          success: function success(data) {
            resolve(data);
          },
          error: function error(_error) {
            _error.status = (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(searchbody) !== 'object' ? _error.status + " because request body is expecting an object, instead of " + (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(searchbody) : _error.status;
            reject(_error);
          }
        });
      });
    };

    /**
     * Ajax Request which is of type GET, accepts requestURL
     */

    CQService.prototype.ajaxGETRequest = function (requestURL) {
      return new Promise(function (resolve, reject) {
        plus.ajax({
          method: "GET",
          url: requestURL,
          success: function success(data) {
            resolve(data);
          },
          error: function error(_error2) {
            reject(_error2);
          }
        });
      });
    };
    return CQService;
  });
});


/***/ }),

/***/ 8892:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) =&gt; {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A: () =&gt; (/* binding */ GenericErrorDialog)
/* harmony export */ });
/* harmony import */ var _plus_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8081);
/* harmony import */ var _bootstrap5_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(6023);
/* harmony import */ var underscore__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4523);
/* harmony import */ var _personalizationUtils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(7012);




_personalizationUtils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.loggerUtils;
var closeMgs = window.kpmgPersonalize.i18n ? window.kpmgPersonalize.i18n.customMsgs.close : "",
  GenericErrorDialog = {};
GenericErrorDialog.id = "generic-error-dialog";
GenericErrorDialog.templateHTML = "&lt;div class=\"modal fade generic-error-dialog\" id=\"" + GenericErrorDialog.id + "\" data-role=\"dialog\" tabindex=\"0\" aria-labelledby=\"generic-error-title\"&gt;" + "&lt;div class=\"modal-dialog\"&gt;" + "&lt;div class=\"modal-content\"&gt;" + "&lt;div class=\"modal-header\"&gt;" + "&lt;h2 class=\"modal-title\" id=\"generic-error-title\"&gt;&lt;/h2&gt;" + "&lt;button class=\"icon-close btn-close close\" aria-label=\"" + closeMgs + "\" data-bs-dismiss=\"modal\"&gt;&lt;/button&gt;" + "&lt;/div&gt;" + "&lt;div class=\"modal-body\"&gt;" + "&lt;p class=\"msg-holder\"&gt;&lt;/p&gt;" + "&lt;/div&gt;" + "&lt;div class=\"cta-holder\"&gt;" + "&lt;button class=\"ok-cta\"&gt;&lt;/button&gt;" + "&lt;span class=\"clear-floating\"&gt;&lt;/span&gt;" + "&lt;/div&gt;" + "&lt;/div&gt;" + "&lt;/div&gt;" + "&lt;/div&gt;";
GenericErrorDialog.showDialog = function showDialog(options) {
  var options = options || {},
    description = "",
    title = "",
    primaryAction = "";
  if (options.errorCode === 403041) {
    description = window.kpmgPersonalize.i18n ? window.kpmgPersonalize.i18n.customMsgs.gigya_account_disabled_error_description : "";
    title = window.kpmgPersonalize.i18n ? window.kpmgPersonalize.i18n.customMsgs.gigya_account_disabled_error_title : "";
    primaryAction = window.kpmgPersonalize.i18n ? window.kpmgPersonalize.i18n.customMsgs.gigya_account_disabled_error_primary_action : "";
  } else if (options.cross_site_flow) {
    description = window.kpmgPersonalize.i18n ? window.kpmgPersonalize.i18n.customMsgs.cross_site_error_description : "";
    title = window.kpmgPersonalize.i18n ? window.kpmgPersonalize.i18n.customMsgs.cross_site_error_title : "";
    primaryAction = window.kpmgPersonalize.i18n ? window.kpmgPersonalize.i18n.customMsgs.gigya_error_primary_action : "";
  } else {
    description = window.kpmgPersonalize.i18n ? window.kpmgPersonalize.i18n.customMsgs.gigya_error_description : "";
    title = window.kpmgPersonalize.i18n ? window.kpmgPersonalize.i18n.customMsgs.gigya_error_title : "";
    primaryAction = window.kpmgPersonalize.i18n ? window.kpmgPersonalize.i18n.customMsgs.gigya_error_primary_action : "";
  }
  var dialogSelector = "#" + GenericErrorDialog.id,
    dialogModalInstance;
  (0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)("html, body").animate({
    scrollTop: 0
  }, "slow");
  (0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(dialogSelector + " .modal-title").html(title);
  (0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(dialogSelector + " .msg-holder").html(description);
  (0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(dialogSelector + " .ok-cta").html(primaryAction);
  dialogModalInstance = _bootstrap5_js__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A.Modal.getOrInitInstance((0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(dialogSelector).get(0), {
    backdrop: "static",
    keyboard: true
  });
  (0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(dialogSelector).on("shown.bs.modal", function () {
    (0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(dialogSelector).find(".btn-close").focus();
    (0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(".modal-backdrop").on("click", function () {
      (0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(".modal.show .btn-close").trigger("click");
    });
  });
  dialogModalInstance.show();
  if (options.closingTimeout) {
    setTimeout(function () {
      dialogModalInstance.hide();
    }, options.closingTimeout);
  }
};
if (!(0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)("#" + GenericErrorDialog.id).length) {
  (0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)("body").append((0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(GenericErrorDialog.templateHTML));
}
(0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)("#" + GenericErrorDialog.id + " .ok-cta").on("click", function () {
  var newPath,
    currentPath = window.location.pathname.split("/");
  newPath = currentPath.slice(1, window.kpmgPersonalize.misc.isAuthor ? 5 : 3);
  newPath.unshift(window.location.origin);
  newPath.push("home.html");
  _personalizationUtils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.pathUtils.gotoPage(newPath.join("/"));
});
window.kpmgPersonalize.genericErrorDialog = GenericErrorDialog;


/***/ }),

/***/ 8764:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) =&gt; {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A: () =&gt; (/* binding */ helpers)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2284);
/* harmony import */ var _plus_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8081);


var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof self !== 'undefined' ? self : {};
function createCommonjsModule(fn, module) {
  return module = {
    exports: {}
  }, fn(module, module.exports), module.exports;
}
var helpers = createCommonjsModule(function (module, exports) {
  /* global s */
  /* _satellite */
  (function (root, factory) {
    {
      module.exports = factory(_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A);
    }
  })(commonjsGlobal, function (helpers, plus) {
    function Helpers() {}
    // Returns a function, that, as long as it continues to be invoked, will not
    // be triggered. The function will be called after it stops being called for
    // N milliseconds. If `immediate` is passed, trigger the function on the
    // leading edge, instead of the trailing.
    Helpers.prototype.debounce = function (func, wait, immediate) {
      var timeout;
      return function () {
        var context = this,
          args = arguments,
          later = function later() {
            timeout = null;
            if (!immediate) {
              func.apply(context, args);
            }
          },
          callNow = immediate &amp;&amp; !timeout;
        clearTimeout(timeout);
        timeout = setTimeout(later, wait);
        if (callNow) {
          func.apply(context, args);
        }
      };
    };
    /**
     * helper method for date format - please update in handlebars-helpers.js
     * 
     * @private
     * @method dateFormat
     * 
     * @param {String} date - Date Ex: Thu Feb 12 2015 17:38:02 GMT+0530 (India Standard Time)
     * @param {String} locale - locale Ex: en-us
     * @param {String} formatType  - return date format type
     * 
     * @return {String} Date as a string with provided format
     * 
     **/
    Helpers.prototype.dateFormat = function (date, i18nProperties, dateProperties) {
      if (!date &amp;&amp; !i18nProperties &amp;&amp; !dateProperties) {
        return date;
      }
      var dateFormat = {
        pad: function pad(val, len) {
          val = String(val);
          len = len || 2;
          while (val.length &lt; len) val = "0" + val;
          return val;
        },
        getDate: function getDate(dateType) {
          if (!this.date) {
            return null;
          }
          var date = this.date.getDate();
          switch (dateType) {
            case "dd":
              return this.pad(date);
            case "ddd":
              return Math.round((this.date.setHours(23) - new Date(this.date.getYear() + 1900, 0, 1, 0, 0, 0)) / 1000 / 60 / 60 / 24);
            default:
              return date;
          }
        },
        getMonth: function getMonth(monthType, monthCase) {
          if (!this.date) {
            return null;
          }
          var month = this.date.getMonth();
          switch (monthType) {
            case "mm":
              month = this.pad(month + 1);
              break;
            case "mmm":
              month = this.i18nLabels.shortMonths[month];
              break;
            case "mmmm":
              month = this.i18nLabels.longMonths[month];
              break;
            default:
              month = month + 1;
              break;
          }
          switch (monthCase) {
            case "lc":
              return month.toLowerCase();
            case "uc":
              return month.toUpperCase();
            default:
              return month;
          }
        },
        getYear: function getYear(yearType) {
          if (!this.date) {
            return null;
          }
          var year = this.date.getFullYear();
          switch (yearType) {
            case "yy":
              return String(year).slice(2);
            default:
              return year;
          }
        },
        getHourMinute: function getHourMinute(hourType) {
          if (!this.date) {
            return null;
          }
          var hour = this.date.getHours(),
            minute = this.date.getMinutes(),
            ampm = hour &gt;= 12 ? this.i18nLabels.timeMeridiems[1] : this.i18nLabels.timeMeridiems[0],
            showMeridiem = this.dateFormatProperties.showMeridiem,
            timeSeparator = this.dateFormatProperties.timeSeparator,
            meridiem;
          if (showMeridiem &amp;&amp; showMeridiem !== "undefined") {
            meridiem = ampm;
          } else {
            meridiem = "";
          }
          switch (hourType) {
            case "hh":
              return " " + this.pad(hour % 12 || 12) + timeSeparator + this.pad(minute) + " " + meridiem;
            default:
              return " " + this.pad(hour) + timeSeparator + this.pad(minute);
          }
        },
        getDateValue: function getDateValue(val, type) {
          switch (val) {
            case "day":
              return this.getDate(type.dayType);
            case "month":
              return this.getMonth(type.monthType, type.monthCase);
            case "year":
              return this.getYear(type.yearType);
            case "time":
              return this.getHourMinute(type.hourType);
            default:
              return "";
          }
        },
        getFormattedDate: function getFormattedDate() {
          if (!this.dateFormatProperties) {
            return this.date;
          }
          var dateField = "";
          for (var field in this.dateFormatProperties.fields) {
            for (var item in this.dateFormatProperties.fields[field]) {
              var itemVal = this.dateFormatProperties.fields[field][item],
                separatorVal;
              if (field &lt;= 2) {
                separatorVal = this.dateFormatProperties.separators[field][item];
              }
              dateField += this.getDateValue(itemVal, this.dateFormatProperties.transformations);
              if (itemVal !== "null") {
                if (item === "item4") {
                  separatorVal = " ";
                }
                dateField += separatorVal ? separatorVal : "";
              }
            }
          }
          return dateField;
        }
      };
      //converting "-" into " space" as IE does not support "-"" format to generate new date
      if (date.indexOf(":") === -1 &amp;&amp; date.indexOf(",") === -1 &amp;&amp; date.indexOf("-") !== -1) {
        date = date.replace(/-/g, " ");
      }
      dateFormat.date = new Date(date);
      dateFormat.i18nLabels = i18nProperties;
      dateFormat.dateFormatProperties = dateProperties;
      return dateFormat.getFormattedDate();
    };
    /**
     * helper method for time zone format - please update in handlebars-helpers.js
     * 
     **/

    Helpers.prototype.timeZoneFormat = function (timezone, i18nProperties, dateProperties) {
      if (!timezone &amp;&amp; !i18nProperties &amp;&amp; !dateProperties) {
        return timezone;
      }
      var timeZoneFormat = {
        pad: function pad(val, len) {
          val = String(val);
          len = len || 2;
          while (val.length &lt; len) val = "0" + val;
          return val;
        },
        getHourMinute: function getHourMinute(hourType) {
          if (!this.startTime &amp;&amp; !this.endTime) {
            return null;
          }
          var hour1 = this.startTime.split(':')[0],
            minute1 = this.startTime.split(':')[1],
            ampm1 = this.startTimeMerdiem === this.i18nLabels.timeMeridiems[1] ? this.i18nLabels.timeMeridiems[1] : this.i18nLabels.timeMeridiems[0],
            hour2 = this.endTime.split(':')[0],
            minute2 = this.endTime.split(':')[1],
            ampm2 = this.endTimeMerdiem === this.i18nLabels.timeMeridiems[1] ? this.i18nLabels.timeMeridiems[1] : this.i18nLabels.timeMeridiems[0],
            showMeridiem = this.dateFormatProperties.showMeridiem,
            timeSeparator = this.dateFormatProperties.timeSeparator,
            meridiem1,
            meridiem2,
            hour3,
            hour4;
          if (ampm1 === this.i18nLabels.timeMeridiems[1]) {
            hour3 = Number(hour1) + 12;
          } else {
            hour3 = hour1;
          }
          if (ampm2 === this.i18nLabels.timeMeridiems[1]) {
            hour4 = Number(hour2) + 12;
          } else {
            hour4 = hour2;
          }
          if (showMeridiem &amp;&amp; showMeridiem !== "undefined") {
            meridiem1 = ampm1;
            meridiem2 = ampm2;
          } else {
            meridiem1 = "";
            meridiem2 = "";
          }
          switch (hourType) {
            case "hh":
              if (showMeridiem) {
                return " " + this.pad(hour1) + timeSeparator + this.pad(minute1) + " " + meridiem1 + " - " + this.pad(hour2) + timeSeparator + this.pad(minute2) + " " + meridiem2;
              } else {
                return " " + this.pad(hour1) + timeSeparator + this.pad(minute1) + " - " + this.pad(hour2) + timeSeparator + this.pad(minute2);
              }
            default:
              return " " + this.pad(hour3) + timeSeparator + this.pad(minute1) + " - " + this.pad(hour4) + timeSeparator + this.pad(minute2);
          }
        }
      };
      timeZoneFormat.startTime = timezone.split(',')[0].split('-')[0].split(' ')[0];
      timeZoneFormat.endTime = timezone.split(',')[0].split('-')[1].trim().split(' ')[0];
      timeZoneFormat.startTimeMerdiem = timezone.split(',')[0].split('-')[0].split(' ')[1];
      timeZoneFormat.endTimeMerdiem = timezone.split(',')[0].split('-')[1].trim().split(' ')[1];
      timeZoneFormat.timezone = timezone.split(',')[1].trim();
      timeZoneFormat.i18nLabels = i18nProperties;
      timeZoneFormat.dateFormatProperties = dateProperties;
      return timeZoneFormat.getHourMinute(timeZoneFormat.dateFormatProperties.transformations.hourType) + ", " + timeZoneFormat.timezone;
    };

    /**
     * helper method for filter particular JSON object
     * 
     * @private
     * @method filterJSON
     * 
     * @param {object} json - json object
     * @param {String} key - json key
     * 
     * @return {json}
     * 
     **/
    Helpers.prototype.filterJSON = function (json, key) {
      if (!json) {
        return json;
      }
      var hits = [];
      plus.each(json, function (k, v) {
        if (k === key) {
          hits.push(v);
        }
        if (typeof v === "string") {
          return true;
        } else if (Array.isArray(v) || (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(v) === 'object' &amp;&amp; v !== null) {
          var r = Helpers.prototype.filterJSON.call(this, v, key);
          if (r.length &gt; 0) {
            hits = hits.concat(r);
          }
        }
      });
      return hits;
    };
    /**
     * helper method for xml to JSON object
     * 
     * @private
     * @method xmlToJson
     * 
     * @param {xml} xml - xml object
     * 
     * @return {json}
     * 
     **/
    Helpers.prototype.xmlToJson = function (xml) {
      var obj = {};
      if (xml.nodeType === 1) {
        if (xml.attributes.length &gt; 0) {
          obj.searchInputs = {};
          for (var j = 0; j &lt; xml.attributes.length; j++) {
            var attribute = xml.attributes.item(j);
            obj.searchInputs[attribute.nodeName] = attribute.value;
          }
        }
      } else if (xml.nodeType === 3) {
        obj = xml.nodeValue;
      }
      if (xml.hasChildNodes()) {
        for (var i = 0; i &lt; xml.childNodes.length; i++) {
          var item = xml.childNodes.item(i);
          var nodeName = item.nodeName;
          if (typeof obj[nodeName] === "undefined") {
            obj[nodeName] = Helpers.prototype.xmlToJson.call(this, item);
          } else {
            if (typeof obj[nodeName].push === "undefined") {
              var old = obj[nodeName];
              obj[nodeName] = [];
              obj[nodeName].push(old);
            }
            obj[nodeName].push(Helpers.prototype.xmlToJson.call(this, item));
          }
        }
      }
      return obj;
    };
    /**
     * Helper method for warping the tracking calls
     * to avoid breaking of the components/templates
     *
     * @private
     * @method triggerSatteliteTracking
     * 
     * @param {string} trackingName - trackingName string
     * 
     **/
    Helpers.prototype.triggerSatteliteTracking = function (trackingName, obj) {
      try {
        obj ? _satellite.track(trackingName, obj) : _satellite.track(trackingName);
      } catch (err) {
        //console.log('Tracking error : ', err);
      }
    };

    /**
     * Helper method for getting query values
     * 
     *
     * @string (url)
     * @method triggerSatteliteTracking
     * 
     * @param {string} getUrlParams - trackingName string
     * 
     **/
    Helpers.prototype.getUrlParams = function (queryString) {
      var keyArrays = {};
      try {
        var queryComponents = queryString.indexOf("?") &gt; -1 ? queryString.split("?") : "",
          q = queryComponents[1] ? queryComponents[1].split("&amp;") : "",
          keyArrays = [];
        for (var i = 0; i &lt; q.length; i++) {
          var s = q[i].split("=");
          keyArrays[s[0]] = decodeURI(s[1]);
        }
      } catch (err) {}
      return keyArrays;
    };
    Helpers.prototype.isOSXSafari = function () {
      if (navigator.userAgent.indexOf('Mac OS X') != -1 &amp;&amp; navigator.userAgent.indexOf('Safari') != -1 &amp;&amp; navigator.userAgent.indexOf('Chrome') == -1) {
        return true;
      }
    };

    /* Focus trap code adapted from: https://hiddedevries.nl/en/blog/2017-01-29-using-javascript-to-trap-focus-in-an-element */
    Helpers.prototype.trapFocus = function (element, namespace) {
      var focusableEls = plus(element).find('a, object, :input, iframe, [tabindex]').not('svg'),
        firstFocusableEl = focusableEls.first()[0],
        lastFocusableEl = focusableEls.last()[0],
        KEYCODE_TAB = 9;
      plus(element).on('keydown', function (e) {
        var isTabPressed = e.key === 'Tab' || e.keyCode === KEYCODE_TAB;
        if (!isTabPressed) {
          return;
        }
        if (e.shiftKey) {
          /* shift + tab */
          if (document.activeElement === firstFocusableEl) {
            lastFocusableEl.trigger('focus');
            e.preventDefault();
          }
        } else {
          /* tab */
          if (document.activeElement === lastFocusableEl) {
            firstFocusableEl.trigger('focus');
            e.preventDefault();
          }
        }
      });
    };
    Helpers.prototype.undoTrapFocus = function (element, namespace) {
      plus(element).off('keydown.' + namespace);
    };
    return new Helpers();
  });
});


/***/ }),

/***/ 7012:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) =&gt; {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A: () =&gt; (/* binding */ PersonalizationUtils)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(2284);
/* harmony import */ var _plus_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8081);
/* harmony import */ var underscore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4523);
/* harmony import */ var _tracking_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(4980);
/* harmony import */ var _common_utils_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8262);
/* harmony import */ var _cqservice_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(1662);






var PersonalizationUtils = {
  constants: {
    localStorageKey: "accountInfo",
    localStorageLibrarykey: "userLibrary",
    localStorageFlagsKey: "flags",
    dmdbaseCookieKey: "personalization",
    interestsServiceURL: "/bin/kpmg/myinterests.&lt;countryCode&gt;-&lt;languageCode&gt;.&lt;boolean&gt;.allTags.json",
    getUserLibraryServiceURL: "/bin/kpmg/library",
    getUserDashboardDataURL: "/userdata/userdataService/getDashboardData",
    getSharedListServiceURL: "&lt;%=location%&gt;.publicshare.&lt;%=oid%&gt;.&lt;%=uid%&gt;.json",
    isProdEnv: !!window.location.host.match(/^home.kpmg.com/),
    UserAccountIncludes: ["identities-active", "identities-all", "loginIDs", "emails", "subscriptions", "preferences", "profile", "data", "irank", "regSource"],
    IPGFilter: ["nickname", "photoURL", "thumbnailURL", "profileURL", "hometown", "zip", "languages", "address", "phones", "education", "honors", "publications", "patents", "certifications", "professionalHeadline", "bio", "industry", "specialties", "skills", "religion", "politicalView", "interestedIn", "relationshipStatus", "hometown", "favorites", "likes", "followersCount", "followingCount", "iRank", "timezone", "work", "companyID", "description", "endDate", "industry", "isCurrent", "location", "startDate", "gender", "educationLevel", "degree", "endYear", "fieldOfStudy", "school", "schoolType", "startYear"],
    urlPattern: /^.*\/\/[^\/]+/,
    logicTreeServiceURL: "/bin/kpmg/allTagList.&lt;countryCode&gt;-&lt;languageCode&gt;.allTags.json",
    sessionStorageDashboardData: "dashboardData"
  },
  commonUtils: {
    isMobile: null,
    sortObjByAttr: null,
    sortBy: null,
    getCssAttrSelectors: null,
    processInterestsJson: null,
    processCountriesJson: null,
    generateUniqueId: null,
    initializeDom: null,
    isDomInitialized: null,
    processLibraryName: null,
    getMetaObject: null
  },
  dashboardUtils: {
    handleCustomShare: null
  },
  loggerUtils: {
    error: null,
    info: null,
    log: null,
    warn: null
  },
  pathUtils: {
    getAbsolutePath: null,
    gotoPage: null,
    getURIparam: null
  },
  accountUtils: {
    isLoggedIn: null,
    getInfo: null,
    setInfo: null,
    getLocale: null,
    getCategoryPreferences: null,
    getPasswordStrength: null,
    getProfileInfo: null
  },
  myKpmgFlyoutUtils: {
    getLinksJson: null
  },
  storeUtils: {
    getUserLibrary: null,
    getUserLibraryList: null,
    getArticleFromLibrary: null,
    createNewLibrary: null,
    saveArticleToLibrary: null,
    findArticleByUrl: null,
    fetchBannerArticles: null,
    storeBannerArticlesInLocalStorage: null,
    retrieveBannerArticleFromLocalStorage: null
  },
  privacyUtils: {
    getCookieKey: null,
    getCookieExpiry: null,
    checkAndSetCookie: null,
    isAccepted: null
  }
};
var _cachedValues = {
  privacyCookieKey: null,
  accountInfo: null,
  myKpmgFlyoutJSON: {}
};
var count = 0,
  mykpmgNavJsonCall = true,
  locationObject = _common_utils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.getLocationObjectFromCanonicalURL();
function _isActiveUserData(data) {
  return !!(data &amp;&amp; data.requestParams.APIKey &amp;&amp; _plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.cookie("glt_" + data.requestParams.APIKey));
}
PersonalizationUtils.commonUtils.isMobile = function isMobile() {
  return window.matchMedia("all and (max-width: 641px)").matches;
};
PersonalizationUtils.commonUtils.getUrlParamsObj = function getUrlParamsObj() {
  var urlParamsObj = {};
  location.search.replace(/^\?/, "").split("&amp;").map(function (pair) {
    pair = decodeURIComponent(pair);
    pair = pair.split("=");
    urlParamsObj[pair[0]] = pair[1];
  });
  return urlParamsObj;
};
PersonalizationUtils.commonUtils.sortObjByAttr = function sortObjByAttr(attr, a, b) {
  if (a[attr] &lt; b[attr]) {
    return -1;
  } else if (a[attr] &gt; b[attr]) {
    return 1;
  }
  return 0;
};
PersonalizationUtils.commonUtils.sortBy = function (field, reverse, primer) {
  var key = function key(x) {
    if (primer === "Date") {
      return new Date(x[field]);
    } else {
      return x[field];
    }
  };
  return function (a, b) {
    var A = key(a),
      B = key(b);
    return (A &lt; B ? -1 : A &gt; B ? 1 : 0) * [-1, 1][+!!reverse];
  };
};
PersonalizationUtils.commonUtils.guid = function () {
  function s4() {
    return Math.floor((1 + Math.random()) * 65536).toString(16).substring(1);
  }
  return s4() + s4() + s4() + s4() + s4() + s4() + s4() + s4();
};
PersonalizationUtils.commonUtils.getCssAttrSelectors = function (attrName, attrValue) {
  var selector = "[" + attrName + "='" + attrValue + "']";
  return {
    selector: selector,
    notSelector: ":not(" + selector + ")"
  };
};
PersonalizationUtils.commonUtils.checkForGigyaObject = function (cb) {
  if (window.gigya) {
    cb();
  } else {
    if (count &lt;= 20) {
      count++;
      setTimeout(PersonalizationUtils.commonUtils.checkForGigyaObject, 400, cb);
    }
  }
};
function _sortCollectionsRecursivelyByName(data, collectionName, attrName) {
  function _hasValidCollections(data) {
    return data instanceof Object &amp;&amp; Array.isArray(data[collectionName]) &amp;&amp; data[collectionName][0] instanceof Object;
  }
  function _sortCollectionsRecursively(data) {
    if (_hasValidCollections(data)) {
      data[collectionName].sort(PersonalizationUtils.commonUtils.sortObjByAttr.bind(null, attrName));
      data[collectionName].forEach(function (data) {
        _sortCollectionsRecursively(data);
      });
    }
  }
  _sortCollectionsRecursively(data);
}
PersonalizationUtils.commonUtils.processInterestsJson = function (data) {
  var collectionName = "tags";
  _sortCollectionsRecursivelyByName(data, collectionName, "name");
  data[collectionName].sort(PersonalizationUtils.commonUtils.sortObjByAttr.bind(null, "order"));
  return data;
};
PersonalizationUtils.commonUtils.processCountriesJson = function (data) {
  _sortCollectionsRecursivelyByName(data, "category", "name");
  return data;
};
PersonalizationUtils.commonUtils.generateUniqueId = function (prefix) {
  prefix = prefix || "";
  return prefix + "_gen_" + Math.floor((1 + Math.random()) * 65536).toString(16).substring(1);
};
PersonalizationUtils.commonUtils.initializeDom = function (elem) {
  elem.initialized = true;
};
PersonalizationUtils.commonUtils.getValue = function (key, storeKey) {
  try {
    if (!storeKey) {
      storeKey = PersonalizationUtils.constants.localStorageFlagsKey;
    }
    _cachedValues.flags = JSON.parse(sessionStorage.getItem(storeKey)) || {};
    if (key) {
      return _cachedValues.flags[key];
    } else {
      return _cachedValues.flags;
    }
  } catch (err) {
    return false;
  }
};
PersonalizationUtils.commonUtils.setValue = function (key, value, storeKey) {
  try {
    if (!storeKey) {
      storeKey = PersonalizationUtils.constants.localStorageFlagsKey;
    }
    _cachedValues.flags = JSON.parse(sessionStorage.getItem(storeKey)) || {};
    _cachedValues.flags[key] = value;
    sessionStorage.setItem(PersonalizationUtils.constants.localStorageFlagsKey, JSON.stringify(_cachedValues.flags));
    return true;
  } catch (err) {
    return false;
  }
};
PersonalizationUtils.commonUtils.clearValues = function (key, storeKey) {
  try {
    if (!storeKey) {
      storeKey = PersonalizationUtils.constants.localStorageFlagsKey;
    }
    _cachedValues.flags = JSON.parse(sessionStorage.getItem(storeKey)) || {};
    if (key) {
      delete _cachedValues.flags[key];
    } else {
      _cachedValues.flags = {};
    }
    return sessionStorage.setItem(PersonalizationUtils.constants.localStorageFlagsKey, JSON.stringify(_cachedValues.flags));
  } catch (err) {
    return false;
  }
};
PersonalizationUtils.commonUtils.isDomInitialized = function (elem) {
  return elem.initialized;
};
PersonalizationUtils.commonUtils.processLibraryName = function (name) {
  function _process(n) {
    return n.trim().replace(/&lt;/g, "").replace(/&gt;/g, "").replace(/javascript:/g, "");
  }
  name = name || "";
  var processedName = _process(name);
  while (name !== processedName) {
    name = processedName;
    processedName = _process(name);
  }
  return processedName;
};
PersonalizationUtils.commonUtils.getMetaObject = function () {
  var metaData = window.kpmgMetaData || {};
  return metaData;
};
PersonalizationUtils.commonUtils.getUserNameSequence = function () {
  var accountInfo = PersonalizationUtils.accountUtils.getInfo(),
    firstName = accountInfo ? accountInfo.profile.firstName : "",
    lastName = accountInfo ? accountInfo.profile.lastName : "",
    nameFormat = _common_utils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.getNestedObjectValue(window.kpmgPersonalize, "displayNameFormat"),
    nameSwitch = _common_utils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.getNestedObjectValue(window.kpmgPersonalize, "firstnameLastnameSwitch"),
    name;
  if (nameSwitch) {
    name = nameFormat === "First Name" ? firstName : lastName + " " + firstName;
  } else {
    name = nameFormat === "First Name" ? firstName : firstName + " " + lastName;
  }
  return name;
};
PersonalizationUtils.dashboardUtils.handleCustomShare = function (context, tracking, componentName, options) {
  var gigyaShareProperties = {},
    jqWrap = (0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(context),
    data = jqWrap.data(),
    firstShareTrap = "&lt;div class=\"first-share-trap sr-only\" tabindex=\"-1\"&gt;&lt;/div&gt;",
    lastShareTrap = "&lt;div class=\"last-share-trap sr-only\" tabindex=\"-1\"&gt;&lt;/div&gt;";
  gigyaShareProperties = underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].extend */ .Ay.extend(gigyaShareProperties, options);
  gigyaShareProperties.shareTitle = data.title;
  gigyaShareProperties.shareUrl = PersonalizationUtils.pathUtils.isAbsolutePath(data.url) ? data.url : locationObject.origin + data.url;
  if (jqWrap.parent().find(".simpleShareUI").length === 0) {
    var dashHtml = "";
    if (jqWrap.parents(".actionitem").length &gt; 0) {
      dashHtml = _common_utils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.createSocialShare(gigyaShareProperties.shareTitle, gigyaShareProperties.shareUrl, true);
    } else {
      dashHtml = _common_utils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.createSocialShare(gigyaShareProperties.shareTitle, gigyaShareProperties.shareUrl);
    }
    jqWrap.parent().append(firstShareTrap, dashHtml, lastShareTrap);
    window.Sharer.init();
  }
  (0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)("body").addClass("shareActive");
  if (jqWrap.parents(".actionitem").length &gt; 0) {
    (0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(".librarylist-content").addClass("shareActive");
  }
  _common_utils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.postionSharePopup(jqWrap.parent());
  jqWrap.parent().find(".simpleShareUI").show().attr("aria-hidden", "false").find(".icon-simpleShareUI-closeButton").attr("tabindex", "0").addClass("focusOutline").focus();
  jqWrap.parent().find(".last-share-trap").attr("tabindex", "0");
  jqWrap.parent().find(".first-share-trap").attr("tabindex", "0");
  jqWrap.parent().find(".icon-simpleShareUI-closeButton, .social-share-button-override, .gig-simpleShareUI-button").on("keydown", function (evt) {
    if (evt.which === 27 || evt.which === 32 || evt.which === 13) {
      evt.preventDefault();
      jqWrap.parent().find(".simpleShareUI").hide();
      setTimeout(function () {
        jqWrap.parent().find(".last-share-trap").attr("tabindex", "-1");
        jqWrap.parent().find(".first-share-trap").attr("tabindex", "-1");
        jqWrap.parent().find(".simpleShareUI").attr("aria-hidden", "true");
        jqWrap.attr({
          "aria-expanded": "false"
        }).addClass("focusOutline").focus();
      }, 300);
    }
  });
  jqWrap.parent().find(".social-share-button-override").on("focus", function (evt) {
    (0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(evt.target).addClass("focusOutline");
  });
  jqWrap.parent().find(".social-share-button-override").on("blur", function (evt) {
    (0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(evt.target).removeClass("focusOutline");
  });
  jqWrap.parent().find(".first-share-trap").on("focus", function () {
    var lastBtn;
    jqWrap.parent().find(".social-share-button-override").each(function () {
      if ((0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(this).is(":visible")) {
        lastBtn = (0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(this);
      }
      if (jqWrap.parent().find(".gig-simpleShareUI-button").length &gt; 0) {
        lastBtn = jqWrap.parent().find(".gig-simpleShareUI-button");
      }
    });
    lastBtn.focus();
  });
  jqWrap.parent().find(".last-share-trap").on("focus", function () {
    jqWrap.parent().find(".icon-simpleShareUI-closeButton").focus();
  });
  (0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(window).off("scroll").on("scroll", function () {
    _common_utils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.postionSharePopup(jqWrap.parent());
  });
};
PersonalizationUtils.loggerUtils.error = function () {
  console.error.apply(console, Array.prototype.slice.call(arguments));
};
PersonalizationUtils.loggerUtils.info = function () {
  if (!PersonalizationUtils.constants.isProdEnv) {
    console.info.apply(console, Array.prototype.slice.call(arguments));
  }
};
PersonalizationUtils.loggerUtils.log = function () {
  if (!PersonalizationUtils.constants.isProdEnv) {
    console.log.apply(console, Array.prototype.slice.call(arguments));
  }
};
PersonalizationUtils.loggerUtils.warn = function () {
  if (!PersonalizationUtils.constants.isProdEnv) {
    console.warn.apply(console, Array.prototype.slice.call(arguments));
  }
};
PersonalizationUtils.accountUtils.isLoggedIn = function () {
  var data = PersonalizationUtils.accountUtils.getInfo();
  if (data &amp;&amp; _isActiveUserData(data)) {
    PersonalizationUtils.privacyUtils.checkAndSetCookie();
    return true;
  }
};
PersonalizationUtils.accountUtils.IPGFilter = function (data) {
  Object.getOwnPropertyNames(data).forEach(function (key) {
    if (PersonalizationUtils.constants.IPGFilter.indexOf(key) &gt;= 0) {
      if (typeof data[key] === "string") {
        if (key === "gender") {
          data[key] = "u";
        } else {
          data[key] = "NA";
        }
      } else if (typeof data[key] === "number") {
        data[key] = 0;
      } else if (underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].isArray */ .Ay.isArray(data[key])) {
        data[key] = data[key].map(function (work) {
          return underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].omit */ .Ay.omit(work, PersonalizationUtils.constants.IPGFilter);
        });
      }
    } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(data[key]) === "object" &amp;&amp; data[key] !== null) {
      PersonalizationUtils.accountUtils.IPGFilter(data[key]);
    }
  });
  return data;
};
PersonalizationUtils.accountUtils.getProfileInfo = function () {
  if (!PersonalizationUtils.accountUtils.isLoggedIn()) {
    return;
  }
  var profileInfo = PersonalizationUtils.accountUtils.getInfo();
  if (!profileInfo) {
    gigya.accounts.getAccountInfo({
      extraProfileFields: "work, phones",
      callback: function callback(response) {
        if (response.errorCode === 0) {
          profileInfo = response;
        } else {
          PersonalizationUtils.loggerUtils.error("Error in getting account info: ", response.errorMessage);
        }
      }
    });
  }
  var roleOrJobtitle = "";
  if (Array.isArray(profileInfo.profile.work) &amp;&amp; profileInfo.profile.work[0].title) {
    roleOrJobtitle = profileInfo.profile.work[0].title;
  } else if (profileInfo.data.roleOrDesignation) {
    roleOrJobtitle = profileInfo.data.roleOrDesignation;
  }
  return {
    firstname: profileInfo.profile.firstName || "",
    lastName: profileInfo.profile.lastName || "",
    email: profileInfo.profile.email || "",
    company: Array.isArray(profileInfo.profile.work) ? profileInfo.profile.work[0].company : "",
    role: roleOrJobtitle,
    country: profileInfo.profile.country || "",
    city: profileInfo.profile.city || "",
    kpmgClient: profileInfo.data.kpmg ? profileInfo.data.kpmg.client : false,
    phone: profileInfo.profile.phones &amp;&amp; profileInfo.profile.phones[0] ? profileInfo.profile.phones[0].number : ""
  };
};
PersonalizationUtils.accountUtils.getInfo = function () {
  if (_common_utils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.storageAvailable("localStorage")) {
    if (!_cachedValues.accountInfo) {
      _cachedValues.accountInfo = JSON.parse(localStorage.getItem(PersonalizationUtils.constants.localStorageKey) || "false");
    }
    if (!_isActiveUserData(_cachedValues.accountInfo)) {
      PersonalizationUtils.accountUtils.clearInfo();
    }
    return _cachedValues.accountInfo;
  }
};
PersonalizationUtils.accountUtils.setInfo = function (response) {
  if (_common_utils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.storageAvailable("localStorage")) {
    if (response) {
      localStorage.setItem(PersonalizationUtils.constants.localStorageKey, JSON.stringify(response));
      _cachedValues.accountInfo = JSON.parse(localStorage.getItem(PersonalizationUtils.constants.localStorageKey));
    } else {
      PersonalizationUtils.accountUtils.clearInfo();
    }
  }
};
PersonalizationUtils.accountUtils.clearExplicitSessionInfo = function () {
  if (_common_utils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.storageAvailable("sessionStorage")) {
    var cachedSnpData = JSON.parse(sessionStorage.snpData || "{}");
    Object.keys(cachedSnpData).forEach(function (key) {
      if (key.match(/^e\|\|/)) {
        delete cachedSnpData[key];
      }
    });
    sessionStorage.snpData = JSON.stringify(cachedSnpData);
    localStorage.removeItem("bannerArticles");
    if (sessionStorage &amp;&amp; sessionStorage.userLibrary) {
      delete sessionStorage.userLibrary;
    }
  }
};
PersonalizationUtils.accountUtils.clearInfo = function () {
  if (_common_utils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.storageAvailable("localStorage")) {
    localStorage.removeItem(PersonalizationUtils.constants.localStorageKey);
    localStorage.removeItem("verifyEmailAlert");
    localStorage.removeItem("congratsPopUp");
    PersonalizationUtils.accountUtils.clearExplicitSessionInfo();
    sessionStorage.removeItem("ctaids");
    sessionStorage.removeItem("dashboardData");
    _cachedValues.accountInfo = null;
  }
};
PersonalizationUtils.accountUtils.getCategoryPreferences = function (category, filterList, doNotSplit) {
  var preferencesObj,
    preferencesArr = [],
    response = PersonalizationUtils.accountUtils.getInfo();
  filterList = filterList || [];
  if (category === "topic") {
    category = "insight";
  }
  function _parsePreferences(userPreferences, category) {
    var retval = [];
    if (userPreferences &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(userPreferences) === "object") {
      Object.keys(userPreferences).forEach(function (locale) {
        if (category === "country") {
          retval.push(locale);
        }
        var localeObj = userPreferences[locale],
          preferencesZthesIds = Object.keys(localeObj);
        if (preferencesZthesIds.length) {
          retval = retval.concat(preferencesZthesIds);
        }
      });
    }
    return retval;
  }
  function _isValidCategory(val) {
    return filterList.indexOf(val) === -1 &amp;&amp; (!category || category === "all" || category === val);
  }
  if (response &amp;&amp; response.data) {
    if (response.data.preferences &amp;&amp; response.data.preferences !== "" &amp;&amp; response.data.preferences !== "{}") {
      preferencesObj = JSON.parse(response.data.preferences);
      Object.keys(preferencesObj).forEach(function (key) {
        if (_isValidCategory(key)) {
          preferencesArr = preferencesArr.concat(_parsePreferences(preferencesObj[key], key));
        }
      });
    }
  }
  if (!doNotSplit) {
    preferencesArr.forEach(function (value, index) {
      if (value.indexOf("-") &gt; -1) {
        var parts = value.split("-");
        preferencesArr[index] = parts[0];
        preferencesArr[preferencesArr.length] = parts[1];
      }
    });
  }
  return underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].uniq */ .Ay.uniq(preferencesArr).sort().join(",");
};
PersonalizationUtils.accountUtils.getPreferencesCount = function () {
  var count = {
    total: 0
  };
  ["industry", "topic", "service", "country"].forEach(function (key) {
    var strVal = PersonalizationUtils.accountUtils.getCategoryPreferences(key, "", true);
    count[key] = strVal ? strVal.split(",").length : 0;
    count.total += count[key];
  });
  return count;
};
PersonalizationUtils.accountUtils.getLocale = function () {
  var accountInfo = PersonalizationUtils.accountUtils.getInfo(),
    locale;
  if (window.kpmgPersonalize.snp) {
    locale = {
      countryCode: window.kpmgPersonalize.snp.params.countryCode,
      languageCode: window.kpmgPersonalize.snp.params.languageCode
    };
  }
  if (accountInfo &amp;&amp; accountInfo.data.kpmg &amp;&amp; accountInfo.data.kpmg.registeredLocale) {
    var registeredLocale = accountInfo.data.kpmg.registeredLocale.split("/");
    locale.countryCode = registeredLocale[0] || locale.countryCode;
    locale.languageCode = registeredLocale[1] || locale.languageCode;
  }
  return locale;
};
PersonalizationUtils.accountUtils.getPasswordStrength = function (password) {
  var regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(.){8,}$/,
    strength = {
      "class": "weak",
      label: window.kpmgPersonalize.i18n.gigyaMsgs.weak
    };
  if (regex.test(password)) {
    strength = {
      "class": "great",
      label: window.kpmgPersonalize.i18n.gigyaMsgs.strong
    };
  }
  return strength;
};
PersonalizationUtils.accountUtils.getInterestFromLogicTree = function () {
  var isLocalStorage = _common_utils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.storageAvailable("localStorage"),
    readFromDocumentReferrer = isLocalStorage &amp;&amp; localStorage.logicTreeInterests;
  var toUpdateDetails = {},
    resultFlag;
  if (readFromDocumentReferrer &amp;&amp; readFromDocumentReferrer !== "{}") {
    var referrerLogicComponent = JSON.parse(readFromDocumentReferrer),
      referrerlocale = referrerLogicComponent[0].locale,
      newLocaleKey = referrerlocale.countryCode + "/" + referrerlocale.languageCode;
    var industryRegex = new RegExp(/^KPMG_Industry_ID[_]*/),
      serviceRegex = new RegExp(/^KPMG_Service_ID[_]*/),
      insightRegex = new RegExp(/^KPMG_Topic_ID[_]*/),
      toUpdateInterest;
    toUpdateInterest = referrerLogicComponent.filter(function (item) {
      if (item.hasOwnProperty("isSelected") &amp;&amp; item.isSelected === true) {
        return item;
      }
    });
    var cat = toUpdateInterest[0].category;
    toUpdateDetails = {
      zthesid: toUpdateInterest[0].zthesid,
      category: "",
      locale: newLocaleKey
    };
    if (industryRegex.test(cat)) {
      toUpdateDetails.category = "industry";
    } else if (serviceRegex.test(cat)) {
      toUpdateDetails.category = "service";
    } else if (insightRegex.test(cat)) {
      toUpdateDetails.category = "insight";
    }
  }
  if (toUpdateDetails !== {}) {
    resultFlag = toUpdateDetails;
  } else {
    resultFlag = false;
  }
  return resultFlag;
};
PersonalizationUtils.privacyUtils.getCookieKey = function () {
  if (!_cachedValues.privacyCookieKey) {
    _cachedValues.privacyCookieKey = underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].find */ .Ay.find(Object.keys(_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.cookie()), function matchPrivacyCookiePattern(key) {
      return /^KPMG_privacyCookie/.test(key);
    });
  }
  return _cachedValues.privacyCookieKey;
};
PersonalizationUtils.privacyUtils.getCookieExpiry = function () {
  if (PersonalizationUtils.privacyUtils.getCookieKey()) {
    return new Date(_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.cookie(PersonalizationUtils.privacyUtils.getCookieKey()).split("expires=")[1].split(";path")[0]);
  }
};
PersonalizationUtils.privacyUtils.isAccepted = function () {
  var privacyCookieKey = PersonalizationUtils.privacyUtils.getCookieKey();
  if (privacyCookieKey) {
    return JSON.parse(_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.cookie(privacyCookieKey).split("isTrackEnabled=")[1].split("&amp;value")[0]);
  }
};
PersonalizationUtils.privacyUtils.checkAndSetCookie = function () {
  var privacyCookieKey = PersonalizationUtils.privacyUtils.getCookieKey(),
    pathCount = window.kpmgPersonalize.misc.isAuthor ? 5 : 3,
    pathForDotCom = "",
    pathForBlogs = "",
    blogPath = window.kpmgPersonalize &amp;&amp; window.kpmgPersonalize.blogPath || "";
  blogPath = blogPath.replace("/", "");
  if (window.kpmgPersonalize &amp;&amp; window.kpmgPersonalize.isBlog) {
    pathCount = window.kpmgPersonalize.misc.isAuthor ? 6 : 4;
    pathForBlogs = locationObject.pathname.split("/").slice(0, pathCount).join("/");
    pathForDotCom = pathForBlogs.replace(blogPath + "/", "");
  } else {
    pathForDotCom = locationObject.pathname.split("/").slice(0, pathCount).join("/");
    pathForBlogs = pathForDotCom.split("/");
    pathForBlogs.splice(2, 0, blogPath);
    pathForBlogs = pathForBlogs.join("/");
  }
  if (!PersonalizationUtils.privacyUtils.isAccepted()) {
    if (privacyCookieKey) {
      _updateCookieValue("KPMG_privacyCookie_" + window.kpmgPersonalize.snp.params.countryCode + "_ver:" + window.privacyJSON.countries[0].cookieVersion, true, "true", privacyCookieKey, pathForDotCom);
      _updateCookieValue("KPMG_privacyCookie_" + window.kpmgPersonalize.snp.params.countryCode + "_ver:" + window.privacyJSON.countries[0].cookieVersion, true, "true", privacyCookieKey, pathForBlogs);
    } else {
      if ((0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)("#policyConsent")._domElem[0]) {
        (0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)("#policyConsent")._domElem[0].checked = true;
      }
      (0,_plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(".privacy-container .btn-close-main .btn-close").trigger("click");
    }
  }
};
PersonalizationUtils.pathUtils.isAbsolutePath = function isAbsolutePath(path) {
  return /^[a-z]+:\/\//.test(path);
};
PersonalizationUtils.pathUtils.getAbsolutePath = function getAbsolutePath(relPath) {
  var winkpmgpath = locationObject.pathname,
    pathArr = winkpmgpath.split("/"),
    relPathArr = [];
  if (PersonalizationUtils.pathUtils.isAbsolutePath(relPath)) {
    return relPath;
  }
  pathArr.pop();
  relPath.split("/").forEach(function (path) {
    if (path === "..") {
      pathArr.pop();
    } else if (path.match(/^\w/)) {
      relPathArr.push(path);
    }
  });
  relPathArr.forEach(function (path) {
    pathArr.push(path);
  });
  return pathArr.join("/");
};
PersonalizationUtils.pathUtils.gotoPage = function gotoPage(relPath) {
  if (PersonalizationUtils.pathUtils.getAbsolutePath(relPath) === "" &amp;&amp; navigator.userAgent.indexOf("Trident/") &gt; -1) {
    window.location = locationObject.pathname;
  } else {
    window.location = PersonalizationUtils.pathUtils.getAbsolutePath(relPath);
  }
};
PersonalizationUtils.pathUtils.getURIparam = function getURIparam(param) {
  var paramsURI = window.location.href.split("?")[1],
    postParamValue = paramsURI ? paramsURI.split(param + "=")[1] : null;
  if (window.location.search &amp;&amp; paramsURI &amp;&amp; postParamValue) {
    return postParamValue.split("&amp;")[0];
  }
};
PersonalizationUtils.myKpmgFlyoutUtils.getLinksJson = function () {
  var localeObj = PersonalizationUtils.accountUtils.getLocale();
  var deferred = _plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.Deferred(),
    authorPrefix = "",
    localeStr,
    sessionCache = {};
  if (localeObj) {
    localeStr = "/" + localeObj.countryCode + "/" + localeObj.languageCode + "/";
  }
  if (_common_utils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.storageAvailable("sessionStorage")) {
    sessionCache = sessionStorage.myKpmgFlyoutJSON ? JSON.parse(sessionStorage.myKpmgFlyoutJSON) : {};
  }
  if (window.kpmgPersonalize.misc) {
    authorPrefix = window.kpmgPersonalize.misc.isAuthor ? "/content/kpmgpublic" : "";
  }
  if (_cachedValues.myKpmgFlyoutJSON[localeStr]) {
    deferred.resolve(_cachedValues.myKpmgFlyoutJSON[localeStr]);
  } else if (sessionCache[localeStr]) {
    _cachedValues.myKpmgFlyoutJSON[localeStr] = sessionCache[localeStr];
    deferred.resolve(_cachedValues.myKpmgFlyoutJSON[localeStr]);
  } else {
    if (window.kpmgPersonalize.isSitePersonalize === true &amp;&amp; mykpmgNavJsonCall) {
      _plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.ajax({
        url: authorPrefix + localeStr + "home.mykpmgnav.json",
        success: function success(data) {
          sessionCache[localeStr] = data;
          _cachedValues.myKpmgFlyoutJSON[localeStr] = data;
          if (_common_utils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.storageAvailable("sessionStorage")) {
            sessionStorage.myKpmgFlyoutJSON = JSON.stringify(sessionCache);
          }
          mykpmgNavJsonCall = false;
          return deferred.resolve(data);
        },
        error: function error(_error) {
          PersonalizationUtils.loggerUtils.error("Error in fetching MyKpmgFlyout JSON:", _error);
          return deferred.reject("Error in fetching MyKpmgFlyout JSON.");
        }
      });
    } else {
      return deferred.reject("Site is not personalized. Error in fetching MyKpmgFlyout JSON.");
    }
  }
  return deferred;
};
PersonalizationUtils.storeUtils.fetchUserLibraryAndUpdate = function (cb, errcb) {
  PersonalizationUtils.loggerUtils.info("fetch user library");
  var localeObj = PersonalizationUtils.accountUtils.getLocale(),
    userInfo = PersonalizationUtils.accountUtils.getInfo(),
    localeStr = "/" + localeObj.countryCode + "/" + localeObj.languageCode;
  _plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.ajax({
    method: "POST",
    data: {
      locale: localeStr,
      uid: encodeURIComponent(userInfo.UID),
      UIDSignature: encodeURIComponent(userInfo.UIDSignature),
      signatureTimestamp: userInfo.signatureTimestamp
    },
    url: PersonalizationUtils.constants.getUserLibraryServiceURL
  }).done(function (res) {
    PersonalizationUtils.storeUtils.setUserLibrary(res, cb);
  }).fail(function (obj, msg, err) {
    PersonalizationUtils.loggerUtils.error("could not fetch user library information", err.message, err);
    if (typeof errcb === "function") {
      errcb(err);
    }
  });
};
PersonalizationUtils.storeUtils.fetchUserdashboardDataAndUpdate = function () {
  PersonalizationUtils.loggerUtils.info("fetch user dashboardData");
  var userInfo = PersonalizationUtils.accountUtils.getInfo(),
    url = PersonalizationUtils.constants.getUserDashboardDataURL + "?uid=" + encodeURIComponent(userInfo.UID) + "&amp;uidSignature=" + encodeURIComponent(userInfo.UIDSignature) + "&amp;signatureTimestamp=" + userInfo.signatureTimestamp + "&amp;locale=" + window.countryCode + "/" + window.langCode;
  _plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.ajax({
    method: "POST",
    url: url
  }).done(function (res) {
    PersonalizationUtils.storeUtils.setDashboardData(res.dashboardData);
  }).fail(function (obj, msg, err) {
    PersonalizationUtils.loggerUtils.error("could not fetch user dashboard data information", err.message, err);
  });
};
PersonalizationUtils.storeUtils.getUserLibrary = function () {
  try {
    _cachedValues.userLibrary = JSON.parse(sessionStorage.getItem(PersonalizationUtils.constants.localStorageLibrarykey) || "false");
    return _cachedValues.userLibrary;
  } catch (err) {
    PersonalizationUtils.loggerUtils.error("could not get user library", err);
  }
  return {};
};
PersonalizationUtils.storeUtils.getLibraryAsSortedArray = function (key) {
  var unsorted = [],
    library = PersonalizationUtils.storeUtils.getUserLibrary(),
    sorted = {};
  try {
    for (var oid in library.namedLists) {
      unsorted.push(underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].extend */ .Ay.extend({}, library.namedLists[oid], {
        oid: oid
      }));
    }
    sorted = unsorted.sort(PersonalizationUtils.commonUtils.sortBy(key, true));
    return sorted;
  } catch (err) {
    PersonalizationUtils.loggerUtils.error("error getting sorted library", err);
  }
};
PersonalizationUtils.storeUtils.setUserLibrary = function (response, cb) {
  if (response) {
    if (_common_utils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.storageAvailable("sessionStorage")) {
      sessionStorage.setItem(PersonalizationUtils.constants.localStorageLibrarykey, JSON.stringify(response));
    }
    _cachedValues.userLibrary = false;
    if (typeof cb === "function") {
      cb(response);
    }
  }
};
PersonalizationUtils.storeUtils.setDashboardData = function (response, cb) {
  if (response) {
    if (_common_utils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.storageAvailable("sessionStorage")) {
      sessionStorage.setItem(PersonalizationUtils.constants.sessionStorageDashboardData, JSON.stringify(response));
    }
    if (typeof cb === "function") {
      cb(response);
    }
  }
};
PersonalizationUtils.storeUtils.getDashboardDataList = function () {
  var dashboardData = JSON.parse(sessionStorage.getItem(PersonalizationUtils.constants.sessionStorageDashboardData) || "false"),
    dashboardDataList = [];
  for (var library in dashboardData) {
    dashboardDataList.push(dashboardData[library].zthesId);
  }
  return dashboardDataList;
};
PersonalizationUtils.storeUtils.getDashboardData = function () {
  try {
    var dashboardData = JSON.parse(sessionStorage.getItem(PersonalizationUtils.constants.sessionStorageDashboardData) || "false");
    return dashboardData;
  } catch (err) {
    PersonalizationUtils.loggerUtils.error("could not get dashboard interest articles", err);
  }
  return {};
};
PersonalizationUtils.storeUtils.getUserLibraryList = function () {
  var userLibrary = PersonalizationUtils.storeUtils.getUserLibrary(),
    userLibraries = [];
  for (var library in userLibrary.namedLists) {
    userLibraries.push(userLibrary.namedLists[library].name);
  }
  return userLibraries;
};
PersonalizationUtils.storeUtils.getLibraryListCount = function () {
  return PersonalizationUtils.storeUtils.getUserLibraryList().length;
};
PersonalizationUtils.storeUtils.getArticleFromLibrary = function (libraryId, url) {
  var userLibrary = PersonalizationUtils.storeUtils.getUserLibrary(),
    url = url.indexOf(locationObject.origin) &gt;= 0 ? url.substring(locationObject.origin.length) : url;
  try {
    return underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].findWhere */ .Ay.findWhere(userLibrary.namedLists[libraryId].pages, {
      "url": url
    });
  } catch (err) {
    PersonalizationUtils.loggerUtils.error("could not complete the request", err);
  }
};
PersonalizationUtils.storeUtils.deleteLibrary = function (oid, cb, errcb) {
  var userInfo = PersonalizationUtils.accountUtils.getInfo();
  var library = {
    type: "library",
    oid: oid,
    uid: userInfo.UID,
    fields: "*",
    callback: onDelete
  };
  function onDelete(response) {
    if (response.errorCode == 0) {
      var userLibrary = PersonalizationUtils.storeUtils.getUserLibrary();
      if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(userLibrary) === "object" &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(userLibrary.namedLists) === "object") {
        delete userLibrary.namedLists[oid];
        PersonalizationUtils.storeUtils.setUserLibrary(userLibrary);
      }
      if (typeof cb === "function") {
        cb(userLibrary);
      }
    } else {
      PersonalizationUtils.loggerUtils.error(response.errorMessage, response);
      if (typeof errcb === "function") {
        errcb(response);
      }
    }
  }
  try {
    PersonalizationUtils.loggerUtils.info("deleting library", library);
    gigya.ds["delete"](library);
  } catch (err) {
    PersonalizationUtils.loggerUtils.error("could not complete the request", response);
  }
};
PersonalizationUtils.storeUtils.updateLibrary = function (oid, article, cb, errcb, actionType, updateType) {
  var userInfo = PersonalizationUtils.accountUtils.getInfo(),
    userLibrary = PersonalizationUtils.storeUtils.getUserLibrary(),
    newlibrary = {},
    newdata = underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].extend */ .Ay.extend({}, article),
    callGigya = true;
  if (newdata.pages &amp;&amp; newdata.pages.length) {
    newdata.pages = underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].map */ .Ay.map(newdata.pages, function (article) {
      article.title = article.title, article.url = article.url.replace(PersonalizationUtils.constants.urlPattern, ""), article.savedDate = new Date().toISOString();
      return underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].pick */ .Ay.pick(article, "title", "url", "savedDate");
    });
  }
  if (actionType === "update" || actionType === "new") {
    newlibrary.updateBehavior = "arrayPush";
    newlibrary.callback = onSave;
  } else {
    newlibrary.updateBehavior = "replace";
    newlibrary.callback = onDelete;
  }
  newlibrary = underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].extend */ .Ay.extend(newlibrary, {
    type: "library",
    oid: oid,
    uid: userInfo.UID,
    data: newdata
  });
  function onSave(response) {
    if (response.errorCode == 0) {
      try {
        if (oid !== "auto") {
          if (updateType === "Article") {
            if (!underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].isArray */ .Ay.isArray(userLibrary.namedLists[response.oid].pages)) {
              userLibrary.namedLists[response.oid].pages = [];
            }
            userLibrary.namedLists[response.oid].pages.push(article.pages[0]);
          } else if (updateType === "library") {
            userLibrary.namedLists[response.oid] = underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].extend */ .Ay.extend({}, userLibrary.namedLists[response.oid], article);
          }
        } else {
          userLibrary.namedLists[response.oid] = article;
        }
        PersonalizationUtils.storeUtils.setUserLibrary(userLibrary);
        if (typeof cb === "function") {
          cb(response.oid, userLibrary.namedLists[response.oid]);
        }
      } catch (err) {
        PersonalizationUtils.loggerUtils.error(err.message, err.details);
        if (typeof errcb === "function") {
          errcb(err);
        }
      }
    } else {
      PersonalizationUtils.loggerUtils.error(response.errorMessage, response);
      if (typeof errcb === "function") {
        errcb(response);
      }
    }
  }
  function onDelete(response) {
    if (response.errorCode === 0) {
      try {
        userLibrary.namedLists[response.oid] = article;
        PersonalizationUtils.storeUtils.setUserLibrary(userLibrary);
        if (typeof cb === "function") {
          cb(response.oid, userLibrary.namedLists[response.oid]);
        }
      } catch (err) {
        PersonalizationUtils.loggerUtils.error(err.message, err.details);
        if (typeof errcb === "function") {
          errcb(err);
        }
      }
    } else {
      PersonalizationUtils.loggerUtils.error(response.errorMessage, response);
      if (typeof errcb === "function") {
        errcb(response);
      }
    }
  }
  if (actionType === "update" &amp;&amp; updateType === "Article" &amp;&amp; PersonalizationUtils.storeUtils.getArticleFromLibrary(oid, article.pages[0].url)) {
    callGigya = false;
  }
  try {
    if (userLibrary &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(userLibrary.namedLists) === "object" &amp;&amp; userLibrary.namedLists !== null) {
      if (callGigya) {
        PersonalizationUtils.loggerUtils.info("updating gigya store", newlibrary);
        gigya.ds.store(newlibrary);
      } else {
        PersonalizationUtils.loggerUtils.info("Article already exists in the Library", newlibrary);
      }
    } else {
      throw new Error("Unable to complete action", "userLibrary reference missing!");
    }
  } catch (err) {
    if (typeof errcb === "function") {
      errcb(err);
    }
    PersonalizationUtils.loggerUtils.error("could not complete the request", err);
  }
};
PersonalizationUtils.storeUtils.updateLibraryname = function (oid, libraryName, cb, errcb) {
  PersonalizationUtils.storeUtils.updateLibrary(oid, {
    name: libraryName
  }, cb, errcb, "update", "library");
};
PersonalizationUtils.storeUtils.createNewLibrary = function (libraryName, article, cb, errcb) {
  var newLibrary = {
    name: libraryName,
    pages: []
  };
  if (typeof article === "function") {
    errcb = cb;
    cb = article;
  }
  if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(article) === "object") {
    newLibrary.pages.push(article);
  }
  if (!PersonalizationUtils.accountUtils.isLoggedIn()) {
    PersonalizationUtils.loggerUtils.error("unauthenticated user.");
  }
  PersonalizationUtils.storeUtils.updateLibrary("auto", newLibrary, cb, errcb, "new", "library");
};
PersonalizationUtils.storeUtils.getArticleFromDashboardData = function (oid, url, articleType) {
  var dashboardData = PersonalizationUtils.storeUtils.getDashboardData();
  try {
    if (articleType === "pinnedArticle") {
      return underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].findWhere */ .Ay.findWhere(dashboardData[oid].pinnedArticles, {
        "url": url
      });
    }
    if (articleType === "deletedArticle") {
      return underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].findWhere */ .Ay.findWhere(dashboardData[oid].deletedArticles, {
        "url": url
      });
    }
  } catch (err) {
    PersonalizationUtils.loggerUtils.error("could not complete the request", err);
  }
};
PersonalizationUtils.storeUtils.updateDashboarddata = function (oid, InterestArticle, cb, errcb, actionType, updateType, articleType) {
  var userInfo = PersonalizationUtils.accountUtils.getInfo(),
    dashboarddata = PersonalizationUtils.storeUtils.getDashboardData() || {},
    newlibrary = {},
    newdata = underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].extend */ .Ay.extend({}, InterestArticle),
    callGigya = true;
  if (articleType === "pinnedArticle" &amp;&amp; newdata.pinnedArticles &amp;&amp; newdata.pinnedArticles.length) {
    newdata.pinnedArticles = underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].map */ .Ay.map(newdata.pinnedArticles, function (article) {
      article.url = article.url, article.savedDate = new Date().toISOString();
      return underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].pick */ .Ay.pick(article, "url", "savedDate");
    });
  }
  if (articleType === "deletedArticle" &amp;&amp; newdata.deletedArticles &amp;&amp; newdata.deletedArticles.length) {
    newdata.deletedArticles = underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].map */ .Ay.map(newdata.deletedArticles, function (article) {
      article.url = article.url, article.savedDate = new Date().toISOString();
      return underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].pick */ .Ay.pick(article, "url", "savedDate");
    });
  }
  if (actionType === "update" || actionType === "new") {
    newlibrary.updateBehavior = "arrayPush";
    newlibrary.callback = onSaveDashboardData;
  } else {
    newlibrary.updateBehavior = "replace";
    newlibrary.callback = onDeleteDashboardData;
  }
  newlibrary = underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].extend */ .Ay.extend(newlibrary, {
    type: "dashboarddata",
    oid: oid,
    uid: userInfo.UID,
    data: newdata
  });
  function onSaveDashboardData(response) {
    if (response.errorCode == 0) {
      try {
        if (oid !== "auto") {
          if (updateType === "Article") {
            if (articleType === "pinnedArticle") {
              if (!underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].isArray */ .Ay.isArray(dashboarddata[response.oid].pinnedArticles)) {
                dashboarddata[response.oid].pinnedArticles = [];
              }
              dashboarddata[response.oid].pinnedArticles.push(InterestArticle.pinnedArticles[0]);
            }
            if (articleType === "deletedArticle") {
              if (!underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].isArray */ .Ay.isArray(dashboarddata[response.oid].deletedArticles)) {
                dashboarddata[response.oid].deletedArticles = [];
              }
              dashboarddata[response.oid].deletedArticles.push(InterestArticle.deletedArticles[0]);
            }
          } else if (updateType === "dashboarddata") {
            dashboarddata[response.oid] = underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].extend */ .Ay.extend({}, dashboarddata[response.oid], InterestArticle);
          }
        } else {
          dashboarddata[response.oid] = InterestArticle;
        }
        PersonalizationUtils.storeUtils.setDashboardData(dashboarddata);
        if (typeof cb === "function") {
          cb(response.oid, dashboarddata[response.oid]);
        }
      } catch (err) {
        PersonalizationUtils.loggerUtils.error(err.message, err.details);
        if (typeof errcb === "function") {
          errcb(err);
        }
      }
    } else {
      PersonalizationUtils.loggerUtils.error(response.errorMessage, response);
      if (typeof errcb === "function") {
        errcb(response);
      }
    }
  }
  function onDeleteDashboardData(response) {
    if (response.errorCode === 0) {
      try {
        dashboarddata[response.oid] = InterestArticle;
        PersonalizationUtils.storeUtils.setDashboardData(dashboarddata);
        if (typeof cb === "function") {
          cb(response.oid, dashboarddata[response.oid]);
        }
      } catch (err) {
        PersonalizationUtils.loggerUtils.error(err.message, err.details);
        if (typeof errcb === "function") {
          errcb(err);
        }
      }
    } else {
      PersonalizationUtils.loggerUtils.error(response.errorMessage, response);
      if (typeof errcb === "function") {
        errcb(response);
      }
    }
  }
  var checkArticleTypeUrl;
  if (articleType === "pinnedArticle" &amp;&amp; actionType === "update") {
    checkArticleTypeUrl = InterestArticle.pinnedArticles[0].url;
  }
  if (articleType === "deletedArticle" &amp;&amp; actionType === "update") {
    checkArticleTypeUrl = InterestArticle.deletedArticles[0].url;
  }
  if (actionType === "update" &amp;&amp; updateType === "Article" &amp;&amp; PersonalizationUtils.storeUtils.getArticleFromDashboardData(oid, checkArticleTypeUrl, articleType)) {
    callGigya = false;
  }
  try {
    if (dashboarddata &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(dashboarddata) === "object" &amp;&amp; dashboarddata !== null) {
      if (callGigya) {
        PersonalizationUtils.loggerUtils.info("updating dashboarddata gigya store", newlibrary);
        gigya.ds.store(newlibrary);
      } else {
        PersonalizationUtils.loggerUtils.info("Article already exists in the dashboarddata", newlibrary);
      }
    } else {
      throw new Error("Unable to complete action", "dashboarddata reference missing!");
    }
  } catch (err) {
    if (typeof errcb === "function") {
      errcb(err);
    }
    PersonalizationUtils.loggerUtils.error("could not complete the dashboarddata request", err);
  }
};
PersonalizationUtils.storeUtils.createNewDashboardData = function (zthesId, functionArticle, cb, errcb) {
  var newInterest = {
      zthesId: zthesId,
      pinnedArticles: [],
      deletedArticles: []
    },
    articleType = null;
  if (typeof functionArticle === "function") {
    errcb = cb;
    cb = functionArticle;
  }
  if (!PersonalizationUtils.accountUtils.isLoggedIn()) {
    PersonalizationUtils.loggerUtils.error("unauthenticated user.");
  }
  PersonalizationUtils.storeUtils.updateDashboarddata("auto", newInterest, cb, errcb, "new", "dashboarddata", articleType);
};
PersonalizationUtils.storeUtils.saveArticleToDashboardData = function (oid, article, articleType, cb, errcb) {
  var newArticle = {};
  if (articleType === "pinnedArticle") {
    newArticle.pinnedArticles = [article];
  } else {
    newArticle.deletedArticles = [article];
  }
  PersonalizationUtils.storeUtils.updateDashboarddata(oid, newArticle, cb, errcb, "update", "Article", articleType);
};
PersonalizationUtils.storeUtils.deleteArticleFromDashboardData = function (oid, articleUrl, cb, errcb) {
  var dashboardData = PersonalizationUtils.storeUtils.getDashboardData();
  var dashboardOidArticles = dashboardData[oid];
  dashboardOidArticles = underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].pick */ .Ay.pick(dashboardOidArticles, "zthesId", "pinnedArticles", "deletedArticles");
  if (underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].isArray */ .Ay.isArray(dashboardOidArticles.pinnedArticles)) {
    dashboardOidArticles.pinnedArticles = underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].filter */ .Ay.filter(dashboardOidArticles.pinnedArticles, function (article) {
      return article.url !== articleUrl;
    });
  }
  PersonalizationUtils.storeUtils.updateDashboarddata(oid, dashboardOidArticles, cb, errcb, "delete", "Article", "pinnedArticle");
};
PersonalizationUtils.storeUtils.deletedArticles = function () {
  var dashboarddata = PersonalizationUtils.storeUtils.getDashboardData() || {},
    deletedArticles = Object.keys(dashboarddata).map(function (x) {
      return dashboarddata[x].deletedArticles;
    }).flat(),
    finalArray = deletedArticles.map(function (x) {
      return x.url;
    });
  finalArray = finalArray.filter(function (x, index) {
    return finalArray.indexOf(x) === index;
  });
  return finalArray || [];
};
PersonalizationUtils.storeUtils.saveArticleToLibrary = function (libraryId, article, cb, errcb, selectedListNameTracking, tracking, articleSaveLocation) {
  var newArticle = {
    pages: [article]
  };
  PersonalizationUtils.storeUtils.updateLibrary(libraryId, newArticle, cb, errcb, "update", "Article");
};
PersonalizationUtils.storeUtils.deleteArticlesFromLibrary = function (LibraryId, articles, cb, errcb) {
  var library = PersonalizationUtils.storeUtils.getLibraryById(LibraryId),
    articleUrls = [];
  library = underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].pick */ .Ay.pick(library, "name", "pages");
  if (underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].isArray */ .Ay.isArray(articles)) {
    articles.forEach(function (article) {
      var url = article.url.indexOf(locationObject.origin) &gt;= 0 ? article.url.substring(locationObject.origin.length) : article.url;
      articleUrls.push(url);
    });
  }
  if (underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].isArray */ .Ay.isArray(library.pages)) {
    library.pages = underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].filter */ .Ay.filter(library.pages, function (article) {
      return articleUrls.indexOf(article.url) === -1;
    });
  }
  PersonalizationUtils.storeUtils.updateLibrary(LibraryId, library, cb, errcb, "delete", "Article");
};
PersonalizationUtils.storeUtils.deleteArticleFromLibrary = function (LibraryId, articleUrl, cb, errcb) {
  var library = PersonalizationUtils.storeUtils.getLibraryById(LibraryId);
  library = underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].pick */ .Ay.pick(library, "name", "pages");
  if (underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].isArray */ .Ay.isArray(library.pages)) {
    var url = articleUrl.indexOf(locationObject.origin) &gt;= 0 ? articleUrl.substring(locationObject.origin.length) : articleUrl;
    library.pages = underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].filter */ .Ay.filter(library.pages, function (article) {
      return article.url !== url;
    });
  }
  PersonalizationUtils.storeUtils.updateLibrary(LibraryId, library, cb, errcb, "delete", "Article");
};
PersonalizationUtils.storeUtils.getLibraryIdByName = function (libraryName) {
  var userLibrary = PersonalizationUtils.storeUtils.getUserLibrary(),
    key;
  for (var library in userLibrary.namedLists) {
    if (userLibrary.namedLists[library].name.toLowerCase() === libraryName.toLowerCase()) {
      key = library;
    }
  }
  return key;
};
PersonalizationUtils.storeUtils.getLibraryById = function (libraryId) {
  if (libraryId === "all") {
    return underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].extend */ .Ay.extend({}, {
      oid: "all",
      name: "all",
      pages: PersonalizationUtils.storeUtils.getAllArticles()
    });
  }
  if (libraryId) {
    var userLibrary = PersonalizationUtils.storeUtils.getUserLibrary();
    return userLibrary.namedLists[libraryId];
  }
  return false;
};
PersonalizationUtils.storeUtils.getLibraryByName = function (libraryName) {
  var userLibrary = PersonalizationUtils.storeUtils.getUserLibrary(),
    key;
  for (var library in userLibrary.namedLists) {
    if (userLibrary.namedLists[library].name.toLowerCase() === libraryName.toLowerCase()) {
      key = library;
    }
  }
  if (key) {
    return userLibrary.namedLists[key];
  }
  return false;
};
PersonalizationUtils.storeUtils.getRemovedArticles = function (oid) {
  var library = PersonalizationUtils.storeUtils.getLibraryById(oid),
    removed = [];
  library.pages.forEach(function (article) {
    if (!article.active) {
      removed.push(article);
    }
  });
  return removed;
};
PersonalizationUtils.storeUtils.getArticleCountByLibrary = function (libraryId) {
  var userLibrary = PersonalizationUtils.storeUtils.getUserLibrary();
  if (libraryId === "all") {
    return PersonalizationUtils.storeUtils.getAllArticles().length;
  }
  if (userLibrary.namedLists[libraryId] &amp;&amp; userLibrary.namedLists[libraryId].pages &amp;&amp; userLibrary.namedLists[libraryId].pages.length) {
    return userLibrary.namedLists[libraryId].pages.length;
  } else {
    return 0;
  }
};
PersonalizationUtils.storeUtils.getArticleSaveLimit = function () {
  var userLibrary = PersonalizationUtils.storeUtils.getUserLibrary();
  return userLibrary.limit ? userLibrary.limit : 1000;
};
PersonalizationUtils.storeUtils.getAllArticles = function () {
  var userLibrary = PersonalizationUtils.storeUtils.getUserLibrary(),
    pages = [];
  if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(userLibrary) === "object" &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(userLibrary.namedLists) === "object") {
    for (var library in userLibrary.namedLists) {
      if (underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].isArray */ .Ay.isArray(userLibrary.namedLists[library].pages)) {
        for (var i = 0; i &lt; userLibrary.namedLists[library].pages.length; i++) {
          userLibrary.namedLists[library].pages[i].oid = library;
        }
        pages = underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].union */ .Ay.union(pages, userLibrary.namedLists[library].pages);
      }
    }
  }
  return pages;
};
PersonalizationUtils.storeUtils.getSharedList = function () {
  underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].template */ .Ay.template(PersonalizationUtils.constants.getSharedListServiceURL)(data);
};
PersonalizationUtils.storeUtils.shareList = function () {
  return true;
};
PersonalizationUtils.storeUtils.hasInactive = function (libraryId) {
  var library = PersonalizationUtils.storeUtils.getLibraryById(libraryId),
    hasInactive = false;
  for (var i = 0; i &lt; library.pages.length; i++) {
    if (typeof library.pages[i].active !== "undefined" &amp;&amp; library.pages[i].active === false &amp;&amp; hasInactive === false) {
      hasInactive = true;
    }
  }
  return hasInactive;
};
PersonalizationUtils.storeUtils.moveArticle = function (fromLibrary, toLibrary, article, cb, errcb) {
  PersonalizationUtils.storeUtils.deleteArticleFromLibrary(fromLibrary, article.url, function (res) {
    var newArticle = {
      pages: [article]
    };
    PersonalizationUtils.storeUtils.updateLibrary(toLibrary, newArticle, cb, errcb, "update", "Article");
  }, errcb);
};
PersonalizationUtils.storeUtils.findArticleByUrl = function (url) {
  if (url) {
    var allArticles = PersonalizationUtils.storeUtils.getAllArticles();
    var url = url.indexOf(locationObject.origin) &gt;= 0 ? url.substring(locationObject.origin.length) : url;
    return underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].filter */ .Ay.filter(allArticles, function (article) {
      if (article.url === url) {
        return true;
      }
    });
  }
};
PersonalizationUtils.storeUtils.fetchBannerArticles = function (params, type, cb) {
  var snp = window.kpmgPersonalize.snp,
    snpUrl = snp.url,
    mostviewed = window.appSearchConfigs &amp;&amp; window.appSearchConfigs.sortParamsMapping &amp;&amp; window.appSearchConfigs.sortParamsMapping.mostviewed || "",
    getSortType = snp.params.sortType.split("=")[1].indexOf("mostviewed") !== -1 ? mostviewed : snp.params.sortType.split("=")[1],
    type = type === "personalized-results" ? "results" : type,
    q4val = snpUrl.split("&amp;q4=")[1].split("&amp;")[0],
    UtilsEngineName = _common_utils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.getEngineName(),
    personalizationUtilsService = new _cqservice_js__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A("bannerArtciles");
  snpUrl = snpUrl.replace("&amp;q4=" + q4val, "&amp;q4=" + params.bannerFlag).replace("&lt;sites&gt;", params.site).replace("&lt;zthesIDs&gt;", params.zethisIds).replace("&lt;sortType&gt;", "sort=" + getSortType);
  var bannerArtcilesReqBody = _common_utils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.getRequestBody(snpUrl);
  personalizationUtilsService.appSearch(UtilsEngineName, bannerArtcilesReqBody).then(function (data) {
    var results = data[type];
    cb(results);
  })["catch"](function (error) {
    console.log("Error Code:" + error.status + ", encountered during esearch in PersonalizationUtils");
  });
};
PersonalizationUtils.storeUtils.storeBannerArticlesInLocalStorage = function (articles) {
  var locale = window.kpmgPersonalize.snp.params,
    localeKey = locale.countryCode + "/" + locale.languageCode,
    bannerArticles = {};
  if (_common_utils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.storageAvailable("localStorage")) {
    bannerArticles = !!localStorage.bannerArticles ? JSON.parse(localStorage.bannerArticles) : {};
  }
  bannerArticles[localeKey] = {
    home: [],
    dashboard: []
  };
  articles = underscore__WEBPACK_IMPORTED_MODULE_1__/* ["default"].shuffle */ .Ay.shuffle(articles).slice(0, 2);
  articles.forEach(function (article, i) {
    if (i % 2 === 0) {
      bannerArticles[localeKey].home.push(article);
    } else {
      bannerArticles[localeKey].dashboard.push(article);
    }
  });
  if (_common_utils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.storageAvailable("localStorage")) {
    localStorage.bannerArticles = JSON.stringify(bannerArticles);
  }
};
PersonalizationUtils.storeUtils.retrieveBannerArticleFromLocalStorage = function (pageType) {
  var locale = window.kpmgPersonalize.snp.params,
    localeKey = locale.countryCode + "/" + locale.languageCode,
    bannerArticles;
  if (_common_utils_js__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A.storageAvailable("localStorage")) {
    if (localStorage.bannerArticles) {
      bannerArticles = JSON.parse(localStorage.bannerArticles);
      if (bannerArticles[localeKey] &amp;&amp; Array.isArray(bannerArticles[localeKey][pageType])) {
        return bannerArticles[localeKey][pageType][0];
      }
    }
  }
};
function _updateCookieValue(c_name, trackingSelection, value, privacyCookieKey, path) {
  var oldExpiryDate = _plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.cookie(privacyCookieKey).split("expires=")[1].split(";")[0];
  var exdate = new Date(oldExpiryDate);
  var c_value = "isTrackEnabled=" + trackingSelection + "&amp;value=" + escape(value) + ";expires=" + oldExpiryDate + ";path=/";
  _plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A.cookie(c_name, c_value, {
    path: path,
    expires: exdate
  });
}
window.kpmgPersonalize = window.kpmgPersonalize || {};
window.kpmgPersonalize.personalizationUtils = PersonalizationUtils;


/***/ }),

/***/ 8081:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) =&gt; {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A: () =&gt; (/* binding */ plus$2)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(388);
/* harmony import */ var _babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(3954);
/* harmony import */ var _babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(991);
/* harmony import */ var _babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(5501);
/* harmony import */ var _babel_runtime_helpers_wrapNativeSuper__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(8614);
/* harmony import */ var _babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(3029);
/* harmony import */ var _babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(2901);
/* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(4467);
/* harmony import */ var _babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(5458);
/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(2284);










function _callSuper(t, o, e) { return o = (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(o), (0,_babel_runtime_helpers_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(t).constructor) : o.apply(t, e)); }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function _superPropGet(t, e, o, r) { var p = (0,_babel_runtime_helpers_get__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .A)((0,_babel_runtime_helpers_getPrototypeOf__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A)(1 &amp; r ? t.prototype : t), e, o); return 2 &amp; r &amp;&amp; "function" == typeof p ? function (t) { return p.apply(o, t); } : p; }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r &amp;&amp; (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r &lt; arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol &amp;&amp; r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e &amp;&amp; r &amp;&amp; "number" == typeof r.length) { t &amp;&amp; (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n &gt;= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t &amp;&amp; r.constructor &amp;&amp; (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a &gt; r.length) &amp;&amp; (a = r.length); for (var e = 0, n = Array(a); e &lt; a; e++) n[e] = r[e]; return n; }
var libUtils = {
  options: {
    singleTag: /^&lt;([a-z][^\/\0&gt;:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?&gt;(?:&lt;\/\1&gt;|)$/i,
    winDoc: window.document,
    winObj: document.defaultView,
    isCamelCase: /[A-Z]+/g,
    regxClass: /\.+/,
    regxId: /\#+/,
    regxHasAlphabets: /[^\-0-9]+/g,
    regxAttributeSelector: /^\[.+=?.*\]$/,
    isColon: /\:/,
    regxHasDigits: /\d+/g
  },
  isNode: function isNode(o) {
    //Returns true if it is a DOM node
    return (typeof Node === "undefined" ? "undefined" : (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(Node)) === "object" ? o instanceof Node : o &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(o) === "object" &amp;&amp; typeof o.nodeType === "number" &amp;&amp; typeof o.nodeName === "string";
  },
  isElement: function isElement(o) {
    //Returns true if it is a DOM element
    return (typeof HTMLElement === "undefined" ? "undefined" : (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(HTMLElement)) === "object" ? o instanceof HTMLElement :
    //DOM2
    o &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(o) === "object" &amp;&amp; o !== null &amp;&amp; o.nodeType === 1 &amp;&amp; typeof o.nodeName === "string";
  },
  addEvent: function addEvent(_self, container, event, callback, onlyOnce) {
    _self.prevObj = container;
    var eventName = event &amp;&amp; event !== "template.loaded" &amp;&amp; event.indexOf(".bs.") === -1 ? event.split('.')[0] : event;
    container.forEach(function (dom) {
      if (!dom.namespace) {
        dom.namespace = {};
      }
      dom.addEventListener(eventName, executeThis, false);
      if (dom.namespace[event]) {
        dom.namespace[event].push(executeThis);
      } else {
        dom.namespace[event] = [executeThis];
      }
      //

      function executeThis(e) {
        var callFunction = true;
        if (onlyOnce) {
          var custAttr = 'custom' + eventName;
          if (dom[custAttr]) {
            dom[custAttr].eventLen = dom[custAttr].eventLen + 1;
          } else {
            dom[custAttr] = {};
            dom[custAttr].eventLen = 1;
            dom[custAttr].fun = callback;
          }
          if (dom[custAttr].eventLen &gt; 1) {
            delete dom[custAttr];
            callFunction = false;
            dom.removeEventListener(eventName, executeThis, false);
          }
        }
        if (callFunction) {
          callback.call(dom, e);
        }
      }
    });
  },
  handleMultiAddEvents: function handleMultiAddEvents(_self, events, domElem, callback, onlyOnce) {
    var _this = this;
    events.forEach(function (event) {
      if (event &amp;&amp; onlyOnce) {
        _this.addEvent(_self, domElem, event, callback, onlyOnce);
      } else if (event) {
        _this.addEvent(_self, domElem, event, callback);
      }
    });
  },
  addDelegateEvent: function addDelegateEvent(_self, container, selector, event, callback) {
    var data = arguments.length &gt; 5 &amp;&amp; arguments[5] !== undefined ? arguments[5] : false;
    var eventName = event &amp;&amp; event !== "template.loaded" ? event.split('.')[0] : event;
    // modify selector to include both the selected element and child elements of the selected element
    var matchSelector = [],
      realTarget,
      filter = '',
      searchRegExp = '',
      replaceWith = '';

    // support for :not operator
    if (selector.indexOf(':not') &gt; -1) {
      filter = selector.substring(selector.indexOf(':') + 1);
      selector = selector.split(':')[0];
      // https://stackoverflow.com/questions/17779744/regular-expression-to-get-a-string-between-parentheses-in-javascript/17780281
      var regExp = /\(([^)]+)\)/;
      filter = regExp.exec(filter)[1];
      if (filter &amp;&amp; filter.charAt(filter.length - 1) !== "\"" &amp;&amp; filter.charAt(filter.length - 1) !== "'") {
        filter = "\"".concat(filter.replace(/\"/g, "'"), "\"");
      }
      filter = JSON.parse(filter);
    }
    /**
     * input fields - selectors mentioned with :(colon)
     * will be replaced with respective selectors
     */
    if (this.options.isColon.test(selector)) {
      if (selector.indexOf(':button') &gt; -1) {
        searchRegExp = /\:button/gi;
        replaceWith = "button, input[type='button']";
        selector = selector.replace(searchRegExp, replaceWith);
      }
      if (selector.indexOf(':input') &gt; -1) {
        searchRegExp = /\:input/gi;
        replaceWith = "button, input, select, textarea";
        selector = selector.replace(searchRegExp, replaceWith);
      }
      if (selector.indexOf(':checkbox') &gt; -1) {
        searchRegExp = /\:checkbox/gi;
        replaceWith = "[type='checkbox']";
        selector = selector.replace(searchRegExp, replaceWith);
      }
    }
    var _iterator = _createForOfIteratorHelper(selector.split(",")),
      _step;
    try {
      for (_iterator.s(); !(_step = _iterator.n()).done;) {
        var s = _step.value;
        if (s &amp;&amp; s.indexOf(':') === -1) {
          matchSelector.push(s);
          matchSelector.push("".concat(s, " *")); // e.g. '#parent *' to match all children
        }
      }
    } catch (err) {
      _iterator.e(err);
    } finally {
      _iterator.f();
    }
    matchSelector = matchSelector.join(",");
    container.forEach(function (c) {
      if (!c.namespace) {
        c.namespace = {};
      }
      c.addEventListener(eventName, executeThis, true);
      if (c.namespace[event]) {
        c.namespace[event].push(executeThis);
      } else {
        c.namespace[event] = [executeThis];
      }
      // keep track of delegate events added to c
      if (!c.delegateSelectors) {
        c.delegateSelectors = [[selector, event, executeThis]];
      } else {
        c.delegateSelectors.push([selector, event, executeThis]);
      }
      function executeThis(e) {
        if (matchSelector.length &amp;&amp; e.target &amp;&amp; e.target.matches(matchSelector)) {
          // confirm if element is parent element or child element
          if (e.target.matches(selector)) {
            realTarget = e.target;
          } else {
            var tagName = e.target.tagName.toLowerCase();
            // if child element is anchor or button with attached event ignore
            if (['button', 'input'].indexOf(tagName) !== -1 || e.target.namespace &amp;&amp; e.target.namespace[event]) {
              return;
            }
            // find which parent the child element belongs to
            var parents = document.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector));
            var _iterator2 = _createForOfIteratorHelper(parents),
              _step2;
            try {
              for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
                var p = _step2.value;
                if (p.contains(e.target)) {
                  realTarget = p;
                }
              }
              // confirm child element is not within a more specific delegation parent with a diff namespace
            } catch (err) {
              _iterator2.e(err);
            } finally {
              _iterator2.f();
            }
            var _iterator3 = _createForOfIteratorHelper(c.delegateSelectors.filter(function (obj) {
                return obj[0] !== selector;
              })),
              _step3;
            try {
              for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
                var se = _step3.value;
                var results = realTarget.querySelectorAll(libUtils.escapeClassnameQueryCSS(se[0]));
                if (results.length) {
                  var _iterator4 = _createForOfIteratorHelper(results),
                    _step4;
                  try {
                    for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
                      var r = _step4.value;
                      if (r.contains(e.target) &amp;&amp; se[1] !== event) {
                        return;
                      }
                    }
                  } catch (err) {
                    _iterator4.e(err);
                  } finally {
                    _iterator4.f();
                  }
                }
              }
            } catch (err) {
              _iterator3.e(err);
            } finally {
              _iterator3.f();
            }
          }
          // confirm realTarget isn't included in not filter
          if (filter &amp;&amp; e.target.matches(filter)) {
            return;
          }
          // modify event targets to point to element which the event has occured rather than container
          var TARGET_METHODS = ["currentTarget"];
          var eventCopy = new Proxy(e, {
            get: function get(target, prop) {
              if (TARGET_METHODS.indexOf(prop) !== -1) {
                return realTarget;
              } else if (data &amp;&amp; prop === "data") {
                return data;
              } else {
                var value = target[prop];
                return typeof value == 'function' ? value.bind(target) : value;
              }
            }
          });
          callback.call(realTarget, eventCopy);
        }
      }
    });
  },
  handleMultiAddDelegateEvents: function handleMultiAddDelegateEvents(_self, events, container, selector, callback, data) {
    var _this2 = this;
    events.forEach(function (event) {
      if (event) {
        _this2.addDelegateEvent(_self, container, selector, event, callback, data);
      }
    });
  },
  removeEvent: function removeEvent(container, event, callback) {
    var eventName = event &amp;&amp; event !== "template.loaded" &amp;&amp; event.indexOf(".bs.") === -1 ? event.split('.')[0] : event;
    container.forEach(function (dom) {
      if (dom.namespace &amp;&amp; dom.namespace[event]) {
        var _iterator5 = _createForOfIteratorHelper(dom.namespace[event]),
          _step5;
        try {
          for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
            var _callback = _step5.value;
            dom.removeEventListener(eventName, _callback, false);
            // account for delegate events registered also
            dom.removeEventListener(eventName, _callback, true);
          }
        } catch (err) {
          _iterator5.e(err);
        } finally {
          _iterator5.f();
        }
        delete dom.namespace[event];
      }
    });
  },
  handleMultiRemoveDelegateEvents: function handleMultiRemoveDelegateEvents(events, domElem, selector) {
    var container = domElem;
    if (events) {
      events.forEach(function (event) {
        if (event) {
          var callbacks,
            eventName = event &amp;&amp; event !== "template.loaded" &amp;&amp; event.indexOf(".bs.") === -1 ? event.split('.')[0] : event;
          container.forEach(function (dom) {
            if (dom.delegateSelectors) {
              callbacks = dom.delegateSelectors.filter(function (ds) {
                return ds[0] === selector &amp;&amp; ds[1] === eventName;
              });
              var _iterator6 = _createForOfIteratorHelper(callbacks),
                _step6;
              try {
                var _loop = function _loop() {
                  var callback = _step6.value;
                  dom.removeEventListener(eventName, callback, false);
                  // account for delegate events registered also
                  dom.removeEventListener(eventName, callback, true);
                  // remove from namespace as well
                  if (dom.namespace[event]) dom.namespace[event] = dom.namespace[event].filter(function (fn) {
                    return fn !== callback;
                  });
                };
                for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
                  _loop();
                }
              } catch (err) {
                _iterator6.e(err);
              } finally {
                _iterator6.f();
              }
            }
          });
        }
      });
    } else {
      //off with no arguments
      container.forEach(function (dom) {
        if (dom.parentNode) {
          var elClone = dom.cloneNode(true);
          dom.parentNode.replaceChild(elClone, dom);
        }
      });
    }
  },
  handleMultiRemoveEvents: function handleMultiRemoveEvents(events, domElem, callback) {
    var _this3 = this;
    var container = domElem;
    if (events) {
      events.forEach(function (event) {
        if (event) _this3.removeEvent(domElem, event, callback);
      });
    } else {
      //off with no arguments
      container.forEach(function (dom) {
        if (dom.parentNode) {
          var elClone = dom.cloneNode(true);
          dom.parentNode.replaceChild(elClone, dom);
        }
      });
    }
  },
  updateWithParentSelector: function updateWithParentSelector(el, selector) {
    var selectors = [],
      domElem = [],
      patt = /^\&gt;[ (\.|\#)a-zA-Z]+/,
      newSelector = "";
    selector.split(',').forEach(function (item) {
      item = item.trim();
      if (patt.test(item)) {
        newSelector = libUtils.escapeClassnameQueryCSS(":scope " + item);
        domElem.push.apply(domElem, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(el.querySelectorAll(newSelector)));
      }
    });
    selectors = selector.split(',').filter(function (item) {
      item = item.trim();
      return item &amp;&amp; !patt.test(item);
    });
    selector = selectors.join(',');
    var p = new plus$2(selector, el);
    domElem.push.apply(domElem, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(p._domElem));
    return domElem;
  },
  getChildNodes: function getChildNodes(container, selector) {
    var _this4 = this;
    var domElem = [],
      getChilds = [],
      uniqueDom = [],
      patt = /\&gt;[ (\.|\#)a-zA-Z]+/;
    var hasChildSelector = patt.test(selector);
    container.forEach(function (eachContainer) {
      if (hasChildSelector) {
        var _domElem;
        getChilds = _this4.updateWithParentSelector(eachContainer, selector);
        (_domElem = domElem).push.apply(_domElem, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(getChilds));
      } else {
        var _domElem2;
        var p = new plus$2(selector, eachContainer);
        (_domElem2 = domElem).push.apply(_domElem2, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(p._domElem));
      }
    });
    uniqueDom = this.uniqueDom(domElem);
    domElem = uniqueDom;
    return domElem;
  },
  propertyCheck: function propertyCheck(property) {
    if (this.options.isCamelCase.test(property)) {
      var customProperty = [];
      property.split('').forEach(function (itm, index) {
        var customChar = '';
        if (itm === itm.toUpperCase()) {
          customChar = "-".concat(itm.toLowerCase());
          customProperty.push(customChar);
        } else customProperty.push(itm);
        property = customProperty.join('');
      });
    }
    return property;
  },
  scrollToY: function scrollToY(y, duration, element, callback) {
    // cancel if already on target position
    var callBackNotDone = true;
    var htmlElem = document.getElementsByTagName("HTML")[0];
    if (element.nodeName === "BODY" &amp;&amp; htmlElem.scrollToY &amp;&amp; htmlElem.scrollToY.length &gt; 0) {
      return;
    }
    element.scrollToY = element.scrollToY || [];
    if (callback &amp;&amp; typeof callback === 'function') {
      element.scrollToY.push(callback);
    }
    if (element.scrollTop === y) {
      if (element.scrollToY.length &gt; 0) {
        var _callback2 = element.scrollToY.shift();
        if (_callback2 &amp;&amp; typeof _callback2 === 'function') {
          _callback2.call();
        }
      }
      return;
    }
    var cosParameter = (element.scrollTop - y) / 2;
    var scrollCount = 0,
      oldTimestamp = null;
    function step(newTimestamp) {
      if (oldTimestamp !== null) {
        // if duration is 0 scrollCount will be Infinity
        scrollCount += Math.PI * (newTimestamp - oldTimestamp) / duration;
        if (scrollCount &gt;= Math.PI) {
          var _callback3 = element.scrollToY.length &gt; 0 ? element.scrollToY.shift() : undefined;
          if (_callback3 &amp;&amp; typeof _callback3 === 'function' &amp;&amp; callBackNotDone) {
            callBackNotDone = false;
            _callback3.call();
          }
          return element.scrollTop = y;
        }
        element.scrollTop = cosParameter + y + cosParameter * Math.cos(scrollCount);
      }
      oldTimestamp = newTimestamp;
      setTimeout(function () {
        window.requestAnimationFrame(step);
      }, 100);
    }
    window.requestAnimationFrame(step);
  },
  scrollToX: function scrollToX(x, duration, element, callback) {
    element.scrollToX = element.scrollToX || [];
    if (callback &amp;&amp; typeof callback === 'function') {
      element.scrollToX.push(callback);
    }
    // cancel if already on target position
    if (element.scrollLeft === x) {
      if (element.scrollToX.length &gt; 0) {
        var _callback4 = element.scrollToX.shift();
        if (_callback4 &amp;&amp; typeof _callback4 === 'function') {
          _callback4.call();
        }
      }
      return;
    }
    var cosParameter = (element.scrollLeft - x) / 2;
    var scrollCount = 0,
      oldTimestamp = null;
    function step(newTimestamp) {
      if (oldTimestamp !== null) {
        // if duration is 0 scrollCount will be Infinity
        scrollCount += Math.PI * (newTimestamp - oldTimestamp) / duration;
        if (scrollCount &gt;= Math.PI) {
          var _callback5 = element.scrollToX.length &gt; 0 ? element.scrollToX.shift() : undefined;
          if (_callback5 &amp;&amp; typeof _callback5 === 'function') {
            _callback5.call();
          }
          return element.scrollLeft = x;
        }
        element.scrollLeft = cosParameter + x + cosParameter * Math.cos(scrollCount);
      }
      oldTimestamp = newTimestamp;
      setTimeout(function () {
        window.requestAnimationFrame(step);
      }, 100);
    }
    window.requestAnimationFrame(step);
  },
  setTransition: function setTransition(dom, styles, speed, easing, callback) {
    // pop customAnimateDelay to avoid rising towards infinity
    var _thisLibUtils = this;
    if (dom.customAnimateDelay) {
      dom.customAnimateDelay.shift();
      if (dom.customAnimateDelay.length === 0) delete dom.customAnimateDelay;
    }
    if (styles.slide &amp;&amp; dom.customSlide &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(dom.customSlide) === 'object') {
      var customSlide = _objectSpread({}, dom.customSlide);
      dom.style.transition = "";
      dom.style.transition = "all ".concat(speed, "ms ").concat(easing);
      setTimeout(function () {
        for (var property in customSlide) {
          var customProperty = _thisLibUtils.propertyCheck(property);
          dom.style[customProperty] = customSlide[property];
        }
      }, 50);
    } else {
      dom.style.transition = "all ".concat(speed, "ms ").concat(easing);
      for (var property in styles) {
        var customProperty = this.propertyCheck(property);
        if (/^[1-9]\d*(\.\d+)?$/.test(styles[property]) === true) {
          styles[property] = this.getUnits(styles[property], property);
        } else if (typeof styles[property] === 'string' &amp;&amp; !!styles[property].match(/(\+|\-)\=\d/gi)) {
          styles[property] = this.updateStyle(dom, styles[property], customProperty);
        } else if (typeof styles[property] === 'string' &amp;&amp; !!styles[property].match(/^toggle/gi)) {
          //this is for toggle some style
          styles[property] = this.toggleStyle(dom, customProperty);
        }
        if (property === 'scrollTop' || property === 'scrollLeft') {
          var scrollElem = void 0,
            duration = speed,
            desiredPoint = typeof styles[property] === 'string' ? parseInt(styles[property]) : styles[property];
          // Chrome, Firefox, IE and Opera places the overflow at the &lt;html&gt; level, unless else is specified.
          scrollElem = dom.nodeName === 'HTML' ? document.documentElement : dom;
          if (callback &amp;&amp; typeof callback === 'function') dom.transitionEnd = [];
          if (property === 'scrollTop') this.scrollToY(desiredPoint, duration, scrollElem, callback);else if (property === 'scrollLeft') this.scrollToX(desiredPoint, duration, scrollElem, callback);
        } else {
          dom.style[customProperty] = styles[property];
        }
      }
    }
  },
  setTransitionEnd: function setTransitionEnd(dom, callback) {
    var htmlElem = document.getElementsByTagName("HTML")[0];
    if (dom.nodeName === "BODY" &amp;&amp; htmlElem.transitionEnd &amp;&amp; htmlElem.transitionEnd.length &gt; 0) {
      return;
    }
    dom.transitionEnd = dom.transitionEnd || [];
    if (typeof callback === 'function') {
      dom.transitionEnd.push(callback);
    } else {
      dom.transitionEnd.push('no function');
    }
    dom.ontransitionend = function () {
      if (dom.customAnimateDelay) {
        dom.customAnimateDelay.shift();
        if (dom.customAnimateDelay.length === 0) delete dom.customAnimateDelay;
      }
      if (dom.customHide &amp;&amp; dom.customHide.length &gt; 0) {
        var toggleVal = dom.customHide[dom.customHide.length - 1];
        dom.customHide.shift();
        dom.style.display = toggleVal;
        clearDomStyles(dom);
      }
      if (dom.customSlide &amp;&amp; dom.slideDown) {
        delete dom.slideDown;
        delete dom.customSlide;
        dom.style.opacity = "";
        clearDomStyles(dom);
      } else if (dom.customSlide) {
        delete dom.customSlide;
        dom.style.opacity = "";
      }
      function clearDomStyles(dom) {
        dom.style.marginTop = "";
        dom.style.marginBottom = "";
        dom.style.paddingTop = "";
        dom.style.paddingBottom = "";
        dom.style.overflow = "";
        dom.style.height = "";
        dom.style.transition = "";
      }
      var transitionEndFun;
      if (dom.transitionEnd &amp;&amp; dom.transitionEnd.length &gt; 0) {
        transitionEndFun = dom.transitionEnd.shift();
        if (typeof transitionEndFun === 'function') transitionEndFun();
      }
    };
  },
  setTransitionStart: function setTransitionStart(dom, callback) {
    dom.transitionStart = dom.transitionStart || [];
    if (typeof callback === 'function') {
      dom.transitionStart.push(callback);
    } else {
      dom.transitionStart.push('no function');
    }
    if (dom.customShow &amp;&amp; dom.customShow.length &gt; 0) {
      var toggleVal = dom.customShow[dom.customShow.length - 1];
      dom.customShow.shift();
      dom.style.display = toggleVal;
    }
    dom.ontransitionstart = function () {
      var transitionStratFun;
      if (dom.transitionStart &amp;&amp; dom.transitionStart.length &gt; 0) {
        transitionStratFun = dom.transitionStart.shift();
        if (typeof transitionStratFun === 'function') transitionStratFun();
      }
    };
  },
  setTransitionCancel: function setTransitionCancel(dom, callback) {
    dom.transitionCancel = dom.transitionCancel || [];
    if (typeof callback === 'function') {
      dom.transitionCancel.push(callback);
    } else {
      dom.transitionCancel.push('no function');
    }
    dom.ontransitioncancel = function () {
      var transitionCancelFun;
      if (dom.transitionCancel &amp;&amp; dom.transitionCancel.length &gt; 0) {
        transitionCancelFun = dom.transitionCancel.shift();
        if (typeof transitionCancelFun === 'function') transitionCancelFun();
      }
    };
  },
  getDelayedTime: function getDelayedTime(winObj) {
    var delayTime = 0;
    if (winObj._domElem.delayTime) {
      delayTime = winObj._domElem.delayTime;
      this.resetDom(winObj);
      return delayTime;
    }
    return delayTime;
  },
  resetDom: function resetDom(winDom) {
    delete winDom._domElem.delayTime;
    container.forEach(function (dom) {
      if (dom.transitionCancel &amp;&amp; dom.transitionCancel.length === 0) delete dom.transitionCancel;
      if (dom.transitionStart &amp;&amp; dom.transitionStart.length === 0) delete dom.transitionStart;
      if (dom.transitionEnd &amp;&amp; dom.transitionEnd.length === 0) delete dom.transitionEnd;
      if (dom.customShow &amp;&amp; dom.customShow.length === 0) delete dom.customShow;
      if (dom.customHide &amp;&amp; dom.customHide.length === 0) delete dom.customHide;
      if (dom.customAnimateDelay &amp;&amp; dom.customAnimateDelay.length === 0) delete dom.customAnimateDelay;
    });
  },
  getStyle: function getStyle(el, styleProp) {
    var value,
      defaultView = el &amp;&amp; el.ownerDocument ? el.ownerDocument.defaultView : "";
    // W3C standard way:
    if (defaultView &amp;&amp; defaultView.getComputedStyle) {
      // sanitize property name to css notation (hypen separated words eg. font-Size)
      styleProp = styleProp.replace(/([A-Z])/g, "-$1").toLowerCase();
      return defaultView.getComputedStyle(el, null).getPropertyValue(styleProp);
    } else if (el &amp;&amp; el.currentStyle) {
      // IE
      // sanitize property name to camelCase
      styleProp = styleProp.replace(/\-(\w)/g, function (str, letter) {
        return letter.toUpperCase();
      });
      value = el.currentStyle[styleProp];
      // convert other units to pixels on IE
      if (/^\d+(em|pt|%|ex)?$/i.test(value)) {
        return function (value) {
          var oldLeft = el.style.left,
            oldRsLeft = el.runtimeStyle.left;
          el.runtimeStyle.left = el.currentStyle.left;
          el.style.left = value || 0;
          value = "".concat(el.style.pixelLeft, "px");
          el.style.left = oldLeft;
          el.runtimeStyle.left = oldRsLeft;
          return value;
        }(value);
      }
      return value;
    } else if (defaultView === null) {
      return el.style[styleProp]; // temp fix for reading styles of DOMParser elements not inside the window document
    }
  },
  getUnits: function getUnits(val, property) {
    if (property &amp;&amp; property.match(/font-weight|fontweight|opacity|z-index|tab-size|order|line-height|lineHeight|grid-row-start|flex-shrink|flex-grow|column-count/gi)) {
      return val;
    } else if (/^[1-9]\d*(\.\d+)?$/.test(val) === true) {
      val = "".concat(val, "px");
    }
    return val;
  },
  updateStyle: function updateStyle(dom, val, property) {
    var oldVal = this.getStyle(dom, property),
      newVal,
      diffVal = val.split('=')[1] ? val.split('=')[1] : 0;
    newVal = !!val.match(/^\+/) ? parseInt(oldVal) + parseInt(diffVal) : parseInt(oldVal) - parseInt(diffVal);
    newVal = this.getUnits(newVal, property);
    return newVal;
  },
  toggleStyle: function toggleStyle(dom, property) {
    var currentVal = this.getStyle(dom, property),
      newVal,
      setTheOldValue,
      toggleName = 'toggle' + property;
    setTheOldValue = dom[toggleName] ? dom[toggleName] : currentVal;
    dom[toggleName] = parseInt(currentVal);
    newVal = parseInt(currentVal) &gt; 0 ? 0 : setTheOldValue;
    newVal = this.getUnits(newVal, property);
    return newVal;
  },
  applyOffset: function applyOffset(dom, offsetVal) {
    var position = this.getStyle(dom, 'position'),
      domOffset = libUtils.getOffset(dom),
      domleft = domOffset.left,
      domMarginTop = domOffset.top;
    if (position === 'absolute') {
      dom.style['top'] = "".concat(offsetVal.top, " px");
      dom.style['left'] = "".concat(offsetVal.left, " px");
    } else {
      if (position !== 'relative') dom.style['position'] = 'relative';
      dom.style['top'] = "".concat(offsetVal.top - domMarginTop, " px");
      dom.style['left'] = "".concat(offsetVal.left - domleft, " px");
    }
  },
  offsetAlreadyAvailable: function offsetAlreadyAvailable(dom, offsetVal) {
    var offsetApplied = false;
    if (dom.custmOffSet) {
      if (dom.custmOffSet.left === offsetVal.left &amp;&amp; dom.custmOffSet.top === offsetVal.top) offsetApplied = true;
    } else {
      dom.custmOffSet = offsetVal;
    }
    if (!offsetApplied) {
      this.applyOffset(dom, offsetVal);
      dom.custmOffSet = offsetVal;
    }
  },
  getOffset: function getOffset(el) {
    var box = el.getBoundingClientRect();
    return {
      top: box.top + window.pageYOffset - document.documentElement.clientTop,
      left: box.left + window.pageXOffset - document.documentElement.clientLeft
    };
  },
  replaceWithHelper: function replaceWithHelper(dom, selector, self) {
    var content = selector;
    if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(selector) === 'object') {
      content = selector._domElem ? selector.get(0).outerHTML : selector.outerHTML;
    }
    dom.insertAdjacentHTML("afterend", content);
    libUtils.removeElement(dom, self);
  },
  wrapWith: function wrapWith(container, selectorContainer) {
    container.forEach(function (dom) {
      selectorContainer.innerHTML = dom.outerHTML;
      dom.outerHTML = selectorContainer.outerHTML;
    });
  },
  wrapAll: function wrapAll(container, wrapper, self) {
    if (container[0] &amp;&amp; wrapper) {
      wrapper.innerHTML = "";
      var domOuterHtml = [];
      container.forEach(function (dom) {
        domOuterHtml.push(dom.outerHTML);
      });
      wrapper.innerHTML = domOuterHtml.join("");
      container[0].insertAdjacentHTML("beforebegin", wrapper.outerHTML);
      container.forEach(function (dom) {
        libUtils.removeElement(dom, self);
      });
    }
  },
  wrapInner: function wrapInner(container, wrapper) {
    container.forEach(function (dom) {
      wrapper.innerHTML = dom.innerHTML;
      dom.innerHTML = wrapper.outerHTML;
    });
  },
  filterHelper: function filterHelper(param, selectedVal, container, itsClass, itsId, plusObjDomElem) {
    var _self = this;
    container.forEach(function (dom) {
      plusObjDomElem = _self.getSelectionList(itsId, itsClass, selectedVal, param, dom, plusObjDomElem);
    });
    return plusObjDomElem;
  },
  reverseFilterHelper: function reverseFilterHelper(param, selectedVal, container, itsClass, itsId, itsAttributeSelector) {
    var alternativeArray = [],
      libOptions = this.options;
    container.forEach(function (dom) {
      alternativeArray.push(dom);
      if (itsId &amp;&amp; selectedVal &amp;&amp; dom.id === selectedVal) {
        if (itsClass) {
          var classValues = param.split('.'),
            tempArray = [],
            hasClassName = false;
          classValues.forEach(function (className) {
            var getClassName = "";
            getClassName = className ? libOptions.regxId.test(className) ? className.split('#')[0] : className : "";
            if (getClassName) {
              tempArray.push(getClassName);
            }
          });
          tempArray.forEach(function (className, i) {
            if (i === 0 &amp;&amp; dom.classList.contains(className)) {
              hasClassName = true;
            } else if (dom.classList.contains(className) &amp;&amp; hasClassName) {
              hasClassName = true;
            } else {
              hasClassName = false;
            }
          });
          if (hasClassName) {
            alternativeArray.splice(alternativeArray.length - 1, 1);
          }
        } else {
          alternativeArray.splice(alternativeArray.length - 1, 1);
        }
      } else if (!itsId &amp;&amp; itsClass &amp;&amp; selectedVal.length) {
        var _hasClassName = false;
        selectedVal.forEach(function (className, i) {
          if (i === 0 &amp;&amp; dom.classList.contains(className)) {
            _hasClassName = true;
          } else if (dom.classList.contains(className) &amp;&amp; _hasClassName) {
            _hasClassName = true;
          } else {
            _hasClassName = false;
          }
        });
        if (_hasClassName) {
          alternativeArray.splice(alternativeArray.length - 1, 1);
        }
      } else if (!itsId &amp;&amp; !itsClass &amp;&amp; itsAttributeSelector &amp;&amp; selectedVal.length) {
        if (dom.matches(selectedVal)) {
          alternativeArray.splice(alternativeArray.length - 1, 1);
        }
      } else if (!itsId &amp;&amp; !itsClass &amp;&amp; !itsAttributeSelector &amp;&amp; dom.nodeName.toLowerCase() === param.trim().toLowerCase()) {
        alternativeArray.splice(alternativeArray.length - 1, 1);
      }
    });
    return alternativeArray;
  },
  hasChilds: function hasChilds(container, selector) {
    var domElem = [];
    selector = libUtils.escapeClassnameQueryCSS(selector);
    container.forEach(function (eachContainer) {
      if (eachContainer.querySelector(selector) !== null) {
        var eachSelector = eachContainer.querySelectorAll(selector);
        if (eachSelector.length &gt; 0) domElem.push(eachContainer);
      }
    });
    return domElem;
  },
  uniqueDom: function uniqueDom(domElement) {
    var uniqueDoms = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElement));
    return uniqueDoms;
  },
  nextAllHelper: function nextAllHelper(param, selectedVal, container, itsClass, itsId, plusObjDomElem) {
    var _self = this;
    container.forEach(function (dom) {
      var sibling = dom.nextElementSibling;
      while (sibling) {
        if (sibling.nodeType === 1) {
          plusObjDomElem = _self.getSelectionList(itsId, itsClass, selectedVal, param, sibling, plusObjDomElem);
        }
        sibling = sibling.nextElementSibling;
      }
    });
    return plusObjDomElem;
  },
  allParentsHelper: function allParentsHelper(param, selectedVal, container, itsClass, itsId, plusObjDomElem) {
    var _self = this;
    container.forEach(function (dom) {
      var parent = dom.parentElement;
      while (parent) {
        if (parent.nodeType === 1) {
          plusObjDomElem = _self.getSelectionList(itsId, itsClass, selectedVal, param, parent, plusObjDomElem);
        }
        parent = parent.parentElement;
      }
    });
    return plusObjDomElem;
  },
  prevAllHelper: function prevAllHelper(param, selectedVal, container, itsClass, itsId, plusObjDomElem) {
    var _self = this;
    container.forEach(function (dom) {
      var sibling = dom.previousElementSibling;
      while (sibling) {
        if (sibling.nodeType === 1) {
          plusObjDomElem = _self.getSelectionList(itsId, itsClass, selectedVal, param, sibling, plusObjDomElem);
        }
        sibling = sibling.previousElementSibling;
      }
    });
    return plusObjDomElem;
  },
  sibilingAllHelper: function sibilingAllHelper(param, selectedVal, container, itsClass, itsId, plusObjDomElem) {
    var _self = this;
    container.forEach(function (dom) {
      var sibling = dom.parentElement.firstElementChild;
      while (sibling) {
        if (sibling.nodeType === 1 &amp;&amp; sibling !== dom) {
          plusObjDomElem = _self.getSelectionList(itsId, itsClass, selectedVal, param, sibling, plusObjDomElem);
        }
        sibling = sibling.nextElementSibling;
      }
    });
    return plusObjDomElem;
  },
  iterateArray: function iterateArray(propValue, prop, query) {
    var aaryLen = propValue.length,
      arryCounter = 0;
    var _iterator7 = _createForOfIteratorHelper(propValue),
      _step7;
    try {
      for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
        var value = _step7.value;
        var iterationValue = value;
        if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(iterationValue) === 'object' &amp;&amp; iterationValue.constructor === Object) {
          query = "".concat(this.iterateObject(iterationValue, prop, query, arryCounter));
        } else if (Array.isArray(iterationValue)) {
          query = "".concat(this.iterateArray(iterationValue, prop, query));
        } else query = "".concat(query).concat(prop, "[]=").concat(encodeURIComponent(value));
        arryCounter++;
        if (arryCounter &lt; aaryLen) {
          query = "".concat(query, "&amp;");
        }
      }
    } catch (err) {
      _iterator7.e(err);
    } finally {
      _iterator7.f();
    }
    return query;
  },
  iterateObject: function iterateObject(propValue, prop, query, arryCounter) {
    var objPropLen = Object.keys(propValue).length,
      objPropCounter = 0;
    for (var value in propValue) {
      if (propValue.hasOwnProperty(value)) {
        var iterationValue = propValue[value];
        if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(iterationValue) === 'object' &amp;&amp; iterationValue.constructor === Object) {
          query = "".concat(this.iterateObject(iterationValue, prop, query));
        } else if (Array.isArray(iterationValue)) {
          query = "".concat(this.iterateArray(iterationValue, prop, query));
        } else {
          if (arryCounter &gt;= 0) {
            query = "".concat(query).concat(prop, "[").concat(arryCounter, "][").concat(value, "]=").concat(encodeURIComponent(iterationValue));
            arryCounter = -1;
          } else query = "".concat(query).concat(prop, "[").concat(value, "]=").concat(encodeURIComponent(iterationValue));
        }
        objPropCounter++;
        if (objPropCounter &lt; objPropLen) {
          query = "".concat(query, "&amp;");
        }
      }
    }
    return query;
  },
  getIdName: function getIdName(selector) {
    if (this.options.regxId.test(selector)) {
      var idValue = selector.split('#')[1];
      if (this.options.regxClass.test(idValue)) {
        idValue = idValue.split('.')[0];
      }
      selector = idValue;
    } else {
      selector = "";
    }
    return selector;
  },
  getClassName: function getClassName(selector) {
    if (this.options.regxClass.test(selector)) {
      var classValues = selector.split('.'),
        tempArray = [],
        skipFirstSplit = false;
      if (!/^\./.test(selector)) {
        //if selector has mutiple class in a string, and the first split value is not a class name
        skipFirstSplit = true;
      }
      classValues.forEach(function (className, i) {
        if (i === 0 &amp;&amp; !skipFirstSplit &amp;&amp; className) {
          tempArray.push(className);
        } else if (i &gt; 0 &amp;&amp; className) {
          tempArray.push(className);
        }
      });
      selector = tempArray;
    } else {
      selector = "";
    }
    return selector;
  },
  getSelectionList: function getSelectionList(itsId, itsClass, selectedVal, param, dom, plusObjDomArray) {
    var libOptions = this.options;
    if (itsId &amp;&amp; selectedVal &amp;&amp; dom.id === selectedVal) {
      if (itsClass) {
        var classValues = param.split('.'),
          tempArray = [],
          hasClassName = false;
        classValues.forEach(function (className) {
          var getClassName = "";
          getClassName = className ? libOptions.regxId.test(className) ? className.split('#')[0] : className : "";
          if (getClassName) {
            tempArray.push(getClassName);
          }
        });
        tempArray.forEach(function (className, i) {
          if (i === 0 &amp;&amp; dom.classList.contains(className)) {
            hasClassName = true;
          } else if (dom.classList.contains(className) &amp;&amp; hasClassName) {
            hasClassName = true;
          } else {
            hasClassName = false;
          }
        });
        if (hasClassName) {
          plusObjDomArray.push(dom);
        }
      } else {
        plusObjDomArray.push(dom);
      }
    } else if (!itsId &amp;&amp; itsClass &amp;&amp; selectedVal.length) {
      var _hasClassName2 = false;
      selectedVal.forEach(function (className, i) {
        if (i === 0 &amp;&amp; dom.classList.contains(className)) {
          _hasClassName2 = true;
        } else if (dom.classList.contains(className) &amp;&amp; _hasClassName2) {
          _hasClassName2 = true;
        } else {
          _hasClassName2 = false;
        }
      });
      if (_hasClassName2) {
        plusObjDomArray.push(dom);
      }
    } else if (!itsId &amp;&amp; !itsClass &amp;&amp; dom.nodeName.toLowerCase() === param.trim().toLowerCase()) {
      plusObjDomArray.push(dom);
    } else if (!itsId &amp;&amp; !itsClass &amp;&amp; libUtils.isSelectorValid(param)) {
      if (dom.matches(param)) {
        plusObjDomArray.push(dom);
      }
    } else {
      var isNotFilter = false;
      var includeDom = false;
      var reset = true;
      var filterArray = param.split("(").map(function (item) {
        return item.replace(/\)/g, "");
      }).map(function (item) {
        var itemArray = item.split(",");
        return itemArray.map(function (item_1) {
          if (itemArray.length &gt; 1) {
            return "|".concat(item_1.trim());
          } else {
            return item_1;
          }
        });
      }).flat().filter(Boolean).map(function (item) {
        if (item.indexOf(":") &gt; 0) {
          item = item.split(":").map(function (item_1, index) {
            if (index) {
              return ":".concat(item_1.trim());
            } else {
              return item_1;
            }
          });
        }
        return item;
      }).flat().filter(Boolean).map(function (item) {
        return item.split("[");
      }).flat().filter(Boolean).map(function (item) {
        if (item.includes("]")) {
          item = "[".concat(item);
        }
        return item;
      }).filter(function (item) {
        return item.trim();
      });
      if (filterArray.includes(':not')) {
        isNotFilter = true;
        filterArray = filterArray.filter(function (item) {
          return item !== ':not';
        });
      }
      var _iterator8 = _createForOfIteratorHelper(filterArray),
        _step8;
      try {
        for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
          var filter = _step8.value;
          if (filter === '|') {
            reset = false;
          } else {
            if (filter.includes('[') &amp;&amp; filter.includes(']')) {
              filter = filter.replace(/[\[\]\"\']/g, "");
              if (filter.includes('=')) {
                var attrArray = filter.split('=');
                if (isNotFilter) {
                  if (dom.hasAttribute(attrArray[0]) &amp;&amp; dom.getAttribute(attrArray[0]) === attrArray[1]) {
                    includeDom = false;
                    break;
                  } else {
                    includeDom = true;
                  }
                } else {
                  if (dom.hasAttribute(attrArray[0]) &amp;&amp; dom.getAttribute(attrArray[0]) === attrArray[1]) {
                    includeDom = true;
                  } else if (reset) {
                    includeDom = false;
                    break;
                  }
                }
              } else {
                if (isNotFilter) {
                  if (dom.hasAttribute(filter)) {
                    includeDom = false;
                    break;
                  } else {
                    includeDom = true;
                  }
                } else {
                  if (dom.hasAttribute(filter)) {
                    includeDom = true;
                  } else if (reset) {
                    includeDom = false;
                    break;
                  }
                }
              }
            } else if (filter.includes(':')) {
              if (isNotFilter) {
                if (filter.includes(':visible') &amp;&amp; dom.clientHeight &gt; 0) {
                  includeDom = false;
                  break;
                } else if (filter.includes(':hidden') &amp;&amp; dom.clientHeight === 0) {
                  includeDom = false;
                  break;
                } else if (filter.includes(':enabled') &amp;&amp; !dom.hasAttribute('disabled')) {
                  includeDom = false;
                  break;
                } else if (filter.includes(':disabled') &amp;&amp; dom.hasAttribute('disabled')) {
                  includeDom = false;
                  break;
                } else {
                  includeDom = true;
                }
              } else {
                if (filter.includes(':visible') &amp;&amp; dom.clientHeight &gt; 0) {
                  includeDom = true;
                } else if (filter.includes(':hidden') &amp;&amp; dom.clientHeight === 0) {
                  includeDom = true;
                } else if (filter.includes(':enabled') &amp;&amp; !dom.hasAttribute('disabled')) {
                  includeDom = true;
                } else if (filter.includes(':disabled') &amp;&amp; dom.hasAttribute('disabled')) {
                  includeDom = true;
                } else if (reset) {
                  includeDom = false;
                  break;
                }
              }
            } else {
              if (isNotFilter) {
                if (dom.tagName.toLowerCase() === filter.toLowerCase()) {
                  includeDom = false;
                  break;
                } else {
                  includeDom = true;
                }
              } else {
                if (dom.tagName.toLowerCase() === filter.toLowerCase()) {
                  includeDom = true;
                } else if (reset) {
                  includeDom = false;
                  break;
                }
              }
            }
            reset = true;
          }
        }
      } catch (err) {
        _iterator8.e(err);
      } finally {
        _iterator8.f();
      }
      if (includeDom) {
        plusObjDomArray.push(dom);
      }
    }
    return plusObjDomArray;
  },
  isSelectorValid: function isSelectorValid(selector) {
    var queryCheck = function queryCheck(s) {
      return document.createDocumentFragment().querySelector(s);
    };
    try {
      queryCheck(selector);
    } catch (_unused) {
      return false;
    }
    return true;
  },
  isItDataObject: function isItDataObject(obj) {
    if (obj &amp;&amp; typeof obj === 'string' &amp;&amp; (!!obj.match(/^{/g) || !!obj.match(/^\[/) || !!obj.match(/^true$|^false$/))) {
      if (!!obj.match(/^{\\/) || !!obj.match(/^\[\\/) || !!obj.match(/^\[/)) {
        obj = obj;
      } else {
        obj = JSON.parse(obj);
      }
    } else if (typeof obj === 'undefined') {
      obj = "";
    }
    return obj;
  },
  hyphenCheck: function hyphenCheck(dataName) {
    var dataNameArry = dataName.split('-');
    if (dataNameArry.length &gt; 1) {
      var temp = [],
        updatedName = '';
      dataNameArry.forEach(function (name, i) {
        updatedName = '';
        updatedName = i &gt; 0 ? name.charAt(0).toUpperCase() + name.substring(1) : name;
        temp.push(updatedName);
      });
      dataName = temp.join('');
    }
    return dataName;
  },
  escapeClassnameQueryCSS: function escapeClassnameQueryCSS(selector) {
    var escapeSingleQuery = function escapeSingleQuery(selector) {
      var newSelector = selector.split('.');
      // check whether className is located at 0th index or 1st index based on first char of selector
      var i = selector.charAt(0) === '.' ? 0 : 1;
      for (i; i &lt; newSelector.length; i++) {
        // if first char of classname is not alphabetic
        if (newSelector[i].length &amp;&amp; !newSelector[i].charAt(0).match(/[a-zA-Z]/)) {
          // escape non-alphabetic first char to its hexidecimal unicode equivalent
          newSelector[i] = "\\".concat(newSelector[i].charCodeAt(0).toString(16), " ").concat(newSelector[i].slice(1));
        }
      }
      newSelector = newSelector.join('.');
      // test if valid selector otherwise fallback to using CSS.escape or contains backslash
      if (!libUtils.isSelectorValid(newSelector)) {
        newSelector = "".concat(selector.charAt(0)).concat(CSS.escape(selector.replace(/\\/g, '').slice(1)));
      }
      return newSelector;
    };
    return selector.split(',').map(function (s) {
      return escapeSingleQuery(s);
    }).join(',');
  },
  resolveRemovedElementReferences: function resolveRemovedElementReferences(removedEl, addedEl, self) {
    var _iterator9 = _createForOfIteratorHelper(self.constructor._plusInstances),
      _step9;
    try {
      for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
        var plusObj = _step9.value;
        // skip plusObj of (self) to avoid chaining complications
        if (plusObj === self) {
          continue;
        }
        if (typeof plusObj._domElem.indexOf !== 'function') {
          plusObj._domElem = [].slice.call(plusObj._domElem); // convert to array
        }
        var removedElIdx = plusObj._domElem.indexOf(removedEl);
        if (removedElIdx !== -1) {
          if (addedEl) {
            plusObj._domElem[removedElIdx] = addedEl;
          } else {
            plusObj._domElem.splice(removedElIdx, 1);
            plusObj.length -= 1;
          }
        }
      }
    } catch (err) {
      _iterator9.e(err);
    } finally {
      _iterator9.f();
    }
  },
  removeElement: function removeElement(el, self) {
    el.remove();
    // libUtils.resolveRemovedElementReferences(el, false, self); // revised, not needed for now
  },
  insertElementAndRemoveOriginal: function insertElementAndRemoveOriginal(container, position, el, self) {
    var newDom = container.insertAdjacentHTML(position, el.outerHTML);
    el.remove();
    libUtils.resolveRemovedElementReferences(el, newDom, self);
  }
};
var Effects = /*#__PURE__*/function () {
  function Effects() {
    (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)(this, Effects);
  }
  return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(Effects, [{
    key: "hide",
    value: function hide() {
      var _this5 = this;
      var container = this._domElem;
      this._domElem = [];
      container.forEach(function (dom) {
        delete dom.customShow; // fix flickering bug
        dom.customHide = [];
        dom.customHide.push('none');
        _this5._domElem.push(dom);
      });
      // if invoked without parameters, matched elements will be hidden immediately, with no animation.
      if (arguments.length === 0) this.css('display', 'none');else this.fadeOut.apply(this, arguments);
      return this;
    }
  }, {
    key: "show",
    value: function show() {
      var _this6 = this;
      var container = this._domElem;
      this._domElem = [];
      container.forEach(function (dom) {
        delete dom.customHide; // fix flickering bug
        dom.customShow = [];
        dom.customShow.push('block');
        _this6._domElem.push(dom);
      });
      if (arguments.length === 0) {
        container.forEach(function (dom) {
          if (dom.style.display === "none") {
            dom.style.display = "";
          }
          if (window.getComputedStyle(dom).display === 'none') {
            dom.style.display = "block";
          }
        });
      } else this.fadeIn.apply(this, arguments);
      return this;
    }
  }, {
    key: "toggle",
    value: function toggle() {
      var _this7 = this;
      var container = this._domElem;
      var isVisible = false;
      this._domElem = [];
      container.forEach(function (dom) {
        if (window.getComputedStyle(dom).display === 'none') {
          dom.customShow = [];
          dom.customShow.push('block');
        } else {
          isVisible = true;
          dom.customHide = [];
          dom.customHide.push('none');
        }
        _this7._domElem.push(dom);
      });
      if (isVisible) this.fadeOut.apply(this, arguments);else this.fadeIn.apply(this, arguments);
    }
  }, {
    key: "fadeIn",
    value: function fadeIn() {
      var _this8 = this;
      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key &lt; _len; _key++) {
        args[_key] = arguments[_key];
      }
      var container = this._domElem,
        style = {};
      this._domElem = [];
      container.forEach(function (dom) {
        dom.style.opacity = window.getComputedStyle(dom).opacity || 0;
        dom.style.display = window.getComputedStyle(dom).display || "block";
        _this8._domElem.push(dom);
      });
      style.opacity = 1;
      args.unshift(style);
      var delayTime = libUtils.getDelayedTime(this);
      if (delayTime &gt; 0) {
        setTimeout(function () {
          _this8.executeAnimate.apply(_this8, [_this8._domElem].concat(args));
        }, delayTime);
      } else this.executeAnimate.apply(this, [this._domElem].concat(args));
    }
  }, {
    key: "fadeOut",
    value: function fadeOut() {
      var _this9 = this;
      for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 &lt; _len2; _key2++) {
        args[_key2] = arguments[_key2];
      }
      var container = this._domElem,
        style = {};
      this._domElem = [];
      container.forEach(function (dom) {
        dom.style.opacity = window.getComputedStyle(dom).opacity || 1;
        _this9._domElem.push(dom);
      });
      style.opacity = 0;
      args.unshift(style);
      var delayTime = libUtils.getDelayedTime(this);
      if (delayTime &gt; 0) {
        setTimeout(function () {
          _this9.executeAnimate.apply(_this9, [_this9._domElem].concat(args));
        }, delayTime);
      } else this.executeAnimate.apply(this, [this._domElem].concat(args));
    }
  }, {
    key: "fadeToggle",
    value: function fadeToggle() {
      var _this10 = this;
      for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 &lt; _len3; _key3++) {
        args[_key3] = arguments[_key3];
      }
      var container = this._domElem,
        style = {};
      var domOpacity;
      this._domElem = [];
      container.forEach(function (dom) {
        dom.style.opacity = window.getComputedStyle(dom).opacity || 1;
        domOpacity = dom.style.opacity ? dom.style.opacity : 1;
        _this10._domElem.push(dom);
      });
      if (domOpacity &lt; 1) style.opacity = 1;else style.opacity = 0;
      args.unshift(style);
      var delayTime = libUtils.getDelayedTime(this);
      if (delayTime &gt; 0) {
        setTimeout(function () {
          _this10.executeAnimate.apply(_this10, [_this10._domElem].concat(args));
        }, delayTime);
      } else this.executeAnimate.apply(this, [this._domElem].concat(args));
    }
  }, {
    key: "fadeTo",
    value: function fadeTo() {
      var _this11 = this;
      for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 &lt; _len4; _key4++) {
        args[_key4] = arguments[_key4];
      }
      var container = this._domElem,
        style = {};
      this._domElem = [];
      container.forEach(function (dom) {
        dom.style.opacity = window.getComputedStyle(dom).opacity || 0;
        _this11._domElem.push(dom);
      });
      if (args[1] &amp;&amp; !isNaN(parseFloat(args[1]))) {
        style.opacity = parseFloat(args[1]);
        args.splice(1, 1);
        args.unshift(style);
        var delayTime = libUtils.getDelayedTime(this);
        if (delayTime &gt; 0) {
          setTimeout(function () {
            _this11.executeAnimate.apply(_this11, [_this11._domElem].concat(args));
          }, delayTime);
        } else this.executeAnimate.apply(this, [this._domElem].concat(args));
      } else return false;
    }
  }, {
    key: "slideUp",
    value: function slideUp() {
      var _this12 = this;
      for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 &lt; _len5; _key5++) {
        args[_key5] = arguments[_key5];
      }
      var container = this._domElem,
        style = {};
      var targetDom = [],
        utility = libUtils;
      this.finish();
      container.forEach(function (dom) {
        delete dom.slideDown;
        delete dom.customShow;
        dom.customHide = [];
        dom.customHide.push('none');
        if (dom.clientHeight &gt; 0) {
          //customSlide object - these are the values - to slide to
          dom.customSlide = {};
          dom.customSlide['opacity'] = '0';
          dom.customSlide['height'] = '0px';
          dom.customSlide['margin-top'] = utility.getStyle(dom, 'margin-top') || '0px';
          dom.customSlide['margin-bottom'] = utility.getStyle(dom, 'margin-bottom') || '0px';
          dom.customSlide['padding-top'] = utility.getStyle(dom, 'padding-top') || '0px';
          dom.customSlide['padding-bottom'] = utility.getStyle(dom, 'padding-bottom') || '0px';

          /**Keep the originals slide values for toggle feature */
          if (!dom.customSlideOriginal) {
            dom.customSlideOriginal = {};
          }
          dom.customSlideOriginal['opacity'] = '1';
          dom.customSlideOriginal['height'] = utility.getStyle(dom, 'height') || '0px';
          dom.customSlideOriginal['margin-top'] = utility.getStyle(dom, 'margin-top') || '0px';
          dom.customSlideOriginal['margin-bottom'] = utility.getStyle(dom, 'margin-bottom') || '0px';
          dom.customSlideOriginal['padding-top'] = utility.getStyle(dom, 'padding-top') || '0px';
          dom.customSlideOriginal['padding-bottom'] = utility.getStyle(dom, 'padding-bottom') || '0px';
          //set the current dom with original values - to slide from
          dom.style['opacity'] = dom.customSlideOriginal['opacity'];
          dom.style['height'] = dom.customSlideOriginal['height'];
          dom.style['margin-top'] = dom.customSlideOriginal['margin-top'];
          dom.style['margin-bottom'] = dom.customSlideOriginal['margin-bottom'];
          dom.style['padding-top'] = dom.customSlideOriginal['padding-top'];
          dom.style['padding-bottom'] = dom.customSlideOriginal['padding-bottom'];
          //
          targetDom.push(dom);
        }
      });
      style.slide = true;
      args.unshift(style);
      var delayTime = libUtils.getDelayedTime(this);
      if (targetDom.length &gt; 0 &amp;&amp; delayTime &gt; 0) {
        setTimeout(function () {
          _this12.executeAnimate.apply(_this12, [container].concat(args));
        }, delayTime);
      } else if (targetDom.length &gt; 0) {
        setTimeout(function () {
          _this12.executeAnimate.apply(_this12, [container].concat(args));
        }, 50);
      }
      return this;
    }
  }, {
    key: "slideDown",
    value: function slideDown() {
      var _this13 = this;
      for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 &lt; _len6; _key6++) {
        args[_key6] = arguments[_key6];
      }
      var container = this._domElem,
        style = {};
      var targetDom = [],
        utility = libUtils;
      this.finish();
      container.forEach(function (dom) {
        delete dom.customHide; // fix for unintended hiding after show
        dom.slideDown = true;
        dom.customShow = [];
        dom.customShow.push('block');
        if (dom.clientHeight === 0) {
          dom.customSlide = {};
          if (dom.customSlideOriginal) {
            //these values are - to slide to
            dom.customSlide = _objectSpread({}, dom.customSlideOriginal);
          } else {
            //if originals are not available, create originals from css dom
            dom.customSlideOriginal = {};
            dom.customSlideOriginal['opacity'] = "1";
            dom.customSlideOriginal['height'] = utility.getStyle(dom, 'height') || 0;
            dom.customSlideOriginal['margin-top'] = utility.getStyle(dom, 'margin-top') || 0;
            dom.customSlideOriginal['margin-bottom'] = utility.getStyle(dom, 'margin-bottom') || 0;
            dom.customSlideOriginal['padding-top'] = utility.getStyle(dom, 'padding-top') || 0;
            dom.customSlideOriginal['padding-bottom'] = utility.getStyle(dom, 'padding-bottom') || 0;
            //then assign values - to slide to
            dom.customSlide = _objectSpread({}, dom.customSlideOriginal);
          }
          //set dom with values - to slide from
          dom.style['opacity'] = '0';
          dom.style['height'] = '0px';
          dom.style['margin-top'] = '0px';
          dom.style['margin-bottom'] = '0px';
          dom.style['padding-top'] = '0px';
          dom.style['padding-bottom'] = '0px';
          targetDom.push(dom);
        }
      });
      style.slide = true;
      args.unshift(style);
      var delayTime = libUtils.getDelayedTime(this);
      if (targetDom.length &gt; 0 &amp;&amp; delayTime &gt; 0) {
        setTimeout(function () {
          _this13.executeAnimate.apply(_this13, [container].concat(args));
        }, delayTime);
      } else if (targetDom.length &gt; 0) {
        setTimeout(function () {
          _this13.executeAnimate.apply(_this13, [container].concat(args));
        }, 50);
      }
      return this;
    }
  }, {
    key: "slideToggle",
    value: function slideToggle() {
      var container = this._domElem;
      var notVisible = false;
      container.forEach(function (dom) {
        if (dom.clientHeight === 0) notVisible = true;
      });
      if (notVisible) this.slideDown.apply(this, arguments);else this.slideUp.apply(this, arguments);
    }
  }, {
    key: "stop",
    value: function stop() {
      var container = this._domElem;
      container.forEach(function (dom) {
        if (window.getComputedStyle(dom).transition !== "") dom.style.transition = "";
      });
      return this;
    }
  }, {
    key: "finish",
    value: function finish() {
      var _this14 = this;
      var container = this._domElem;
      this._domElem = [];
      container.forEach(function (dom) {
        dom.style.transition = "";
        _this14._domElem.push(dom);
      });
      return this;
    }
  }, {
    key: "delay",
    value: function delay(speed) {
      if (typeof speed === 'string') {
        if (speed.toLowerCase() === 'slow') speed = 600;else if (speed.toLowerCase() === 'fast') speed = 200;
      } else if (speed === undefined) speed = 400;
      this._domElem.delayTime = speed;
      return this;
    }
  }, {
    key: "animate",
    value: function animate() {
      var delayTime = libUtils.getDelayedTime(this);
      for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 &lt; _len7; _key7++) {
        args[_key7] = arguments[_key7];
      }
      if (delayTime &gt; 0) setTimeout.apply(void 0, [this.executeAnimate, delayTime, this._domElem].concat(args));else this.executeAnimate.apply(this, [this._domElem].concat(args));
    }
  }, {
    key: "executeAnimate",
    value: function executeAnimate(domElem) {
      for (var _len8 = arguments.length, args = new Array(_len8 &gt; 1 ? _len8 - 1 : 0), _key8 = 1; _key8 &lt; _len8; _key8++) {
        args[_key8 - 1] = arguments[_key8];
      }
      var styles = args[0],
        options = {},
        speed = 400,
        easing = 'ease',
        callback,
        complete,
        start,
        failed;
      var container = domElem;
      //{styles},{options} - options have functions also.
      //TODO: need to add update options with functions :- step, progress, queue, specialEasing
      if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(args[1]) === 'object') {
        options = args[1];
        for (var option in options) {
          if (option === 'duration') {
            if (typeof options[option] === 'string') {
              if (options[option].toLowerCase() === 'slow') speed = 600;else if (options[option].toLowerCase() === 'fast') speed = 200;
            } else speed = options[option];
          } else if (option === 'easing') easing = options[option].toLowerCase().indexOf('swing') &gt; -1 ? 'ease' : options[option].toLowerCase();else if (option === 'complete' || option === 'done') complete = options[option];else if (option === 'start') start = options[option];else if (option === 'fail' || option === 'always') failed = options[option];
        }
        container.forEach(function (dom) {
          if (start) libUtils.setTransitionStart(dom, start);
          if (complete) libUtils.setTransitionEnd(dom, complete);
          if (failed) libUtils.setTransitionCancel(dom, failed);
          if (dom.customAnimateDelay) {
            dom.customAnimateDelay.push(speed);
            var delayTime = dom.customAnimateDelay.reduce(function (total, currentVal) {
              return total + currentVal;
            });
            setTimeout(function () {
              libUtils.setTransition(dom, styles, speed, easing);
            }, delayTime);
          } else {
            dom.customAnimateDelay = [];
            dom.customAnimateDelay.push(speed);
            libUtils.setTransition(dom, styles, speed, easing);
          }
        });
      } else {
        //{styles},speed,easing,callback

        args.forEach(function (arg) {
          if (arg &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(arg) === 'object') {
            styles = arg;
          } else if (arg &amp;&amp; typeof arg === 'string') {
            if (arg.toLowerCase() === 'slow') {
              speed = 600;
            } else if (arg.toLowerCase() === 'fast') {
              speed = 200;
            } else {
              easing = arg.toLowerCase().indexOf('swing') &gt; -1 ? 'ease' : arg.toLowerCase();
            }
          } else if (!isNaN(arg)) {
            speed = parseInt(arg);
          } else if (typeof arg === 'function') {
            callback = arg;
          }
        });
        container.forEach(function (dom) {
          if (dom.customShow &amp;&amp; dom.customShow.length &gt; 0) libUtils.setTransitionStart(dom);
          if (dom.customAnimateDelay) {
            dom.customAnimateDelay.push(speed);
            var delayTime = dom.customAnimateDelay.reduce(function (total, currentVal) {
              return total + currentVal;
            });
            setTimeout(function () {
              libUtils.setTransition(dom, styles, speed, easing, callback);
            }, delayTime);
          } else {
            dom.customAnimateDelay = [];
            dom.customAnimateDelay.push(speed);
            libUtils.setTransition(dom, styles, speed, easing, callback);
          }
          if (!styles.hasOwnProperty('scrollTop') &amp;&amp; !styles.hasOwnProperty('scrollLeft')) libUtils.setTransitionEnd(dom, callback);
        });
      }
    }
  }]);
}();
var Events = /*#__PURE__*/function () {
  function Events() {
    (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)(this, Events);
  }
  return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(Events, [{
    key: "ready",
    value: function ready(callback) {
      if (document.readyState != "loading") callback();else document.addEventListener("DOMContentLoaded", callback);
    }
  }, {
    key: "click",
    value: function click(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "click", callback);else this.trigger("click");
      return this;
    }
  }, {
    key: "dblclick",
    value: function dblclick(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "dblclick", callback);else this.trigger("dblclick");
      return this;
    }
  }, {
    key: "mouseenter",
    value: function mouseenter(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "mouseenter", callback);else this.trigger("mouseenter");
      return this;
    }
  }, {
    key: "mouseleave",
    value: function mouseleave(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "mouseleave", callback);else this.trigger("mouseleave");
      return this;
    }
  }, {
    key: "mousedown",
    value: function mousedown(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "mousedown", callback);else this.trigger("mousedown");
      return this;
    }
  }, {
    key: "mouseup",
    value: function mouseup(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "mouseup", callback);else this.trigger("mouseup");
      return this;
    }
  }, {
    key: "mousemove",
    value: function mousemove(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "mousemove", callback);else this.trigger("mousemove");
      return this;
    }
  }, {
    key: "mouseover",
    value: function mouseover(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "mouseover", callback);else this.trigger("mouseover");
      return this;
    }
  }, {
    key: "mouseout",
    value: function mouseout(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "mouseout", callback);else this.trigger("mouseout");
      return this;
    }
  }, {
    key: "hover",
    value: function hover(callback1, callback2) {
      var _this15 = this;
      var container = this._domElem;
      container.forEach(function (dom) {
        _this15.init(dom);
        dom.addEventListener("mouseenter", callback1);
        if (callback2) dom.addEventListener("mouseleave", callback2);
      });
      return this;
    }
  }, {
    key: "focus",
    value: function focus(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "focus", callback);else {
        var _container = this._domElem;
        _container.forEach(function (dom) {
          dom.focus();
        });
      }
      return this;
    }
  }, {
    key: "focusin",
    value: function focusin(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "focusin", callback);else this.trigger("focusin");
      return this;
    }
  }, {
    key: "focusout",
    value: function focusout(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "focusout", callback);else this.trigger("focusout");
      return this;
    }
  }, {
    key: "blur",
    value: function blur(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "blur", callback);else this.trigger("blur");
      return this;
    }
  }, {
    key: "change",
    value: function change(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "change", callback);else this.trigger("change");
      return this;
    }
  }, {
    key: "keydown",
    value: function keydown(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "keydown", callback);else this.trigger("keydown");
      return this;
    }
  }, {
    key: "keypress",
    value: function keypress(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "keypress", callback);else this.trigger("keypress");
      return this;
    }
  }, {
    key: "keyup",
    value: function keyup(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "keyup", callback);else this.trigger("keyup");
      return this;
    }
  }, {
    key: "load",
    value: function load(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "load", callback);else this.trigger("load");
      return this;
    }
  }, {
    key: "resize",
    value: function resize(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "resize", callback);else this._domElem[0].dispatchEvent(new Event('resize'));
      return this;
    }
  }, {
    key: "scroll",
    value: function scroll(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "scroll", callback);else this.trigger("scroll");
      return this;
    }
  }, {
    key: "select",
    value: function select(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "select", callback);else this.trigger("select");
      return this;
    }
  }, {
    key: "submit",
    value: function submit(callback) {
      if (callback) libUtils.addEvent(this, this._domElem, "submit", callback);else this.trigger("submit");
      return this;
    }
  }, {
    key: "trigger",
    value: function trigger(eventName, data) {
      this._domElem.forEach(function (dom) {
        // accessibility fix for checkboxes and clicks where checkbox only checks when the native .click() method is called
        if (eventName === 'click' &amp;&amp; (dom.matches('[type="checkbox"]') || dom.tagName.toLowerCase() === "label")) {
          dom.click();
        }
        if (data) dom.dispatchEvent(new CustomEvent(eventName, {
          detail: data
        }));else dom.dispatchEvent(new Event(eventName, {
          bubbles: true
        }));
      });
      return this;
    }
  }, {
    key: "on",
    value: function on() {
      var _this16 = this;
      for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 &lt; _len9; _key9++) {
        args[_key9] = arguments[_key9];
      }
      var argsLen = args.length;
      var events, callback;
      //on function has 2 arguments; First arg has sngle or multiple events binded, and second arg has a function
      if (argsLen === 2) {
        events = args[0].split(' ');
        callback = args[1];
        if (typeof callback === 'function') {
          libUtils.handleMultiAddEvents(this, events, this._domElem, callback);
        } else return false;
        //on function has 3 arguments; (events, data/selector, function)
      } else if (argsLen === 3) {
        events = args[0].split(' ');
        callback = args[2];
        //if the second argument is a data object, attach the data to the event
        if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(args[1]) === 'object' &amp;&amp; typeof callback === 'function') {
          events.forEach(function (event) {
            var eventName = event &amp;&amp; event !== "template.loaded" &amp;&amp; event.indexOf(".bs.") === -1 ? event.split('.')[0] : event;
            if (eventName) {
              _this16._domElem.forEach(function (dom) {
                var executeThis = function executeThis(e) {
                  e.data = args[1];
                  _this16.init(dom);
                  callback.call(dom, e);
                };
                dom.addEventListener(eventName, executeThis);
                if (!dom.namespace) {
                  dom.namespace = {};
                }
                if (dom.namespace[event]) {
                  dom.namespace[event].push(executeThis);
                } else {
                  dom.namespace[event] = [executeThis];
                }
              });
            }
          });
          //if second argument is a selector string
        } else if (typeof args[1] === 'string' &amp;&amp; typeof callback === 'function') {
          var _container2 = this._domElem,
            selector = args[1];
          libUtils.handleMultiAddDelegateEvents(this, events, _container2, selector, callback);
        } else return false;
        //on function has 4 arguments; (events, selector, data, handler)
      } else if (argsLen === 4) {
        events = args[0].split(' ');
        callback = args[3];
        if (typeof args[1] === 'string' &amp;&amp; typeof callback === 'function') {
          var _container3 = this._domElem,
            _selector = args[1],
            data = args[2];
          libUtils.handleMultiAddDelegateEvents(this, events, _container3, _selector, callback, data);
        } else return false;
        //on function has only 1 argument; and the argument is a map of events
      } else if (argsLen === 1 &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(args[0]) === 'object') {
        var eventList = args[0];
        for (var event in eventList) {
          if (typeof eventList[event] === 'function') {
            libUtils.addEvent(this, this._domElem, event, eventList[event]);
          }
        }
      }
      return this;
    }
  }, {
    key: "off",
    value: function off() {
      for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 &lt; _len10; _key10++) {
        args[_key10] = arguments[_key10];
      }
      var argsLen = args.length,
        events,
        callback;
      events = args.length ? args[0].split(' ') : '';
      //off function with NO argument
      if (argsLen === 0) {
        libUtils.handleMultiRemoveEvents(null, this._domElem);
        //off function with one argument - only event
      } else if (argsLen === 1) {
        libUtils.handleMultiRemoveEvents(events, this._domElem);
        //off function with two arguments (event,selector)
      } else if (argsLen === 2 &amp;&amp; typeof args[1] === 'string') {
        var selector = args[1];
        events = args[0].split(' ');
        libUtils.handleMultiRemoveDelegateEvents(events, this._domElem, selector);
        //off function with two arguments (event,function)
      } else if (argsLen === 2 &amp;&amp; typeof args[1] === 'function') {
        callback = args[1];
        events = args[0].split(' ');
        libUtils.handleMultiRemoveEvents(events, this._domElem, callback);
        //off function with three arguments (event,selector,function)
      } else if (argsLen === 3 &amp;&amp; typeof args[1] === 'string' &amp;&amp; typeof args[2] === 'function') {
        var _container4 = this._domElem,
          _callback6 = args[2],
          _selector2 = args[1],
          _events = args[0].split(' ');
        this._domElem = libUtils.getChildNodes(_container4, _selector2);
        libUtils.handleMultiRemoveEvents(_events, this._domElem, _callback6);
      }
      return this;
    }
  }, {
    key: "one",
    value: function one() {
      var _this17 = this;
      for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 &lt; _len11; _key11++) {
        args[_key11] = arguments[_key11];
      }
      var argsLen = args.length;
      var events,
        callback,
        onlyOnce = true;
      //one function has 2 arguments; First arg has sngle or multiple events binded, and second arg has a function
      if (argsLen === 2) {
        events = args[0].split(' ');
        callback = args[1];
        if (typeof callback === 'function') {
          libUtils.handleMultiAddEvents(this, events, this._domElem, callback, onlyOnce);
        } else return false;
        //on function has 3 arguments; (events, data/selector, function)
      } else if (argsLen === 3) {
        events = args[0].split(' ');
        callback = args[2];
        //if the second argument is a data object, attach the data to the event
        if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(args[1]) === 'object' &amp;&amp; typeof callback === 'function') {
          events.forEach(function (event) {
            if (event) {
              _this17._domElem.forEach(function (dom) {
                dom.addEventListener(event, function (e) {
                  e.data = args[1];
                  var callFunction = true;
                  {
                    var custAttr = 'custom' + event;
                    if (dom[custAttr]) {
                      dom[custAttr].eventLen = dom[custAttr].eventLen + 1;
                    } else {
                      dom[custAttr] = {};
                      dom[custAttr].eventLen = 1;
                      dom[custAttr].fun = callback;
                    }
                    if (dom[custAttr].eventLen &gt; 1) {
                      callFunction = false;
                      dom.removeEventListener(event, callback);
                    }
                  }
                  if (callFunction) {
                    _this17.init(dom);
                    callback(e);
                  }
                });
              });
            }
          });
          //if second argument is a selector string
        } else if (typeof args[1] === 'string' &amp;&amp; typeof callback === 'function') {
          var _container5 = this._domElem,
            selector = args[1];
          this._domElem = libUtils.getChildNodes(_container5, selector);
          libUtils.handleMultiAddEvents(this, events, this._domElem, callback, onlyOnce);
        } else return false;
        //on function has only 1 argument; and the argument is a map of events
      }
    }
  }]);
}();
var Selectors = /*#__PURE__*/function () {
  function Selectors() {
    (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)(this, Selectors);
  }

  //For internal use
  return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(Selectors, [{
    key: "init",
    value: function init(selector, context) {
      var _this18 = this;
      //declaration of init variables
      var regClass = /\./g,
        regId = /\#/g,
        isAttrSelector = /\=\"|\=\'+/g,
        isNotEqlSelector = /\!=+/g,
        isSnglQuote = /\'/g,
        isDblQuote = /\"/g,
        isColon = /\:/;
      var match,
        elem,
        domElem,
        domElemLength = 0;

      //Handle (""), (null), (undefined), (false)
      if (!selector) {
        return this;
      }
      if (selector === document.defaultView &amp;&amp; this._domElem[0] &amp;&amp; this._domElem[0].nodeType === 1) return this;else {
        this.prevObj = this._domElem || libUtils.options.winDoc;
        this._domElem = [];
      }
      if (context &amp;&amp; context.constructor &amp;&amp; context.constructor.name !== "Plus") {
        // take advantage of context handlers below where context is a plus object
        context = plus$2(context);
      }
      if (typeof selector === "string") {
        if (selector[0] === "&lt;" &amp;&amp; selector[selector.length - 1] === "&gt;" &amp;&amp; selector.length &gt;= 3) {
          match = [null, selector, null];
        }
        if (typeof context === "string") {
          context = "";
        }
        // string which is containing newline and carriage return character will be mostly html templates
        if (/\r|\n/.test(selector)) {
          var parser = new DOMParser();
          var doc4 = parser.parseFromString(selector, "text/html");
          var _iterator10 = _createForOfIteratorHelper(doc4.body.children),
            _step10;
          try {
            for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
              var item = _step10.value;
              item.isAhtmlString = true;
              this._domElem.push(item);
            }
          } catch (err) {
            _iterator10.e(err);
          } finally {
            _iterator10.f();
          }
          this.length = this._domElem.length;
          return this;
        }

        // Match html or make sure no context is specified for #id
        if (match &amp;&amp; (match[1] || !context)) {
          if (match[1]) {
            var _parser = new DOMParser();
            var htmlString = match[1];
            var doc3 = _parser.parseFromString(htmlString, "text/html");
            var _iterator11 = _createForOfIteratorHelper(doc3.body.children),
              _step11;
            try {
              for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
                var _item = _step11.value;
                _item.isAhtmlString = true;
                this._domElem.push(_item);
              }
            } catch (err) {
              _iterator11.e(err);
            } finally {
              _iterator11.f();
            }
            this.length = this._domElem.length;
            return this;
            // HANDLE: (#id)
          } else {
            elem = document.getElementById(match[2]);
            if (elem) {
              // Inject the element directly into the object
              this[0] = elem;
              this.length = 1;
            }
            return this;
          }
        } else if (isAttrSelector.test(selector) &amp;&amp; isNotEqlSelector.test(selector)) {
          //Attribute selector - not equal selector ex: "a[hreflang!='en']"
          var newSelector = libUtils.escapeClassnameQueryCSS(selector.split('!=')[0] + ']');
          var attrVal = selector.split('!=')[1].split(']')[0];
          attrVal = isSnglQuote.test(attrVal) ? attrVal.replace(isSnglQuote, "") : isDblQuote.test(attrVal) ? attrVal.replace(isDblQuote, "") : attrVal;
          attrVal = attrVal.trim();
          if (context &amp;&amp; context.length) {
            domElem = [];
            var _iterator12 = _createForOfIteratorHelper(context.domElem),
              _step12;
            try {
              for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
                var _domElem3;
                var el = _step12.value;
                (_domElem3 = domElem).push.apply(_domElem3, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(el.querySelectorAll(newSelector)));
              }
            } catch (err) {
              _iterator12.e(err);
            } finally {
              _iterator12.f();
            }
            domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
          } else {
            domElem = document.querySelectorAll(newSelector);
          }
          domElem.forEach(function (dom) {
            if (dom.name !== attrVal) _this18._domElem.push(dom);
          });
          this.length = this._domElem.length;
          return this;
        } else if (isColon.test(selector)) {
          if (selector.indexOf('button') &gt; -1) {
            selector = "button, input[type='button']";
          } else if (selector.indexOf('input') &gt; -1) {
            selector = "button, input, select, textarea";
          } else if (selector.indexOf('checkbox') &gt; -1) {
            selector = "[type='checkbox']";
          } else if (selector.indexOf(':first-child') &gt; -1) {
            selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
            if (context &amp;&amp; context.length) {
              domElem = [];
              var _iterator13 = _createForOfIteratorHelper(context.domElem),
                _step13;
              try {
                for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) {
                  var _domElem4;
                  var _el = _step13.value;
                  (_domElem4 = domElem).push.apply(_domElem4, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el.querySelectorAll(selector)));
                }
              } catch (err) {
                _iterator13.e(err);
              } finally {
                _iterator13.f();
              }
              domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
            } else {
              domElem = document.querySelectorAll(selector);
            }
            if (domElem.length === 0) {
              this.length = 0;
            } else {
              this._domElem.push(domElem[0]);
              this.length = this._domElem.length;
            }
            return this;
          } else if (selector.indexOf(':last-child') &gt; -1) {
            selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
            if (context &amp;&amp; context.length) {
              domElem = [];
              var _iterator14 = _createForOfIteratorHelper(context.domElem),
                _step14;
              try {
                for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) {
                  var _domElem5;
                  var _el2 = _step14.value;
                  (_domElem5 = domElem).push.apply(_domElem5, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el2.querySelectorAll(selector)));
                }
              } catch (err) {
                _iterator14.e(err);
              } finally {
                _iterator14.f();
              }
              domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
            } else {
              domElem = document.querySelectorAll(selector);
            }
            domElemLength = domElem.length - 1;
            this._domElem.push(domElem[domElemLength]);
            this.length = this._domElem.length;
            return this;
          } else if (selector.indexOf(':nth-child') &gt; -1) {
            var _newSelector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]),
              selectorNum = selector.split(':')[1].split('(')[1].split(')')[0],
              incrementer = 0,
              startFrom = 0,
              nthChild = false,
              oddEvenFlg = false;
            if (/n\+/.test(selectorNum)) {
              incrementer = parseInt(selectorNum.split('n')[0]);
              startFrom = parseInt(selectorNum.split('+')[1]);
              nthChild = true;
            } else if (selectorNum === 'odd' || selectorNum === 'even') {
              oddEvenFlg = true;
            } else {
              selectorNum = parseInt(selectorNum) - 1;
            }
            if (context &amp;&amp; context.length) {
              domElem = [];
              var _iterator15 = _createForOfIteratorHelper(context.domElem),
                _step15;
              try {
                for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) {
                  var _domElem6;
                  var _el3 = _step15.value;
                  (_domElem6 = domElem).push.apply(_domElem6, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el3.querySelectorAll(_newSelector)));
                }
              } catch (err) {
                _iterator15.e(err);
              } finally {
                _iterator15.f();
              }
              domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
            } else {
              domElem = document.querySelectorAll(_newSelector);
            }
            domElemLength = domElem.length;
            if (typeof selectorNum === 'number' &amp;&amp; selectorNum &lt; domElemLength) {
              this._domElem.push(domElem[selectorNum]);
            } else if (typeof selectorNum === 'string' &amp;&amp; nthChild) {
              //if it has :nth-child(an+b)
              var counter = 0,
                startInjection = false;
              domElem.forEach(function (dom, index) {
                if (index === startFrom - 1 &amp;&amp; startFrom !== 0) {
                  _this18._domElem.push(dom);
                  startInjection = true;
                } else if (startFrom === 0) {
                  startInjection = true;
                }
                if (startInjection) {
                  if (counter !== 0 &amp;&amp; counter % incrementer === 0) {
                    _this18._domElem.push(dom);
                  }
                  counter++;
                }
              });
            } else if (oddEvenFlg) {
              //if it has :nth-child(odd) or it has :nth-child(even)
              domElem.forEach(function (dom, index) {
                if (index % 2 !== 0 &amp;&amp; selectorNum === 'even') {
                  _this18._domElem.push(dom);
                } else if (index % 2 === 0 &amp;&amp; selectorNum === 'odd') {
                  _this18._domElem.push(dom);
                }
              });
            }
            this.length = this._domElem.length;
            return this;
          } else if (selector.indexOf(':visible') &gt; -1 || selector.indexOf(':hidden') &gt; -1) {
            var visibility = selector.indexOf(':visible') &gt; -1 ? 'visible' : 'hidden';
            selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
            if (context &amp;&amp; context.length) {
              domElem = [];
              var _iterator16 = _createForOfIteratorHelper(context.domElem),
                _step16;
              try {
                for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) {
                  var _domElem7;
                  var _el4 = _step16.value;
                  (_domElem7 = domElem).push.apply(_domElem7, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el4.querySelectorAll(selector)));
                }
              } catch (err) {
                _iterator16.e(err);
              } finally {
                _iterator16.f();
              }
              domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
            } else {
              domElem = document.querySelectorAll(selector);
            }
            domElem.forEach(function (dom) {
              if (visibility === 'visible' &amp;&amp; dom.clientHeight &gt; 0) {
                _this18._domElem.push(dom);
              } else if (visibility === 'hidden' &amp;&amp; dom.clientHeight === 0) {
                _this18._domElem.push(dom);
              }
            });
            this.length = this._domElem.length;
            return this;
          } else if (selector.indexOf(':selected') &gt; -1) {
            selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
            if (!selector) selector = "option";
            if (context &amp;&amp; context.length) {
              domElem = [];
              var _iterator17 = _createForOfIteratorHelper(context.domElem),
                _step17;
              try {
                for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) {
                  var _domElem8;
                  var _el5 = _step17.value;
                  (_domElem8 = domElem).push.apply(_domElem8, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el5.querySelectorAll(selector)));
                }
              } catch (err) {
                _iterator17.e(err);
              } finally {
                _iterator17.f();
              }
              domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
            } else {
              domElem = document.querySelectorAll(selector);
            }
            domElem.forEach(function (dom) {
              if (dom.selected === true) {
                _this18._domElem.push(dom);
              }
            });
            this.length = plus$2._domElem.length;
            return this;
          } else if (selector.indexOf(':last') &gt; -1) {
            selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
            if (context &amp;&amp; context.length) {
              domElem = [];
              var _iterator18 = _createForOfIteratorHelper(context.domElem),
                _step18;
              try {
                for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) {
                  var _domElem9;
                  var _el6 = _step18.value;
                  (_domElem9 = domElem).push.apply(_domElem9, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el6.querySelectorAll(selector)));
                }
              } catch (err) {
                _iterator18.e(err);
              } finally {
                _iterator18.f();
              }
              domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
            } else {
              domElem = document.querySelectorAll(selector);
            }
            this._domElem.push(domElem[domElem.length - 1]);
            this.length = 1;
            return this;
          } else if (selector.indexOf(':not') &gt; -1) {
            var filter = selector.substring(selector.indexOf(':') + 1);
            selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
            // https://stackoverflow.com/questions/17779744/regular-expression-to-get-a-string-between-parentheses-in-javascript/17780281
            var regExp = /\(([^)]+)\)/;
            filter = regExp.exec(filter)[1];
            if (filter &amp;&amp; filter.charAt(filter.length - 1) !== "\"" &amp;&amp; filter.charAt(filter.length - 1) !== "'") {
              filter = "\"".concat(filter.replace(/\"/g, "'"), "\"");
            }
            filter = JSON.parse(filter);
            if (context &amp;&amp; context.length) {
              var _iterator19 = _createForOfIteratorHelper(context.domElem),
                _step19;
              try {
                for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) {
                  var _this$_domElem;
                  var _el7 = _step19.value;
                  (_this$_domElem = this._domElem).push.apply(_this$_domElem, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el7.querySelectorAll(selector)));
                }
              } catch (err) {
                _iterator19.e(err);
              } finally {
                _iterator19.f();
              }
              this._domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(this._domElem)); // prevent duplicates
            } else {
              this._domElem = document.querySelectorAll(selector);
            }
            this.length = this._domElem.length;
            return this.not(filter);
          }
          if (context &amp;&amp; context.length) {
            domElem = [];
            var _iterator20 = _createForOfIteratorHelper(context.domElem),
              _step20;
            try {
              for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) {
                var _domElem10;
                var _el8 = _step20.value;
                (_domElem10 = domElem).push.apply(_domElem10, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el8.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector))));
              }
            } catch (err) {
              _iterator20.e(err);
            } finally {
              _iterator20.f();
            }
            domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
          } else {
            domElem = document.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector));
          }
          domElem.forEach(function (dom) {
            return _this18._domElem.push(dom);
          });
          this.length = this._domElem.length;
          return this;
        } else {
          regClass.test(selector);
          regId.test(selector);
          if (context &amp;&amp; context.length) {
            domElem = [];
            var _iterator21 = _createForOfIteratorHelper(context.domElem),
              _step21;
            try {
              for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) {
                var _el9 = _step21.value;
                //node like &lt;p&gt; or &lt;div&gt;. || A Document node.
                if (_el9.nodeType === 1 || _el9.nodeType === 9) {
                  var _domElem11;
                  (_domElem11 = domElem).push.apply(_domElem11, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el9.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector))));
                }
              }
            } catch (err) {
              _iterator21.e(err);
            } finally {
              _iterator21.f();
            }
            domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
          } else {
            domElem = document.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector));
          }
          domElem.forEach(function (dom) {
            return _this18._domElem.push(dom);
          });
          this.length = this._domElem.length;
          return this;
        }
      } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(selector) === 'object' &amp;&amp; selector === libUtils.options.winObj) {
        this[0] = selector;
        this._domElem.push(selector);
        this.length = 1;
        return this;
        //TODO: Need to assign the this._domElem with selector
      } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(selector) === 'object' &amp;&amp; selector.hasOwnProperty('_domElem')) {
        this._domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selector._domElem);
        this.length = this._domElem.length;
        return this;
      } else if (selector.nodeType) {
        if (selector.nodeType === 9) {
          this[0] = selector;
          this._domElem.push(selector);
          this.length = 1;
        } else {
          this._domElem.push(selector);
          this.length = this._domElem.length;
        }
        return this;

        // HANDLE: $(function)
        // Shortcut for document ready
      } else if (selector.constructor &amp;&amp; selector.constructor.name === "HTMLCollection") {
        var _iterator22 = _createForOfIteratorHelper(selector),
          _step22;
        try {
          for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) {
            var _el10 = _step22.value;
            this._domElem.push(_el10);
          }
        } catch (err) {
          _iterator22.e(err);
        } finally {
          _iterator22.f();
        }
        this.length = selector.length;
        return this;
      } else if (typeof selector === "function") {
        return this.ready(selector);
      }
      //libUtils.resetDom(this);
      return this;
    }
  }, {
    key: "find",
    value: function find(selector) {
      // Create a new empty shell plus instance
      var plusObj = plus$2(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = libUtils.getChildNodes(container, selector);
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "next",
    value: function next(filter) {
      var plusObj = plus$2(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      var param = filter,
        itsId = false,
        itsClass = false,
        idValue = '',
        classArray = [],
        selectedVal = '';
      if (param) {
        itsId = libUtils.options.regxId.test(param);
        idValue = libUtils.getIdName(param);
        itsClass = libUtils.options.regxClass.test(param);
        classArray = libUtils.getClassName(param);
      }
      selectedVal = itsId ? idValue : itsClass ? classArray : "";
      container.forEach(function (dom) {
        var nextSiblingSelector = dom.nextElementSibling,
          selectedDom = '';
        if (param &amp;&amp; nextSiblingSelector) {
          plusObj._domElem = libUtils.getSelectionList(itsId, itsClass, selectedVal, param, nextSiblingSelector, plusObj._domElem);
        } else if (!param) {
          selectedDom = nextSiblingSelector;
        }
        if (selectedDom) {
          plusObj._domElem.push(selectedDom);
        }
      });
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "prev",
    value: function prev(filter) {
      var plusObj = plus$2(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      var param = filter,
        itsId = false,
        itsClass = false,
        idValue = '',
        classArray = [],
        selectedVal = '';
      if (param) {
        itsId = libUtils.options.regxId.test(param);
        idValue = libUtils.getIdName(param);
        itsClass = libUtils.options.regxClass.test(param);
        classArray = libUtils.getClassName(param);
      }
      selectedVal = itsId ? idValue : itsClass ? classArray : "";
      container.forEach(function (dom) {
        var previousSiblingSelector = dom.previousElementSibling,
          selectedDom = '';
        if (param &amp;&amp; previousSiblingSelector) {
          plusObj._domElem = libUtils.getSelectionList(itsId, itsClass, selectedVal, param, previousSiblingSelector, plusObj._domElem);
        } else if (!param) {
          selectedDom = previousSiblingSelector;
        }
        if (selectedDom) {
          plusObj._domElem.push(selectedDom);
        }
      });
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "parent",
    value: function parent(selector) {
      var plusObj = plus$2(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      var param = selector,
        itsId = false,
        itsClass = false,
        idValue = '',
        classArray = [],
        selectedVal = '';
      if (param) {
        itsId = libUtils.options.regxId.test(param);
        idValue = libUtils.getIdName(param);
        itsClass = libUtils.options.regxClass.test(param);
        classArray = libUtils.getClassName(param);
      }
      selectedVal = itsId ? idValue : itsClass ? classArray : "";
      container.forEach(function (dom) {
        var parent = dom.parentElement,
          selectedDom = '';
        if (param &amp;&amp; parent) {
          plusObj._domElem = libUtils.getSelectionList(itsId, itsClass, selectedVal, param, parent, plusObj._domElem);
        } else if (!param) {
          selectedDom = parent;
        }
        if (selectedDom) {
          plusObj._domElem.push(selectedDom);
        }
      });
      var uniqueDom = libUtils.uniqueDom(plusObj._domElem);
      plusObj._domElem = uniqueDom;
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "nextAll",
    value: function nextAll(selector) {
      var plusObj = plus$2(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      var selectedDom = [],
        args = [];
      if (container[0].parentNode) {
        if (typeof selector === 'string' &amp;&amp; selector !== "") {
          args = selector.split(',');
          var regxClass = libUtils.options.regxClass,
            regxId = libUtils.options.regxId,
            libUtility = libUtils;
          args.forEach(function (arg) {
            var param = arg.trim(),
              itsId = regxId.test(param),
              idValue = libUtility.getIdName(param),
              itsClass = regxClass.test(param),
              classArray = libUtility.getClassName(param),
              selectedVal = '';
            selectedVal = itsId ? idValue : itsClass ? classArray : "";
            selectedDom = libUtility.nextAllHelper(param, selectedVal, container, itsClass, itsId, plusObj._domElem);
            plusObj._domElem = [].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(plusObj._domElem), (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom));
          });
        } else if (!selector || selector === "") {
          container.forEach(function (dom) {
            var sibling = dom.nextElementSibling;
            while (sibling) {
              if (sibling.nodeType === 1) {
                selectedDom.push(sibling);
              }
              sibling = sibling.nextElementSibling;
            }
          });
          plusObj._domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom);
        }
        var uniqueDom = libUtils.uniqueDom(plusObj._domElem);
        plusObj._domElem = uniqueDom;
        plusObj.length = plusObj._domElem.length;
      }
      return plusObj;
    }
  }, {
    key: "parents",
    value: function parents(selector) {
      var plusObj = plus$2(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      var selectedDom = [],
        args = [];
      if (typeof selector === 'string' &amp;&amp; selector !== "") {
        args = selector.split(',');
        var regxClass = libUtils.options.regxClass,
          regxId = libUtils.options.regxId,
          libUtility = libUtils;
        args.forEach(function (arg) {
          var param = arg.trim(),
            itsId = regxId.test(param),
            idValue = libUtility.getIdName(param),
            itsClass = regxClass.test(param),
            classArray = libUtility.getClassName(param),
            selectedVal = '';
          selectedVal = itsId ? idValue : itsClass ? classArray : "";
          selectedDom = libUtility.allParentsHelper(param, selectedVal, container, itsClass, itsId, plusObj._domElem);
          plusObj._domElem = [].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(plusObj._domElem), (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom));
        });
      } else if (!selector || selector === "") {
        container.forEach(function (dom) {
          var parent = dom.parentElement;
          while (parent) {
            if (parent.nodeType === 1) {
              selectedDom.push(parent);
            }
            parent = parent.parentElement;
          }
        });
        plusObj._domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom);
      }
      var uniqueDom = libUtils.uniqueDom(plusObj._domElem);
      plusObj._domElem = uniqueDom;
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "prevAll",
    value: function prevAll(selector) {
      var plusObj = plus$2(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      var selectedDom = [],
        args = [];
      if (container[0].parentNode) {
        if (typeof selector === 'string' &amp;&amp; selector !== "") {
          args = selector.split(',');
          var libUtility = libUtils,
            regxClass = libUtility.options.regxClass,
            regxId = libUtility.options.regxId;
          args.forEach(function (arg) {
            var param = arg.trim(),
              itsId = regxId.test(param),
              idValue = libUtility.getIdName(param),
              itsClass = regxClass.test(param),
              classArray = libUtility.getClassName(param),
              selectedVal = '';
            selectedVal = itsId ? idValue : itsClass ? classArray : "";
            selectedDom = libUtility.prevAllHelper(param, selectedVal, container, itsClass, itsId, plusObj._domElem);
            plusObj._domElem = [].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(plusObj._domElem), (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom));
          });
        } else if (!selector || selector === "") {
          container.forEach(function (dom) {
            var sibling = dom.previousElementSibling;
            while (sibling) {
              if (sibling.nodeType === 1) {
                selectedDom.push(sibling);
              }
              sibling = sibling.previousElementSibling;
            }
          });
          plusObj._domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom);
        }
        var uniqueDom = libUtils.uniqueDom(plusObj._domElem);
        plusObj._domElem = uniqueDom;
        plusObj.length = plusObj._domElem.length;
      }
      return plusObj;
    }
  }, {
    key: "siblings",
    value: function siblings(selector) {
      var plusObj = plus$2(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      if (container.length === 0) {
        plusObj.length = 0;
        return plusObj;
      }
      var selectedDom = [],
        args = [];
      if (container[0].parentNode) {
        if (typeof selector === 'string' &amp;&amp; selector !== "") {
          args = selector.split(',');
          var regxClass = libUtils.options.regxClass,
            regxId = libUtils.options.regxId,
            libUtility = libUtils;
          args.forEach(function (arg) {
            var param = arg.trim(),
              itsId = regxId.test(param),
              idValue = libUtility.getIdName(param),
              itsClass = regxClass.test(param),
              classArray = libUtility.getClassName(param),
              selectedVal = '';
            selectedVal = itsId ? idValue : itsClass ? classArray : "";
            selectedDom = libUtility.sibilingAllHelper(param, selectedVal, container, itsClass, itsId, plusObj._domElem);
            plusObj._domElem = [].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(plusObj._domElem), (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom));
          });
        } else if (!selector || selector === "") {
          container.forEach(function (dom) {
            var sibling = dom.parentElement ? dom.parentElement.firstElementChild : null;
            while (sibling) {
              if (sibling.nodeType === 1 &amp;&amp; sibling !== dom) {
                selectedDom.push(sibling);
              }
              sibling = sibling.nextElementSibling;
            }
          });
          plusObj._domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom);
        }
        var uniqueDom = libUtils.uniqueDom(plusObj._domElem);
        plusObj._domElem = uniqueDom;
        plusObj.length = plusObj._domElem.length;
      }
      return plusObj;
    }
  }]);
}();
var Utils = /*#__PURE__*/function () {
  function Utils() {
    (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)(this, Utils);
  }
  return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(Utils, [{
    key: "text",
    value: function text(val) {
      var container = this._domElem;
      var text = [];
      if (val || val === "") {
        container.forEach(function (dom) {
          dom.innerText = String(val);
        });
        return this;
      } else {
        container.forEach(function (dom) {
          text.push(dom.innerText);
        });
        return text.join(' ');
      }
    }
  }, {
    key: "addClass",
    value: function addClass(className) {
      var container = this._domElem;
      var classNames = className.split(' ');
      container.forEach(function (dom) {
        return classNames.forEach(function (c) {
          return dom.classList.add(c);
        });
      });
      return this;
    }
  }, {
    key: "removeClass",
    value: function removeClass(className) {
      var container = this._domElem;
      var classNames = className.split(' ');
      container.forEach(function (dom) {
        return classNames.forEach(function (c) {
          return dom.classList.remove(c);
        });
      });
      return this;
    }
  }, {
    key: "toggleClass",
    value: function toggleClass(className) {
      var container = this._domElem;
      var classNames = className.split(' ');
      container.forEach(function (dom) {
        return classNames.forEach(function (c) {
          return dom.classList.toggle(c);
        });
      });
      return this;
    }
  }, {
    key: "after",
    value: function after() {
      var _this19 = this;
      for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 &lt; _len12; _key12++) {
        args[_key12] = arguments[_key12];
      }
      var container = this._domElem;
      args = args.reverse();
      // migrate node reference instead of destroying in cases where container.length is 1
      if (container.length === 1) {
        var dom = container[0];
        args.forEach(function (arg) {
          if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(arg) === 'object') {
            if (arg._domElem) {
              var _iterator23 = _createForOfIteratorHelper(arg._domElem),
                _step23;
              try {
                for (_iterator23.s(); !(_step23 = _iterator23.n()).done;) {
                  var el = _step23.value;
                  dom.after(el);
                }
              } catch (err) {
                _iterator23.e(err);
              } finally {
                _iterator23.f();
              }
            } else if (arg.nodeType === Node.TEXT_NODE) {
              dom.insertAdjacentHTML("afterend", arg.textContent);
            } else if (arg.length) {
              // recursively open arg
              var _iterator24 = _createForOfIteratorHelper(arg),
                _step24;
              try {
                for (_iterator24.s(); !(_step24 = _iterator24.n()).done;) {
                  var ar = _step24.value;
                  _this19.after(ar);
                }
              } catch (err) {
                _iterator24.e(err);
              } finally {
                _iterator24.f();
              }
            } else {
              dom.after(arg);
            }
          } else if (typeof arg === 'function') {
            dom.insertAdjacentHTML("afterend", arg(index));
          } else {
            dom.insertAdjacentHTML("afterend", arg);
          }
        });
      } else {
        container.forEach(function (dom, index) {
          args.forEach(function (arg) {
            if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(arg) === 'object') {
              if (arg._domElem) {
                var _iterator25 = _createForOfIteratorHelper(arg._domElem),
                  _step25;
                try {
                  for (_iterator25.s(); !(_step25 = _iterator25.n()).done;) {
                    var el = _step25.value;
                    libUtils.insertElementAndRemoveOriginal(dom, "afterend", el, _this19);
                  }
                } catch (err) {
                  _iterator25.e(err);
                } finally {
                  _iterator25.f();
                }
              } else if (arg.nodeType === Node.TEXT_NODE) {
                dom.insertAdjacentHTML("afterend", arg.textContent);
              } else if (arg.length) {
                // recursively open arg
                var _iterator26 = _createForOfIteratorHelper(arg),
                  _step26;
                try {
                  for (_iterator26.s(); !(_step26 = _iterator26.n()).done;) {
                    var ar = _step26.value;
                    _this19.after(ar);
                  }
                } catch (err) {
                  _iterator26.e(err);
                } finally {
                  _iterator26.f();
                }
              } else {
                libUtils.insertElementAndRemoveOriginal(dom, "afterend", arg, _this19);
              }
            } else if (typeof arg === 'function') {
              dom.insertAdjacentHTML("afterend", arg(index));
            } else {
              dom.insertAdjacentHTML("afterend", arg);
            }
          });
        });
      }
      return this;
    }
  }, {
    key: "before",
    value: function before() {
      var _this20 = this;
      for (var _len13 = arguments.length, args = new Array(_len13), _key13 = 0; _key13 &lt; _len13; _key13++) {
        args[_key13] = arguments[_key13];
      }
      var container = this._domElem;
      // migrate node reference instead of destroying in cases where container.length is 1
      if (container.length === 1) {
        var dom = container[0];
        args.forEach(function (arg) {
          if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(arg) === 'object') {
            if (arg._domElem) {
              var _iterator27 = _createForOfIteratorHelper(arg._domElem),
                _step27;
              try {
                for (_iterator27.s(); !(_step27 = _iterator27.n()).done;) {
                  var el = _step27.value;
                  dom.before(el);
                }
              } catch (err) {
                _iterator27.e(err);
              } finally {
                _iterator27.f();
              }
            } else if (arg.nodeType === Node.TEXT_NODE) {
              dom.insertAdjacentHTML("beforebegin", arg.textContent);
            } else if (arg.length) {
              // recursively open arg
              var _iterator28 = _createForOfIteratorHelper(arg),
                _step28;
              try {
                for (_iterator28.s(); !(_step28 = _iterator28.n()).done;) {
                  var ar = _step28.value;
                  _this20.before(ar);
                }
              } catch (err) {
                _iterator28.e(err);
              } finally {
                _iterator28.f();
              }
            } else {
              dom.before(arg);
            }
          } else if (typeof arg === 'function') {
            dom.insertAdjacentHTML("beforebegin", arg(index));
          } else {
            dom.insertAdjacentHTML("beforebegin", arg);
          }
        });
      } else {
        container.forEach(function (dom, index) {
          args.forEach(function (arg) {
            if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(arg) === 'object') {
              if (arg._domElem) {
                var _iterator29 = _createForOfIteratorHelper(arg._domElem),
                  _step29;
                try {
                  for (_iterator29.s(); !(_step29 = _iterator29.n()).done;) {
                    var el = _step29.value;
                    libUtils.insertElementAndRemoveOriginal(dom, "beforebegin", el, _this20);
                  }
                } catch (err) {
                  _iterator29.e(err);
                } finally {
                  _iterator29.f();
                }
              } else if (arg.nodeType === Node.TEXT_NODE) {
                dom.insertAdjacentHTML("beforebegin", arg.textContent);
              } else if (arg.length) {
                // recursively open arg
                var _iterator30 = _createForOfIteratorHelper(arg),
                  _step30;
                try {
                  for (_iterator30.s(); !(_step30 = _iterator30.n()).done;) {
                    var ar = _step30.value;
                    _this20.before(ar);
                  }
                } catch (err) {
                  _iterator30.e(err);
                } finally {
                  _iterator30.f();
                }
              } else {
                libUtils.insertElementAndRemoveOriginal(dom, "beforebegin", arg, _this20);
              }
            } else if (typeof arg === 'function') {
              dom.insertAdjacentHTML("beforebegin", arg(index));
            } else {
              dom.insertAdjacentHTML("beforebegin", arg);
            }
          });
        });
      }
      return this;
    }
  }, {
    key: "append",
    value: function append() {
      var _this21 = this;
      for (var _len14 = arguments.length, args = new Array(_len14), _key14 = 0; _key14 &lt; _len14; _key14++) {
        args[_key14] = arguments[_key14];
      }
      var container = this._domElem;
      // migrate node reference instead of destroying in cases where container.length is 1
      if (container.length === 1) {
        var dom = container[0];
        args.forEach(function (arg) {
          if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(arg) === 'object') {
            if (arg._domElem) {
              var _iterator31 = _createForOfIteratorHelper(arg._domElem),
                _step31;
              try {
                for (_iterator31.s(); !(_step31 = _iterator31.n()).done;) {
                  var el = _step31.value;
                  dom.append(el);
                }
              } catch (err) {
                _iterator31.e(err);
              } finally {
                _iterator31.f();
              }
            } else if (arg.nodeType === Node.TEXT_NODE) {
              dom.insertAdjacentHTML("beforeend", arg.textContent);
            } else if (arg.length) {
              // recursively open arg
              var _iterator32 = _createForOfIteratorHelper(arg),
                _step32;
              try {
                for (_iterator32.s(); !(_step32 = _iterator32.n()).done;) {
                  var ar = _step32.value;
                  _this21.append(ar);
                }
              } catch (err) {
                _iterator32.e(err);
              } finally {
                _iterator32.f();
              }
            } else {
              dom.append(arg);
            }
          } else if (typeof arg === 'function') dom.insertAdjacentHTML("beforeend", arg(index, dom.innerHTML));else dom.insertAdjacentHTML("beforeend", arg);
        });
      } else {
        container.forEach(function (dom, index) {
          args.forEach(function (arg) {
            if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(arg) === 'object') {
              if (arg._domElem) {
                var _iterator33 = _createForOfIteratorHelper(arg._domElem),
                  _step33;
                try {
                  for (_iterator33.s(); !(_step33 = _iterator33.n()).done;) {
                    var el = _step33.value;
                    libUtils.insertElementAndRemoveOriginal(dom, "beforeend", el, _this21);
                  }
                } catch (err) {
                  _iterator33.e(err);
                } finally {
                  _iterator33.f();
                }
              } else if (arg.nodeType === Node.TEXT_NODE) {
                dom.insertAdjacentHTML("beforeend", arg.textContent);
              } else if (arg.length) {
                // recursively open arg
                var _iterator34 = _createForOfIteratorHelper(arg),
                  _step34;
                try {
                  for (_iterator34.s(); !(_step34 = _iterator34.n()).done;) {
                    var ar = _step34.value;
                    _this21.append(ar);
                  }
                } catch (err) {
                  _iterator34.e(err);
                } finally {
                  _iterator34.f();
                }
              } else {
                libUtils.insertElementAndRemoveOriginal(dom, "beforeend", arg, _this21);
              }
            } else if (typeof arg === 'function') dom.insertAdjacentHTML("beforeend", arg(index, dom.innerHTML));else dom.insertAdjacentHTML("beforeend", arg);
          });
        });
      }
      return this;
    }
  }, {
    key: "prepend",
    value: function prepend() {
      var _this22 = this;
      for (var _len15 = arguments.length, args = new Array(_len15), _key15 = 0; _key15 &lt; _len15; _key15++) {
        args[_key15] = arguments[_key15];
      }
      var container = this._domElem;
      args = args.reverse();
      // migrate node reference instead of destroying in cases where container.length is 1
      if (container.length === 1) {
        var dom = container[0];
        args.forEach(function (arg) {
          if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(arg) === 'object') {
            if (arg._domElem) {
              var _iterator35 = _createForOfIteratorHelper(arg._domElem),
                _step35;
              try {
                for (_iterator35.s(); !(_step35 = _iterator35.n()).done;) {
                  var el = _step35.value;
                  dom.prepend(el);
                }
              } catch (err) {
                _iterator35.e(err);
              } finally {
                _iterator35.f();
              }
            } else if (arg.nodeType === Node.TEXT_NODE) {
              dom.insertAdjacentHTML("afterbegin", arg.textContent);
            } else if (arg.length) {
              // recursively open arg
              var _iterator36 = _createForOfIteratorHelper(arg),
                _step36;
              try {
                for (_iterator36.s(); !(_step36 = _iterator36.n()).done;) {
                  var ar = _step36.value;
                  _this22.prepend(ar);
                }
              } catch (err) {
                _iterator36.e(err);
              } finally {
                _iterator36.f();
              }
            } else {
              dom.prepend(arg);
            }
          } else if (typeof arg === 'function') dom.insertAdjacentHTML("afterbegin", arg(index, dom.innerHTML));else dom.insertAdjacentHTML("afterbegin", arg);
        });
      } else {
        container.forEach(function (dom, index) {
          args.forEach(function (arg) {
            if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(arg) === 'object') {
              if (arg._domElem) {
                var _iterator37 = _createForOfIteratorHelper(arg._domElem),
                  _step37;
                try {
                  for (_iterator37.s(); !(_step37 = _iterator37.n()).done;) {
                    var el = _step37.value;
                    libUtils.insertElementAndRemoveOriginal(dom, "afterbegin", el, _this22);
                  }
                } catch (err) {
                  _iterator37.e(err);
                } finally {
                  _iterator37.f();
                }
              } else if (arg.nodeType === Node.TEXT_NODE) {
                dom.insertAdjacentHTML("afterbegin", arg.textContent);
              } else if (arg.length) {
                // recursively open arg
                var _iterator38 = _createForOfIteratorHelper(arg),
                  _step38;
                try {
                  for (_iterator38.s(); !(_step38 = _iterator38.n()).done;) {
                    var ar = _step38.value;
                    _this22.prepend(ar);
                  }
                } catch (err) {
                  _iterator38.e(err);
                } finally {
                  _iterator38.f();
                }
              } else {
                libUtils.insertElementAndRemoveOriginal(dom, "afterbegin", arg, _this22);
              }
            } else if (typeof arg === 'function') dom.insertAdjacentHTML("afterbegin", arg(index, dom.innerHTML));else dom.insertAdjacentHTML("afterbegin", arg);
          });
        });
      }
      return this;
    }
  }, {
    key: "appendTo",
    value: function appendTo(selector) {
      var _this23 = this;
      var args = this.insertTo(selector),
        argLength,
        container;
      if (args.length) {
        this.append.apply(this, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(args));
        argLength = args.length;
      } else {
        this.append(args);
        argLength = 1;
      }

      // return appropriate this to chain + retrieve references to newly added elements
      container = this._domElem;
      this._domElem = [];
      container.forEach(function (dom) {
        for (var idx = 1; idx &lt;= argLength; idx++) {
          if (dom.children.length - idx &gt;= 0) {
            _this23._domElem.push(dom.children[dom.children.length - idx]);
          }
        }
      });
      this.length = this._domElem.length;
      return this;
    }
  }, {
    key: "prependTo",
    value: function prependTo(selector) {
      var _this24 = this;
      var args = this.insertTo(selector),
        argLength,
        container;
      if (args.length) {
        this.prepend.apply(this, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(args));
        argLength = args.length;
      } else {
        this.prepend(args);
        argLength = 1;
      }

      // return appropriate this to chain + retrieve references to newly added elements
      container = this._domElem;
      this._domElem = [];
      container.forEach(function (dom) {
        for (var idx = 0; idx &lt; argLength; idx++) {
          if (idx &lt; dom.children.length) {
            _this24._domElem.push(dom.children[idx]);
          }
        }
      });
      this.length = this._domElem.length;
      return this;
    }
  }, {
    key: "insertTo",
    value: function insertTo(selector) {
      var _this25 = this;
      var container = this._domElem;
      var skipthis = false,
        tobeInserted = [];
      container.forEach(function (dom) {
        if (!dom.isAhtmlString) {
          tobeInserted.push(dom);
          libUtils.removeElement(dom, _this25);
        } else delete dom.isAhtmlString;
      });
      if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(selector) === 'object' &amp;&amp; selector._domElem) {
        skipthis = true;
        this._domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selector._domElem);
        this.prevObj = selector.prevObj ? (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selector.prevObj) : [];
        this.length = selector.length;
      }
      if (!skipthis) this.init(selector);
      if (tobeInserted.length) return tobeInserted;else return container[0];
    }
  }, {
    key: "attr",
    value: function attr() {
      for (var _len16 = arguments.length, args = new Array(_len16), _key16 = 0; _key16 &lt; _len16; _key16++) {
        args[_key16] = arguments[_key16];
      }
      var container = this._domElem;
      if (args.length === 1 &amp;&amp; typeof args[0] === 'string') {
        //get attribute value
        var val = container.length ? container[0].getAttribute(args[0]) : "";
        return val;
      } else if (args.length === 1 &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(args[0]) === 'object') {
        //set attribute using object
        container.forEach(function (dom) {
          for (var property in args[0]) {
            dom.setAttribute(property, args[0][property]);
          }
        });
      } else if (args.length === 2) {
        //set attribute to all
        container.forEach(function (dom, index) {
          //if args[0] is string and args[1] is function
          if (typeof args[0] === 'string' &amp;&amp; typeof args[1] === 'function') {
            var attrVal = dom.getAttribute(args[0]);
            if (attrVal) {
              var newAttrVal;
              if (isNaN(parseInt(attrVal))) newAttrVal = args[1](index, attrVal);else newAttrVal = args[1](index, parseInt(attrVal));
              dom.setAttribute(args[0], newAttrVal);
            }
            //if args[0] is string and second is value
          } else if (typeof args[0] === 'string') {
            dom.setAttribute(args[0], args[1]);
          }
        });
      }
      return this;
    }
  }, {
    key: "clone",
    value: function clone() {
      var plusObj = plus(),
        container = this._domElem;
      plusObj._domElem = [];
      //TODO: eventhandlers cant be copied in javascript
      container.forEach(function (dom) {
        plusObj._domElem.push(dom.cloneNode(true));
      });
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "css",
    value: function css() {
      for (var _len17 = arguments.length, args = new Array(_len17), _key17 = 0; _key17 &lt; _len17; _key17++) {
        args[_key17] = arguments[_key17];
      }
      var container = this._domElem;
      if (args.length === 1 &amp;&amp; typeof args[0] === 'string') {
        //get style
        return container.length ? libUtils.getStyle(container[0], args[0]) : "";
      } else if (args.length === 1 &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(args[0]) === 'object') {
        //update css to the all dom elements
        container.forEach(function (dom) {
          var counter = 0,
            css = '',
            newStyleVal = '';
          for (var property in args[0]) {
            counter++;
            newStyleVal = '';
            if (!/^[1-9]\d*(\.\d+)?$/.test(args[0][property])) {
              css = "".concat(css).concat(property, ":").concat(args[0][property]);
            } else {
              newStyleVal = parseInt(args[0][property]);
              newStyleVal = libUtils.getUnits(newStyleVal, property);
              css = "".concat(css).concat(property, ":").concat(newStyleVal);
            }
            if (counter &lt; Object.keys(args[0]).length) css = "".concat(css, ";");
          }
          dom.style.cssText = dom.style.cssText + css;
        });
      } else if (args.length === 2) {
        //set attribute to all
        container.forEach(function (dom, index) {
          //if args[0] is string and args[1] is function
          if (typeof args[0] === 'string' &amp;&amp; typeof args[1] === 'function') {
            var attrVal = libUtils.getStyle(dom, args[0]),
              newStyleVal = '';
            if (attrVal) {
              if (!/^[1-9]\d*(\.\d+)?$/.test(attrVal)) {
                newStyleVal = args[1](index, attrVal);
                dom.style[args[0]] = newStyleVal;
              } else {
                newStyleVal = args[1](index, parseInt(attrVal));
                dom.style[args[0]] = libUtils.getUnits(newStyleVal, args[0]);
              }
            }
            //if args[0] is string and second is value
          } else if (typeof args[0] === 'string') {
            var _newStyleVal = '';
            if (!/^[1-9]\d*(\.\d+)?$/.test(args[1])) {
              dom.style[args[0]] = args[1];
            } else if (args[1] === '') {
              dom.style.removeProperty(args[0]);
            } else {
              _newStyleVal = parseInt(args[1]);
              _newStyleVal = libUtils.getUnits(_newStyleVal, args[0]);
              dom.style[args[0]] = _newStyleVal;
            }
          }
        });
      }
      return this;
    }
  }, {
    key: "empty",
    value: function empty() {
      var container = this._domElem;
      container.forEach(function (dom) {
        dom.innerHTML = "";
      });
      return this;
    }
  }, {
    key: "hasClass",
    value: function hasClass(classname) {
      var container = this._domElem;
      var hasClass = false;
      container.forEach(function (dom) {
        if (dom.classList.contains(classname)) hasClass = true;
      });
      return hasClass;
    }
  }, {
    key: "height",
    value: function height(param) {
      var container = this._domElem;
      var body = document.body,
        html = document.documentElement,
        maxHeight = 0;
      if (param) {
        container.forEach(function (dom, index) {
          if (typeof param === 'function') {
            var currentHeight = libUtils.getStyle(dom, 'height');
            dom.style.height = libUtils.getUnits(param(index, parseInt(currentHeight)));
          } else dom.style.height = libUtils.getUnits(param);
        });
        return this;
      } else {
        if (container[0] === document.defaultView) {
          maxHeight = Math.max(html.clientHeight, html.offsetHeight);
          return maxHeight;
        } else if (container.length &amp;&amp; container[0].nodeType === 9) {
          maxHeight = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);
          return maxHeight;
        } else {
          var heightStyle = container.length ? libUtils.getStyle(container[0], 'height') : 0;
          if (container.length &amp;&amp; libUtils.getStyle(container[0], 'display') === 'none') {
            container[0].style.display = '';
            heightStyle = libUtils.getStyle(container[0], 'height');
            container[0].style.display = 'none';
          }
          return container.length ? parseInt(heightStyle !== 'auto' &amp;&amp; heightStyle !== '' ? heightStyle : 0) : 0;
        }
      }
    }
  }, {
    key: "html",
    value: function html(content) {
      var container = this._domElem;
      if (content !== undefined &amp;&amp; content !== null) {
        container.forEach(function (dom, index) {
          if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(content) === "object" &amp;&amp; content._domElem) {
            dom.innerHTML = content._domElem.length ? content._domElem.map(function (dom) {
              return dom.outerHTML;
            }).join("") : "";
          } else if (typeof content === 'function') {
            var currentHtml = dom.innerHTML;
            dom.innerHTML = content.call(dom, index, currentHtml);
          } else if (Array.isArray(content)) {
            dom.innerHTML = content.join("");
          } else dom.innerHTML = content;
        });
        return this;
      } else return container.length ? container[0].innerHTML : "";
    }
  }, {
    key: "innerHeight",
    value: function innerHeight() {
      var container = this._domElem;
      var body = document.body,
        html = document.documentElement,
        maxHeight = 0;
      if (container[0] === document.defaultView) {
        maxHeight = Math.max(html.clientHeight, html.offsetHeight);
        return maxHeight;
      } else if (container.length &amp;&amp; container[0].nodeType === 9) {
        maxHeight = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);
        return maxHeight;
      } else {
        return container.length ? container[0].clientHeight : 0;
      }
    }
  }, {
    key: "innerWidth",
    value: function innerWidth() {
      var container = this._domElem;
      var body = document.body,
        html = document.documentElement,
        maxWidth = 0,
        winInnerWidth = 0;
      if (container[0] === document.defaultView) {
        winInnerWidth = Math.max(html.offsetWidth, html.clientWidth);
        return winInnerWidth;
      } else if (container.length &amp;&amp; container[0].nodeType === 9) {
        maxWidth = Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);
        return maxWidth;
      } else {
        return container.length ? container[0].clientWidth : 0;
      }
    }
  }, {
    key: "insertAfter",
    value: function insertAfter(selector) {
      if (selector) {
        var args = this.insertTo(selector);
        if (args.length) this.after.apply(this, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(args));else this.after(args);
        this._domElem = this.prevObj;
        this.length = this._domElem.length;
        return this;
      }
      return this;
    }
  }, {
    key: "insertBefore",
    value: function insertBefore(selector) {
      if (selector) {
        var args = this.insertTo(selector);
        if (args.length) this.before.apply(this, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(args));else this.before(args);
        this._domElem = this.prevObj;
        this.length = this._domElem.length;
        return this;
      }
      return this;
    }
  }, {
    key: "offset",
    value: function offset(offsetVal) {
      var container = this._domElem;
      if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(offsetVal) === 'object') {
        container.forEach(function (dom) {
          libUtils.offsetAlreadyAvailable(dom, offsetVal);
        });
      } else if (typeof offsetVal === 'function') {
        container.forEach(function (dom, index) {
          var tempOffsetObj = libUtils.getOffset(dom);
          var newOffset = offsetVal(index, tempOffsetObj);
          libUtils.offsetAlreadyAvailable(dom, newOffset);
        });
      } else {
        return container.length ? libUtils.getOffset(container[0]) : undefined;
      }
      return this;
    }
  }, {
    key: "outerHeight",
    value: function outerHeight(plusMargin) {
      var container = this._domElem;
      var body = document.body,
        html = document.documentElement,
        maxHeight = 0;
      if (plusMargin) {
        var marginTop = container.length ? libUtils.getStyle(container[0], 'margin-top') : "",
          marginBottom = container.length ? libUtils.getStyle(container[0], 'margin-bottom') : "",
          offsetHeight = container.length ? container[0].offsetHeight : 0;
        return parseInt(marginTop) + parseInt(marginBottom) + offsetHeight;
      } else {
        if (container[0] === document.defaultView) {
          return container[0].innerHeight;
        } else if (container.length &amp;&amp; container[0].nodeType === 9) {
          maxHeight = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);
          return maxHeight;
        } else {
          return container.length ? container[0].offsetHeight : 0;
        }
      }
    }
  }, {
    key: "outerWidth",
    value: function outerWidth(plusMargin) {
      var container = this._domElem;
      var body = document.body,
        html = document.documentElement,
        maxWidth = 0;
      if (plusMargin) {
        var marginLeft = container.length ? libUtils.getStyle(container[0], 'margin-left') : "",
          marginRight = container.length ? libUtils.getStyle(container[0], 'margin-right') : "",
          offSetWidth = container.length ? container[0].offsetWidth : 0;
        return parseInt(marginLeft) + parseInt(marginRight) + offSetWidth;
      } else {
        if (container[0] === document.defaultView) {
          return container[0].innerWidth;
        } else if (container.length &amp;&amp; container[0].nodeType === 9) {
          maxWidth = Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);
          return maxWidth;
        } else {
          return container.length ? container[0].offsetWidth : 0;
        }
      }
    }
  }, {
    key: "position",
    value: function position() {
      var container = this._domElem;
      var leftVal = container.length ? container[0].offsetLeft : 0,
        topVal = container.length ? container[0].offsetTop : 0;
      return {
        left: leftVal,
        top: topVal
      };
    }
  }, {
    key: "prop",
    value: function prop() {
      for (var _len18 = arguments.length, args = new Array(_len18), _key18 = 0; _key18 &lt; _len18; _key18++) {
        args[_key18] = arguments[_key18];
      }
      var container = this._domElem;
      if (args.length === 1 &amp;&amp; typeof args[0] === 'string') {
        var _prop = args[0];
        return container[0] ? container[0][_prop] : "";
      } else if (args.length === 1 &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(args[0]) === 'object') {
        //set prop using object
        container.forEach(function (dom) {
          for (var property in args[0]) {
            dom[property] = args[0][property];
          }
        });
      } else if (args.length === 2) {
        //set prop to all
        container.forEach(function (dom, index) {
          //if args[0] is string and args[1] is function
          if (typeof args[0] === 'string' &amp;&amp; typeof args[1] === 'function') {
            var propVal = dom.args[0];
            if (propVal) {
              var newPropVal = args[1](index, propVal);
              dom[args[0]] = newPropVal;
            }
            //if args[0] is string and second is value
          } else if (typeof args[0] === 'string') {
            dom[args[0]] = args[1];
          }
        });
      }
      return this;
    }
  }, {
    key: "remove",
    value: function remove(selector) {
      var _this26 = this;
      var container = this._domElem;
      if (typeof selector === 'string') {
        var htmlSelectors = selector.split(',');
        htmlSelectors.forEach(function (selector) {
          var param = selector.trim(),
            libOptions = libUtils.options,
            itsId = libOptions.regxId.test(param),
            idValue = libUtils.getIdName(param),
            itsClass = libOptions.regxClass.test(param),
            classArray = libUtils.getClassName(param),
            selectedVal = '';
          selectedVal = itsId ? idValue : itsClass ? classArray : "";
          container.forEach(function (dom) {
            if (itsId &amp;&amp; selectedVal &amp;&amp; dom.id === selectedVal) {
              if (itsClass) {
                var iDsclassArray = param.split('.'),
                  tempArray = [],
                  hasClassName = false;
                iDsclassArray.forEach(function (thisClass) {
                  if (thisClass) {
                    if (libOptions.regxId.test(thisClass)) {
                      thisClass = thisClass.split('#')[0];
                    }
                    tempArray.push(thisClass);
                  }
                });
                tempArray.forEach(function (thisClass, i) {
                  if (i === 0 &amp;&amp; dom.classList.contains(thisClass)) {
                    hasClassName = true;
                  } else if (dom.classList.contains(thisClass) &amp;&amp; hasClassName) {
                    hasClassName = true;
                  } else {
                    hasClassName = false;
                  }
                });
                if (hasClassName) {
                  libUtils.removeElement(dom, _this26);
                }
              } else {
                libUtils.removeElement(dom, _this26);
              }
            } else if (!itsId &amp;&amp; itsClass &amp;&amp; selectedVal.length) {
              var _hasClassName3 = false;
              selectedVal.forEach(function (className, i) {
                if (i === 0 &amp;&amp; dom.classList.contains(className)) {
                  _hasClassName3 = true;
                } else if (dom.classList.contains(className) &amp;&amp; _hasClassName3) {
                  _hasClassName3 = true;
                } else {
                  _hasClassName3 = false;
                }
              });
              if (_hasClassName3) {
                libUtils.removeElement(dom, _this26);
              }
            } else if (!itsId &amp;&amp; !itsClass &amp;&amp; dom.nodeName.toLowerCase() === param.trim().toLowerCase()) {
              libUtils.removeElement(dom, _this26);
            }
          });
        });
      } else {
        container.forEach(function (dom) {
          libUtils.removeElement(dom, _this26);
        });
      }
      return this;
    }
  }, {
    key: "removeAttr",
    value: function removeAttr(name) {
      var container = this._domElem;
      var attributes = name ? name.split(" ") : [];
      if (attributes.length) {
        attributes.forEach(function (attrName) {
          container.forEach(function (dom) {
            dom.removeAttribute(attrName);
          });
        });
      }
      return this;
    }
  }, {
    key: "replaceAll",
    value: function replaceAll(selector) {
      var _this27 = this;
      var container = this._domElem;
      if (selector) {
        this.init(selector);
        if (container[0] &amp;&amp; container[0].isAhtmlString) {
          var selectorContainer = this._domElem,
            newItem = container[0];
          selectorContainer.forEach(function (dom) {
            dom.insertAdjacentHTML("beforebegin", newItem.outerHTML);
            libUtils.removeElement(dom, _this27);
          });
        }
      }
      return this;
    }
  }, {
    key: "replaceWith",
    value: function replaceWith(selector) {
      var _this28 = this;
      var container = this._domElem;
      var content;
      if (typeof selector === 'function') {
        container.forEach(function (dom, index) {
          var funReturns = selector(index);
          if (typeof funReturns === 'string' &amp;&amp; funReturns[0] === "&lt;" &amp;&amp; funReturns[funReturns.length - 1] === "&gt;" &amp;&amp; funReturns.length &gt;= 3) {
            var doc4 = new DOMParser().parseFromString(funReturns, "text/xml");
            content = doc4.firstChild;
          } else {
            content = funReturns;
          }
          libUtils.replaceWithHelper(dom, content, _this28);
        });
      } else {
        container.forEach(function (dom) {
          libUtils.replaceWithHelper(dom, selector, _this28);
        });
      }
      return this;
    }
  }, {
    key: "scrollLeft",
    value: function scrollLeft(val) {
      var container = this._domElem;
      var htmlDoc = document.getElementsByTagName('html')[0];
      if (val || val === 0) {
        var scrollLeftVal = parseInt(val);
        container.forEach(function (dom) {
          if (dom === document.defaultView) {
            htmlDoc.scrollLeft = scrollLeftVal;
          } else {
            dom.scrollLeft = scrollLeftVal;
          }
        });
      } else {
        if (container[0] === document.defaultView) {
          return container[0] ? htmlDoc.scrollLeft : 0;
        } else {
          return container.length ? container[0].scrollLeft : 0;
        }
      }
      return this;
    }
  }, {
    key: "scrollTop",
    value: function scrollTop(val) {
      var container = this._domElem;
      var htmlDoc = document.getElementsByTagName('html')[0];
      if (val || val === 0) {
        var scrollTopVal = parseInt(val);
        container.forEach(function (dom) {
          if (dom === document.defaultView) {
            htmlDoc.scrollTop = scrollTopVal;
          } else {
            dom.scrollTop = scrollTopVal;
          }
        });
      } else {
        if (container[0] === document.defaultView) {
          return container[0] ? htmlDoc.scrollTop : 0;
        } else if (container[0].nodeType === 9) {
          return container[0] ? document.scrollingElement.scrollTop : 0;
        } else {
          return container.length ? container[0].scrollTop : 0;
        }
      }
      return this;
    }
  }, {
    key: "unwrap",
    value: function unwrap() {
      var container = this._domElem;
      container.forEach(function (dom) {
        if (dom.parentElement.nodeName !== "BODY") dom.parentElement.outerHTML = dom.parentElement.innerHTML;
      });
      return this;
    }
  }, {
    key: "wrap",
    value: function wrap(wrappingElement) {
      var _this29 = this;
      var container = this._domElem;
      if (wrappingElement) {
        if (typeof wrappingElement === 'function') {
          container.forEach(function (dom, i) {
            var functionReturn = wrappingElement(i);
            _this29.init(functionReturn);
            var selectorContainer = _this29._domElem[0];
            selectorContainer.innerHTML = dom.outerHTML;
            dom.outerHTML = selectorContainer.outerHTML;
          });
        } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(wrappingElement) === 'object') {
          var selectorContainer = wrappingElement;
          libUtils.wrapWith(container, selectorContainer);
        } else {
          this.init(wrappingElement);
          var _selectorContainer = this._domElem[0];
          libUtils.wrapWith(container, _selectorContainer);
        }
      }
      return this;
    }
  }, {
    key: "wrapAll",
    value: function wrapAll(wrappingElement) {
      var container = this._domElem;
      if (wrappingElement) {
        if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(wrappingElement) === 'object') {
          var wrapper = wrappingElement;
          libUtils.wrapAll(container, wrapper, this);
        } else {
          this.init(wrappingElement);
          var _wrapper = this._domElem[0];
          libUtils.wrapAll(container, _wrapper, this);
        }
      }
      return this;
    }
  }, {
    key: "wrapInner",
    value: function wrapInner(wrappingElement) {
      var container = this._domElem;
      if (wrappingElement) {
        if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(wrappingElement) === 'object') {
          var wrapper = wrappingElement;
          libUtils.wrapInner(container, wrapper);
        } else {
          this.init(wrappingElement);
          var _wrapper2 = this._domElem[0];
          libUtils.wrapInner(container, _wrapper2);
        }
      }
      return this;
    }
  }, {
    key: "val",
    value: function val(setVal) {
      var container = this._domElem;
      if (setVal !== undefined &amp;&amp; typeof setVal === 'string') {
        container.forEach(function (dom) {
          dom.value = setVal;
        });
        return this;
      } else {
        return container.length ? container[0].value : "";
      }
    }
  }, {
    key: "width",
    value: function width(param) {
      var container = this._domElem;
      var body = document.body,
        html = document.documentElement,
        maxWidth = 0,
        winWidth = 0;
      if (param) {
        container.forEach(function (dom, index) {
          if (typeof param === 'function') {
            var currentWidth = libUtils.getStyle(dom, 'width');
            dom.style.width = libUtils.getUnits(param(index, parseInt(currentWidth)));
          } else dom.style.width = libUtils.getUnits(param);
        });
        return this;
      } else {
        if (container[0] === document.defaultView) {
          winWidth = Math.max(html.offsetWidth, html.clientWidth);
          return winWidth;
        } else if (container.length &amp;&amp; container[0].nodeType === 9) {
          maxWidth = Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);
          return maxWidth;
        } else {
          var widthStyle = container.length ? libUtils.getStyle(container[0], 'width') : 0;
          if (container.length &amp;&amp; libUtils.getStyle(container[0], 'display') === 'none') {
            container[0].style.display = '';
            widthStyle = libUtils.getStyle(container[0], 'width');
            container[0].style.display = 'none'; // toggle back to none after calc
          }
          return container.length ? parseInt(widthStyle !== 'auto' &amp;&amp; widthStyle !== '' ? widthStyle : 0) : 0;
        }
      }
    }
  }, {
    key: "detach",
    value: function detach() {
      var container = this._domElem;
      var detachedElem = container.length ? container[0] : "";
      if (detachedElem) {
        detachedElem.detachingElement = true;
        detachedElem.parentElement.removeChild(detachedElem);
      }
      return detachedElem;
    }
  }, {
    key: "children",
    value: function children(filter) {
      var plusObj = plus(),
        container = this._domElem;
      plusObj._domElem = [];
      if (filter &amp;&amp; filter !== "") {
        var _param = filter,
          itsId = libUtils.options.regxId.test(_param),
          idValue = libUtils.getIdName(_param),
          itsClass = libUtils.options.regxClass.test(_param),
          classArray = libUtils.getClassName(_param),
          selectedVal = '';
        selectedVal = itsId ? idValue : itsClass ? classArray : "";
        container.forEach(function (dom) {
          var _iterator39 = _createForOfIteratorHelper(dom.children),
            _step39;
          try {
            for (_iterator39.s(); !(_step39 = _iterator39.n()).done;) {
              var child = _step39.value;
              plusObj._domElem = libUtils.getSelectionList(itsId, itsClass, selectedVal, _param, child, plusObj._domElem);
            }
          } catch (err) {
            _iterator39.e(err);
          } finally {
            _iterator39.f();
          }
        });
      } else {
        container.forEach(function (dom) {
          var _iterator40 = _createForOfIteratorHelper(dom.children),
            _step40;
          try {
            for (_iterator40.s(); !(_step40 = _iterator40.n()).done;) {
              var child = _step40.value;
              plusObj._domElem.push(child);
            }
          } catch (err) {
            _iterator40.e(err);
          } finally {
            _iterator40.f();
          }
        });
      }
      plusObj.prevObj = container;
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "closest",
    value: function closest(filter) {
      // Create a new empty shell plus instance
      var plusObj = plus();
      var container = this._domElem;
      plusObj.prevObj = this._domElem;
      if (filter) {
        plusObj._domElem = [];
        container.forEach(function (dom) {
          if (dom.closest(filter)) plusObj._domElem.push(dom.closest(filter));
        });
      }
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "each",
    value: function each(method) {
      var plusObj = plus(),
        container = this._domElem;
      container.forEach(function (dom, i) {
        plusObj.init(dom);
        method.call(dom, i, dom);
        plusObj._domElem = [];
      });
    }
  }, {
    key: "eq",
    value: function eq(index) {
      var plusObj = plus(),
        container = this._domElem;
      plusObj._domElem = [];
      if (index !== undefined) {
        index = String(index).trim();
        if (!libUtils.options.regxHasAlphabets.test(index)) {
          index = parseInt(index);
          if (index &lt; 0) index = container.length + index;
          container.forEach(function (dom, i) {
            if (i === index) plusObj._domElem.push(dom);
          });
        }
      }
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "filter",
    value: function filter(criteria) {
      var plusObj = plus(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      if (criteria) {
        var selectedDom = [],
          args = [];
        if (typeof criteria === 'string') {
          if (/[\[(].+,.+[\])]/g.test(criteria)) {
            args = [criteria];
          } else {
            args = criteria.split(',');
          }
          var regxClass = libUtils.options.regxClass,
            regxId = libUtils.options.regxId,
            libUtility = libUtils;
          args.forEach(function (arg) {
            var param = arg.trim(),
              itsId = regxId.test(param),
              idValue = libUtility.getIdName(param),
              itsClass = regxClass.test(param),
              classArray = libUtility.getClassName(param),
              selectedVal = '';
            selectedVal = itsId ? idValue : itsClass ? classArray : "";
            selectedDom = libUtility.filterHelper(param, selectedVal, container, itsClass, itsId, plusObj._domElem);
            plusObj._domElem = [].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(plusObj._domElem), (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom));
          });
        } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(criteria) === 'object') {
          container.forEach(function (dom) {
            if (dom.isSameNode(criteria)) plusObj._domElem.push(dom);
          });
        } else if (typeof criteria === 'function') {
          container.forEach(function (dom, i) {
            plusObj.init(dom);
            var valid = criteria.call(dom, i, dom);
            if (valid) selectedDom.push(dom);
          });
          plusObj._domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom);
        }
        var uniqueDom = libUtils.uniqueDom(plusObj._domElem);
        plusObj._domElem = uniqueDom;
        plusObj.length = plusObj._domElem.length;
      }
      return plusObj;
    }
  }, {
    key: "first",
    value: function first() {
      var plusObj = plus(),
        container = this._domElem;
      plusObj._domElem = [];
      if (container.length) plusObj._domElem.push(container[0]);
      plusObj.length = 1;
      return plusObj;
    }
  }, {
    key: "has",
    value: function has(elemt) {
      var plusObj = plus(),
        container = this._domElem;
      var itsId = false,
        itsClass = false,
        selectedVal = "",
        classList = "";
      plusObj._domElem = [];
      if (elemt) {
        if (typeof elemt === 'string') {
          itsId = libUtils.options.regxId.test(elemt);
          itsClass = libUtils.options.regxClass.test(elemt);
          selectedVal = '';
          selectedVal = itsId ? elemt.split('#')[1] : itsClass ? elemt.split('.')[1] : "";
        } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(elemt) === 'object') {
          classList = elemt.classList ? elemt.classList.value : "";
          classList = classList ? "." + classList.trim().split(" ").join(",.") : "";
          selectedVal = elemt.id ? elemt.id : classList;
          selectedVal = selectedVal ? selectedVal : elemt.nodeName;
        }
        if (selectedVal !== "") {
          var parents = libUtils.hasChilds(container, selectedVal);
          plusObj._domElem = parents.length ? (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(parents) : container;
        } else {
          plusObj._domElem = container;
        }
      }
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "is",
    value: function is(selector) {
      var _this30 = this;
      var container = this._domElem;
      var foundElem = false;
      if (typeof selector === 'string') {
        var _param2 = selector,
          itsClass = libUtils.options.regxClass.test(_param2),
          itsId = libUtils.options.regxId.test(_param2),
          itsColon = libUtils.options.isColon.test(_param2),
          selectedVal = '',
          colonValue = '';
        selectedVal = itsClass ? _param2.split('.')[1] : _param2.split('#')[1];
        colonValue = _param2.split(':')[1];
        if (itsColon) {
          if (colonValue === 'first-child' &amp;&amp; container.length &amp;&amp; container[0].parentElement.children[0] === container[0]) {
            foundElem = true;
          } else if (colonValue === 'last-child' &amp;&amp; container.length &amp;&amp; container[0].parentElement.children[container[0].parentElement.children.length - 1] === container[0]) {
            foundElem = true;
          } else if (selectedVal &amp;&amp; (colonValue === 'visible' || colonValue === 'hidden')) {
            //if selector has class or id with colon visible or hidden
            var selectedValNew = selectedVal.split(':')[0];
            container.forEach(function (dom) {
              if (itsId &amp;&amp; colonValue === 'visible' &amp;&amp; dom.clientHeight &gt; 0 &amp;&amp; dom.id === selectedValNew) {
                foundElem = true;
              } else if (itsId &amp;&amp; colonValue === 'hidden' &amp;&amp; dom.clientHeight === 0 &amp;&amp; dom.id === selectedValNew) {
                foundElem = true;
              } else if (itsClass &amp;&amp; colonValue === 'visible' &amp;&amp; dom.clientHeight &gt; 0 &amp;&amp; dom.classList.contains(selectedValNew)) {
                foundElem = true;
              } else if (itsClass &amp;&amp; colonValue === 'hidden' &amp;&amp; dom.clientHeight === 0 &amp;&amp; dom.classList.contains(selectedValNew)) {
                foundElem = true;
              }
            });
          } else if (colonValue === 'visible' || colonValue === 'hidden') {
            container.forEach(function (dom) {
              if (colonValue === 'visible' &amp;&amp; dom.clientHeight &gt; 0) {
                foundElem = true;
              } else if (colonValue === 'hidden' &amp;&amp; dom.clientHeight === 0) {
                foundElem = true;
              }
            });
          } else if (selectedVal &amp;&amp; colonValue === 'checked') {
            var _selectedValNew = selectedVal.split(':')[0];
            container.forEach(function (dom) {
              if (itsId &amp;&amp; dom['checked'] &amp;&amp; dom.id === _selectedValNew) {
                foundElem = true;
              } else if (itsClass &amp;&amp; dom['checked'] &amp;&amp; dom.classList.contains(_selectedValNew)) {
                foundElem = true;
              }
            });
          } else if (colonValue === 'checked') {
            foundElem = container.some(function (c, i) {
              return _this30.eq(i).prop('checked');
            });
          }
          return foundElem;
        }
        container.forEach(function (dom) {
          if (itsId &amp;&amp; selectedVal &amp;&amp; dom.id === selectedVal) {
            foundElem = true;
          } else if (itsClass &amp;&amp; selectedVal &amp;&amp; (dom.classList.contains(selectedVal) || dom.matches(selector))) {
            foundElem = true;
          } else if (dom.nodeName.toLowerCase() === _param2.trim().toLowerCase()) {
            foundElem = true;
          }
        });
        return foundElem;
      } else if (typeof selector === 'function') {
        container.forEach(function (dom, i) {
          _this30.init(dom);
          if (selector.call(dom, i, dom)) foundElem = true;
        });
        return foundElem;
      } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(selector) === 'object') {
        container.forEach(function (dom) {
          if (selector._domElem) {
            selector._domElem.forEach(function (el) {
              if (dom.isSameNode(el)) {
                foundElem = true;
              }
            });
          } else if (dom.isSameNode(selector)) {
            foundElem = true;
          }
        });
        return foundElem;
      } else return false;
    }
  }, {
    key: "last",
    value: function last() {
      var plusObj = plus(),
        container = this._domElem;
      plusObj._domElem = [];
      var last = container.length - 1;
      if (container.length) plusObj._domElem.push(container[last]);
      plusObj.length = 1;
      return plusObj;
    }
  }, {
    key: "not",
    value: function not(criteria) {
      var _this31 = this;
      var plusObj = plus(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      if (criteria) {
        var selectedDom = [],
          args = [];
        if (typeof criteria === 'string') {
          args = criteria.split(',');
          var libUtility = libUtils,
            regxClass = libUtils.options.regxClass,
            regxId = libUtils.options.regxId,
            regxAttributeSelector = libUtils.options.regxAttributeSelector;
          args.forEach(function (arg) {
            var param = arg.trim(),
              itsId = regxId.test(param),
              idValue = libUtility.getIdName(param),
              itsClass = regxClass.test(param),
              classArray = libUtility.getClassName(param),
              itsAttributeSelector = regxAttributeSelector.test(param),
              selectedVal = '';
            selectedVal = itsId ? idValue : itsClass ? classArray : itsAttributeSelector ? param : "";
            selectedDom = libUtility.reverseFilterHelper(param, selectedVal, container, itsClass, itsId, itsAttributeSelector);
            plusObj._domElem = [].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(plusObj._domElem), (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom));
          });
        } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(criteria) === 'object') {
          container.forEach(function (dom) {
            if (!Array.isArray(criteria)) {
              criteria = [criteria];
            }
            if (!criteria.some(function (el) {
              return dom.isSameNode(el);
            })) plusObj._domElem.push(dom);
          });
        } else if (typeof criteria === 'function') {
          container.forEach(function (dom, i) {
            _this31.init(dom);
            var valid = criteria(i);
            if (!valid) selectedDom.push(dom);
          });
          plusObj._domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selectedDom);
        }
        var uniqueDom = libUtils.uniqueDom(plusObj._domElem);
        plusObj._domElem = uniqueDom;
        plusObj.length = plusObj._domElem.length;
      }
      return plusObj;
    }
  }, {
    key: "slice",
    value: function slice(start, stop) {
      var plusObj = plus(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      if (start &amp;&amp; start !== "") {
        start = String(start).trim();
        if (!libUtils.options.regxHasAlphabets.test(start)) {
          start = parseInt(start);
          if (start &lt; 0) start = container.length + start;
          if (stop &amp;&amp; stop !== "" &amp;&amp; !libUtils.options.regxHasAlphabets.test(start)) {
            stop = parseInt(stop);
            if (stop &lt; 0) stop = container.length + stop;
          }
          container.forEach(function (dom, i) {
            if (stop &amp;&amp; stop !== "") {
              if (i &gt;= start &amp;&amp; i &lt; stop) plusObj._domElem.push(dom);
            } else {
              if (i &gt;= start) plusObj._domElem.push(dom);
            }
          });
        }
      }
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "contents",
    value: function contents() {
      var plusObj = plus(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      container.forEach(function (dom) {
        if (dom.nodeName === 'IFRAME') plusObj._domElem = [].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(plusObj._domElem), [dom.contentDocument]);else plusObj._domElem = [].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(plusObj._domElem), (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(dom.childNodes));
      });
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "end",
    value: function end() {
      var plusObj = plus();
      var previousState = this.prevObj;
      // check if prevObj is formatted correctly (an array)
      if (previousState !== undefined &amp;&amp; !Array.isArray(previousState)) {
        console.warn("plus end() format warning: prevObj is not an array ".concat(this.prevObj));
        previousState = [previousState];
      }
      plusObj.prevObj = [libUtils.options.winDoc];
      plusObj._domElem = previousState;
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "data",
    value: function data() {
      var container = this._domElem;
      if (arguments.length === 1) {
        //get a value
        if ((arguments.length &lt;= 0 ? undefined : arguments[0]) &amp;&amp; typeof (arguments.length &lt;= 0 ? undefined : arguments[0]) === 'string') {
          var dataName = libUtils.hyphenCheck(arguments.length &lt;= 0 ? undefined : arguments[0]),
            dataValue = container.length ? libUtils.isItDataObject(container[0].dataset[dataName]) : "";
          return dataValue;
          //set mutiple value
        } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(arguments.length &lt;= 0 ? undefined : arguments[0]) === 'object') {
          var dataObj = arguments.length &lt;= 0 ? undefined : arguments[0];
          container.forEach(function (dom) {
            for (var _dataName in dataObj) {
              var withOutHyphen = libUtils.hyphenCheck(_dataName),
                _dataValue = dataObj[_dataName];
              _dataValue = (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(_dataValue) === 'object' ? JSON.stringify(_dataValue) : _dataValue;
              dom.dataset[withOutHyphen] = _dataValue;
            }
          });
          return this;
        }
      } else if (arguments.length === 2) {
        var _dataName2 = arguments.length &lt;= 0 ? undefined : arguments[0],
          _dataValue2 = arguments.length &lt;= 1 ? undefined : arguments[1];
        _dataValue2 = (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(_dataValue2) === 'object' &amp;&amp; !(_dataValue2 instanceof HTMLElement) ? JSON.stringify(_dataValue2) : _dataValue2;
        //set a single value
        container.forEach(function (dom) {
          _dataName2 = libUtils.hyphenCheck(_dataName2);
          dom.dataset[_dataName2] = _dataValue2;
        });
        return this;
      } else {
        // get all value as object
        var _data2 = container.length ? container[0].dataset : "",
          tempObj = {};
        if (_data2) {
          for (var property in _data2) {
            if (_data2.hasOwnProperty(property)) {
              var _dataValue3 = _data2[property];
              tempObj[property] = libUtils.isItDataObject(_dataValue3);
            }
          }
        }
        return tempObj;
      }
    }
  }, {
    key: "removeData",
    value: function removeData(name) {
      var container = this._domElem;
      name = name ? String(name).trim() : name;
      container.forEach(function (dom) {
        var dataObj = dom.dataset;
        for (var dataName in dataObj) {
          if (dataObj.hasOwnProperty(dataName)) {
            if (name &amp;&amp; dataName === name) delete dom.dataset[dataName];
            if (name === undefined) delete dom.dataset[dataName];
          }
        }
      });
      return this;
    }
  }, {
    key: "get",
    value: function get(num) {
      var container = this._domElem;
      var selectedDom = [];
      if (num !== undefined &amp;&amp; num !== "" &amp;&amp; !libUtils.options.regxHasAlphabets.test(num)) {
        num = parseInt(num);
        container.forEach(function (dom, i) {
          if (i === num) selectedDom.push(dom);
        });
        return selectedDom[0];
      } else if (num !== "") {
        return this._domElem;
      } else {
        return undefined;
      }
    }
  }, {
    key: "map",
    value: function map(callback) {
      var plusObj = plus(),
        container = this._domElem;
      plusObj.prevObj = this._domElem;
      plusObj._domElem = [];
      var domVal = '',
        tempArray = [];
      container.forEach(function (dom) {
        plusObj.init(dom);
        domVal = callback();
        if (domVal !== null &amp;&amp; domVal !== undefined) {
          tempArray.push(domVal);
        }
      });
      plusObj._domElem = [].concat(tempArray);
      plusObj.length = plusObj._domElem.length;
      return plusObj;
    }
  }, {
    key: "index",
    value: function index(selector) {
      var index = -1;
      var container = this._domElem;
      if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(selector) === 'object') {
        // selector is either plus object or dom element
        if (selector.constructor &amp;&amp; selector.constructor.name === "Plus") {
          selector = selector._domElem[0];
        }
        container.forEach(function (dom, i) {
          if (dom.isSameNode &amp;&amp; dom.isSameNode(selector)) index = i;
        });
      } else if (container.length &amp;&amp; container[0] !== null) {
        var parent = container[0].parentElement;
        var counter = 0;
        var _iterator41 = _createForOfIteratorHelper(parent.children),
          _step41;
        try {
          for (_iterator41.s(); !(_step41 = _iterator41.n()).done;) {
            var child = _step41.value;
            if (container[0].isSameNode(child)) index = counter;
            counter++;
          }
        } catch (err) {
          _iterator41.e(err);
        } finally {
          _iterator41.f();
        }
      }
      return index;
    }
  }, {
    key: "toArray",
    value: function toArray() {
      var container = this._domElem;
      var tempArray = [];
      container.forEach(function (dom) {
        tempArray.push(dom);
      });
      return tempArray;
    }
  }, {
    key: "serializeArray",
    value: function serializeArray() {
      var VALID_FORM_TYPES = ["text", "password", "textarea", "select-one", "email", "checkbox", "hidden", "tel"];
      var container = this._domElem;
      var tempArray = [];
      container.forEach(function (dom) {
        var formElements = dom.elements;
        if (formElements.length) {
          var _iterator42 = _createForOfIteratorHelper(formElements),
            _step42;
          try {
            for (_iterator42.s(); !(_step42 = _iterator42.n()).done;) {
              var eachElement = _step42.value;
              var tempObj = {};
              if (VALID_FORM_TYPES.indexOf(eachElement.type) !== -1 &amp;&amp; eachElement.name !== "") {
                tempObj.name = eachElement.name;
                tempObj.value = eachElement.value;
                tempArray.push(tempObj);
              }
            }
          } catch (err) {
            _iterator42.e(err);
          } finally {
            _iterator42.f();
          }
        }
      });
      return tempArray;
    }
  }]);
}();
function extend() {
  var target = arguments[0] || {},
    deep = false,
    i = 1;
  if (typeof target === "boolean") {
    deep = target;
    target = arguments[1] || {};
    i++;
  }
  if (deep) {
    for (; i &lt; arguments.length; i++) {
      var obj = arguments[i];
      if (!obj) {
        continue;
      }
      for (var key in obj) {
        if (obj.hasOwnProperty(key)) {
          if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(obj[key]) === 'object') {
            if (obj[key] instanceof Array == true) {
              target[key] = obj[key].slice(0);
            } else {
              target[key] = extend(target[key], obj[key]);
            }
          } else {
            target[key] = obj[key];
          }
        }
      }
    }
  } else {
    for (; i &lt; arguments.length; i++) {
      if (!arguments[i]) continue;
      for (var key in arguments[i]) {
        if (arguments[i].hasOwnProperty(key)) target[key] = arguments[i][key];
      }
    }
  }
  return target;
}
function map(set, callback) {
  var filteredArray = [];
  if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(set) === 'object' &amp;&amp; set.constructor === Object) {
    for (var prop in set) {
      if (set.hasOwnProperty(prop)) {
        filteredArray.push(callback(set[prop], prop));
      }
    }
  } else {
    var newarray = set.map(callback);
    var i = 0;
    for (i = 0; i &lt; newarray.length; i++) {
      var value = newarray[i];
      if (value !== null &amp;&amp; value !== "") {
        if (value &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(value) === 'object' &amp;&amp; Array.isArray(value)) {
          filteredArray = [].concat((0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(filteredArray), (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(newarray[i]));
        } else filteredArray.push(newarray[i]);
      }
    }
  }
  return filteredArray;
}
function param(requestObject) {
  var query = '';
  if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(requestObject) === 'object' &amp;&amp; requestObject.constructor === Object) {
    var objLength = Object.keys(requestObject).length,
      counter = 0;
    for (var prop in requestObject) {
      if (requestObject.hasOwnProperty(prop)) {
        var propValue = requestObject[prop];
        if (Array.isArray(propValue)) {
          query = "".concat(libUtils.iterateArray(propValue, prop, query));
        } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(propValue) === 'object' &amp;&amp; propValue.constructor === Object) {
          query = "".concat(libUtils.iterateObject(propValue, prop, query));
        } else {
          query = "".concat(query).concat(prop, "=").concat(encodeURIComponent(propValue));
        }
        counter++;
        if (counter &lt; objLength) {
          query = "".concat(query, "&amp;");
        }
      }
    }
  }
  return query;
}
function proxy(callback, context) {
  return callback.bind(context);
}
var PlusPromise = /*#__PURE__*/function (_Promise) {
  function PlusPromise(executor) {
    var _this32;
    (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)(this, PlusPromise);
    _this32 = _callSuper(this, PlusPromise, [executor]);
    _this32.always = _this32.always.bind(_this32);
    _this32.done = _this32.done.bind(_this32);
    _this32.fail = _this32.fail.bind(_this32);
    return _this32;
  }
  (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A)(PlusPromise, _Promise);
  return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(PlusPromise, [{
    key: "then",
    value: function then(onFulfilled, onRejected) {
      // higher order function that spreads the args array to the callback
      var spreadArgs = function spreadArgs(callback, isResolve) {
        return typeof callback === 'function' ? function (args) {
          if (isResolve) {
            if (Array.isArray(args)) {
              return Promise.resolve(callback.apply(void 0, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(args)));
            } else {
              return Promise.resolve(callback(args));
            }
          } else {
            if (Array.isArray(args)) {
              return Promise.reject(callback.apply(void 0, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(args)));
            } else {
              return Promise.reject(callback(args));
            }
          }
        } : function () {};
      };
      return _superPropGet(PlusPromise, "then", this, 3)([spreadArgs(onFulfilled, true), spreadArgs(onRejected, false)]);
    }
  }, {
    key: "always",
    value: function always() {
      for (var _len19 = arguments.length, callbacks = new Array(_len19), _key19 = 0; _key19 &lt; _len19; _key19++) {
        callbacks[_key19] = arguments[_key19];
      }
      for (var _i = 0, _callbacks = callbacks; _i &lt; _callbacks.length; _i++) {
        var c = _callbacks[_i];
        this.then(c, c);
      }
      return this;
    }
  }, {
    key: "done",
    value: function done(onFulfilled) {
      this.then(onFulfilled);
      return this;
    }
  }, {
    key: "fail",
    value: function fail(onRejected) {
      this.then(undefined, onRejected);
      return this;
    }
  }]);
}(/*#__PURE__*/(0,_babel_runtime_helpers_wrapNativeSuper__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .A)(Promise));
function Deferred(beforeStart) {
  var resolveCallback, rejectCallback;
  var p = new PlusPromise(function (resolve, reject) {
    resolveCallback = resolve;
    rejectCallback = reject;
  });

  // catch failed promises so console error not thrown
  p["catch"](function () {});

  // keep track of state for state() method
  p._state = 'pending';

  // reveal references to external p + extend resolve/reject to accept multiple params
  p.resolve = function () {
    p._state = 'resolved';
    for (var _len20 = arguments.length, args = new Array(_len20), _key20 = 0; _key20 &lt; _len20; _key20++) {
      args[_key20] = arguments[_key20];
    }
    resolveCallback(args);
    return p;
  };
  p.reject = function () {
    p._state = 'rejected';
    for (var _len21 = arguments.length, args = new Array(_len21), _key21 = 0; _key21 &lt; _len21; _key21++) {
      args[_key21] = arguments[_key21];
    }
    rejectCallback(args);
    return p;
  };
  // additional methods of deferred
  p.resolveWith = function (context) {
    p._state = 'resolved';
    for (var _len22 = arguments.length, args = new Array(_len22 &gt; 1 ? _len22 - 1 : 0), _key22 = 1; _key22 &lt; _len22; _key22++) {
      args[_key22 - 1] = arguments[_key22];
    }
    resolveCallback.call(context, args);
    return p;
  };
  p.rejectWith = function (context) {
    p._state = 'rejected';
    for (var _len23 = arguments.length, args = new Array(_len23 &gt; 1 ? _len23 - 1 : 0), _key23 = 1; _key23 &lt; _len23; _key23++) {
      args[_key23 - 1] = arguments[_key23];
    }
    rejectCallback.call(context, args);
    return p;
  };
  p.state = function () {
    return p._state;
  };
  // promise but with only methods that don't modify the state
  p.promise = function () {
    var ALLOWED_METHODS = ['always', 'catch', 'done', 'fail', 'promise', 'state', 'then'];
    return new Proxy(p, {
      get: function get(target, prop) {
        if (ALLOWED_METHODS.indexOf(prop) !== -1) {
          var value = target[prop];
          return typeof value == 'function' ? value.bind(target) : value;
        }
      }
    });
  };
  if (typeof beforeStart === 'function') beforeStart.call(p, p);
  return p;
}
function when() {
  for (var _len24 = arguments.length, deferreds = new Array(_len24), _key24 = 0; _key24 &lt; _len24; _key24++) {
    deferreds[_key24] = arguments[_key24];
  }
  if (arguments.length === 0) {
    return PlusPromise.resolve();
  } else if (arguments.length === 1) {
    if (deferreds[0] instanceof PlusPromise) {
      return deferreds[0];
    } else {
      return PlusPromise.resolve(deferreds[0]);
    }
  }

  // handling of resolve/reject outputs if not one
  var normalizeOutput = function normalizeOutput(args) {
    if (args.length === 1) {
      return args[0];
    } else if (args.length &gt; 1) {
      return [args];
    }
  };

  // transform deferreds promise returns to return only one output which es6 Promise expects
  deferreds = deferreds.map(function (d) {
    if (d instanceof PlusPromise) {
      return new Promise(function (resolve, reject) {
        d.then(function () {
          for (var _len25 = arguments.length, args = new Array(_len25), _key25 = 0; _key25 &lt; _len25; _key25++) {
            args[_key25] = arguments[_key25];
          }
          return resolve(normalizeOutput(args));
        });
        d["catch"](function () {
          for (var _len26 = arguments.length, args = new Array(_len26), _key26 = 0; _key26 &lt; _len26; _key26++) {
            args[_key26] = arguments[_key26];
          }
          return reject(normalizeOutput(args));
        });
      });
    } else if (!d instanceof Promise) {
      return Promise.resolve(d);
    } else {
      return d;
    }
  });
  var p = PlusPromise.all(deferreds);
  p["catch"](function () {});
  return p;
}
/**https://j11y.io/jquery/#v=2.1.3&amp;fn=jQuery.each
 * Modified a bit to allow plus object
 */
function each(obj, callback, args) {
  var value,
    i = 0,
    length = obj.length,
    isArray = Array.isArray(obj);
  if (args) {
    if (isArray) {
      for (; i &lt; length; i++) {
        value = callback.apply(obj[i], args);
        if (value === false) {
          break;
        }
      }
    } else {
      if ('_domElem' in obj) {
        //if its a plus object
        var htmlCollection = obj._domElem;
        for (var j = 0; j &lt; htmlCollection.length; j++) {
          value = callback.apply(htmlCollection[j], args);
          if (value === false) {
            break;
          }
        }
      } else {
        for (i in obj) {
          value = callback.apply(obj[i], args);
          if (value === false) {
            break;
          }
        }
      }
    }

    // A special, fast, case for the most common use of each
  } else {
    if (isArray) {
      for (; i &lt; length; i++) {
        value = callback.call(obj[i], i, obj[i]);
        if (value === false) {
          break;
        }
      }
    } else {
      if ('_domElem' in obj) {
        //if its a plus object
        var _htmlCollection = obj._domElem;
        for (var _j = 0; _j &lt; _htmlCollection.length; _j++) {
          value = callback.call(_htmlCollection[_j], _j, _htmlCollection[_j]);
          if (value === false) {
            break;
          }
        }
      } else {
        for (i in obj) {
          value = callback.call(obj[i], i, obj[i]);
          if (value === false) {
            break;
          }
        }
      }
    }
  }
  return obj;
}
function merge(first, second) {
  if (Array.isArray(first) &amp;&amp; Array.isArray(second)) {
    second.forEach(function (item) {
      return first.push(item);
    });
    return first;
  } else if (!Array.isArray(first) || !Array.isArray(second)) {
    return first;
  }
}
function parseHTML(str) {
  var tmp = document.implementation.createHTMLDocument();
  tmp.body.innerHTML = str;
  return tmp.body.children;
}

// https://j11y.io/jquery/#v=2.1.3&amp;fn=jQuery.grep
function grep(elems, callback, invert) {
  var callbackInverse,
    matches = [],
    i = 0,
    length = elems.length,
    callbackExpect = !invert;

  // Go through the array, only saving the items
  // that pass the validator function
  for (; i &lt; length; i++) {
    callbackInverse = !callback(elems[i], i);
    if (callbackInverse !== callbackExpect) {
      matches.push(elems[i]);
    }
  }
  return matches;
}
function inArray(elem, arr) {
  var i = arguments.length &gt; 2 &amp;&amp; arguments[2] !== undefined ? arguments[2] : 0;
  return arr == null ? -1 : arr.slice(i).indexOf(elem);
}
function isEmptyObject(obj) {
  var name;
  for (name in obj) {
    return false;
  }
  return true;
}
function _data(elem, name) {
  var events,
    names = elem.namespace;
  /**
   * This _data function is strictly fetches event names, added through plus library
   */
  if (name === 'events' &amp;&amp; names) {
    events = {};
    for (var prop in names) {
      //assign epmty array - can add more data to it in future respective to the element
      events[prop] = [];
    }
  }
  return events;
}
function noop() {}
var utilsObj = /*#__PURE__*/Object.freeze({
  __proto__: null,
  'default': Utils,
  extend: extend,
  map: map,
  param: param,
  proxy: proxy,
  Deferred: Deferred,
  when: when,
  each: each,
  merge: merge,
  parseHTML: parseHTML,
  grep: grep,
  inArray: inArray,
  isEmptyObject: isEmptyObject,
  _data: _data,
  noop: noop
});
var Ajax = /*#__PURE__*/(0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(function Ajax() {
  (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)(this, Ajax);
});
function ajax(url) {
  var options = arguments.length &gt; 1 &amp;&amp; arguments[1] !== undefined ? arguments[1] : {};
  if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(url) === "object") {
    options = url;
    url = undefined;
  }
  url = options.url || "";
  options.accepts = {
    "*": "*/".concat("*"),
    "text": "text/plain, */*; q=0.01",
    "html": "text/html, */*; q=0.01",
    "xml": "application/xml, text/xml, */*; q=0.01",
    "json": "application/json, text/javascript, */*; q=0.01",
    "script": "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01"
  };
  options.processData = typeof options.processData !== "undefined" ? options.processData : true;
  options.setRequestHeader = function (name, value) {
    requestObj.headers[name] = value;
  };
  var requestObj = {};
  requestObj.headers = requestObj.headers || {};
  requestObj.method = options.type || options.method || "GET";
  if (requestObj.method.toUpperCase() === "GET") {
    if (options.data &amp;&amp; typeof options.data === "string") {
      url = url.endsWith('?') ? url.concat(options.data) : url.concat('?', options.data);
    }
  } else {
    requestObj.body = options.data || '';
  }
  if (options.data &amp;&amp; typeof options.data !== "string" &amp;&amp; options.processData) {
    // handle case where options.data is not in object format, but an array of [... {name: X, value: Y}] (forms)
    var newData = {};
    if (Array.isArray(options.data)) {
      var _iterator43 = _createForOfIteratorHelper(options.data),
        _step43;
      try {
        for (_iterator43.s(); !(_step43 = _iterator43.n()).done;) {
          var entry = _step43.value;
          newData[entry.name] = entry.value;
        }
      } catch (err) {
        _iterator43.e(err);
      } finally {
        _iterator43.f();
      }
    } else {
      newData = options.data;
    }
    if (requestObj.method.toUpperCase() === "GET") {
      url = url.endsWith('?') ? url.concat(param(newData)) : url.concat('?', param(newData));
    } else {
      requestObj.body = param(newData);
    }

    // if method is of "POST", set contentType to application/x-www-form-urlencoded for server to expect encoded body string
    if (requestObj.method.toUpperCase() === "POST") options.contentType = "application/x-www-form-urlencoded";
  }
  if (options.data &amp;&amp; options.processData &amp;&amp; (options.contentType || "").indexOf("application/x-www-form-urlencoded") === 0) {
    requestObj.body = requestObj.body.replace("%20", "+");
  }
  if (requestObj.body === '') {
    delete requestObj.body;
  }
  for (var i in options.headers) {
    requestObj.headers[i] = options.headers[i];
  }
  requestObj.headers["Content-Type"] = "application/json;charset=utf-8";
  if (options.contentType !== undefined) {
    requestObj.headers['Content-Type'] = options.contentType;
  }
  if (options.contentType === false) {
    delete requestObj.headers['Content-Type'];
  }
  if (options.dataType &amp;&amp; options.accepts[options.dataType]) {
    requestObj.headers["Accept"] = options.accepts[options.dataType] ? options.accepts[options.dataType] : options.accepts["*"];
  }
  if (typeof options.beforeSend === "function") {
    options.beforeSend(options);
  }
  if (options.cache === false) {
    var timestamp = "".concat(/\?/.test(url) ? "&amp;" : "?", "_=").concat(new Date().getTime());
    url = url.concat(timestamp);
  }
  var controller = new AbortController();
  var signal = controller.signal;
  requestObj['signal'] = signal;
  var xhr = fetch(url, requestObj);
  var doneCallback, failCallback, alwaysCallback, onFulfilled, onRejected;
  var xhrClone = new Promise(function (resolve, reject) {
    onFulfilled = resolve;
    onRejected = reject;
  });
  xhr.getResponseHeader = function (header) {
    return xhr.responseCache.headers.get(header);
  };
  var success = function success(xhr, callback, response) {
    callback(response, "success", xhr);
  };
  var fail = function fail(xhr, callback, error) {
    callback(xhr, "error", error);
  };
  xhr.then(function (response) {
    xhr.responseCache = response;
    if (response.errors &amp;&amp; response.errors.length) {
      throw new Error(response.errors);
    } else {
      if (options.dataType === "text") {
        return response.text();
      } else if (options.dataType === "html" || options.dataType === "script" || options.dataType === "custom") {
        return response.blob();
      } else {
        return response.json();
      }
    }
  }).then(function (response) {
    if (options.dataType === "script") {
      var src = window.URL.createObjectURL(response);
      var script = document.createElement("script");
      script.src = src;
      document.body.appendChild(script);
    }
    if (typeof options.success === "function") {
      success(xhr, options.success, response);
    }
    if (typeof doneCallback === "function") {
      success(xhr, doneCallback, response);
    }
    if (typeof alwaysCallback === "function") {
      success(xhr, alwaysCallback, response);
    }
    onFulfilled(response);
  })["catch"](function (error) {
    if (typeof options.error === "function") {
      fail(xhr, options.error, error);
    }
    if (typeof failCallback === "function") {
      fail(xhr, failCallback, error);
    }
    if (typeof alwaysCallback === "function") {
      fail(xhr, alwaysCallback, error);
    }
    onRejected(error);
  });
  xhrClone.done = function (callback) {
    doneCallback = callback;
    return xhrClone;
  };
  xhrClone.fail = function (callback) {
    failCallback = callback;
    return xhrClone;
  };
  xhrClone.always = function (callback) {
    alwaysCallback = callback;
    return xhrClone;
  };
  xhrClone.abort = function () {
    controller.abort();
  };
  return xhrClone;
}
function get(url, data, callback, type, contentType) {
  if (typeof data === "function") {
    type = type || callback;
    contentType = contentType || type;
    callback = data;
    data = undefined;
  }
  return ajax({
    url: url,
    data: data,
    dataType: type,
    contentType: contentType,
    type: "get",
    success: callback
  });
}
function getJSON(url, data, callback) {
  return get(url, data, callback, "json");
}
function getScript(url, callback) {
  return get(url, undefined, callback, "script", "application/javascript");
}
var ajaxObj = /*#__PURE__*/Object.freeze({
  __proto__: null,
  'default': Ajax,
  ajax: ajax,
  get: get,
  getJSON: getJSON,
  getScript: getScript
});
var EXPIRE_TIME = 10000;
var Plus = /*#__PURE__*/function (_Classes) {
  function Plus() {
    var _this33;
    (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)(this, Plus);
    _this33 = _callSuper(this, Plus);
    _this33._domElem = [];
    if (!_this33.constructor._plusInstances) {
      _this33.constructor._plusInstances = [_this33];
    } else {
      _this33.constructor._plusInstances.push(_this33);
    }
    // set reference to expire after EXPIRE_TIME to avoid memory hazards
    setTimeout(function () {
      _this33.constructor._plusInstances.splice(_this33.constructor._plusInstances.indexOf(_this33), 1);
    }, EXPIRE_TIME);
    return _this33;
  }
  (0,_babel_runtime_helpers_inherits__WEBPACK_IMPORTED_MODULE_8__/* ["default"] */ .A)(Plus, _Classes);
  return (0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(Plus, [{
    key: "domElem",
    get: function get() {
      return this._domElem;
    },
    set: function set(domElem) {
      this._domElem = this._domElem.push(domElem);
    }
  }]);
}(Classes([Events, Selectors, Utils, Effects, Ajax]));
(0,_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .A)(Plus, "_plusInstances", void 0);
function Classes(bases) {
  var Bases = /*#__PURE__*/(0,_babel_runtime_helpers_createClass__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .A)(function Bases() {
    var _this34 = this;
    (0,_babel_runtime_helpers_classCallCheck__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .A)(this, Bases);
    bases.forEach(function (base) {
      return Object.assign(_this34, new base());
    });
  });
  bases.forEach(function (base) {
    Object.getOwnPropertyNames(base.prototype).filter(function (prop) {
      return prop != 'constructor';
    }).forEach(function (prop) {
      return Bases.prototype[prop] = base.prototype[prop];
    });
  });
  return Bases;
}
(function (Plus) {
  var attachEvent = document.attachEvent,
    stylesCreated = false,
    triggerCount = 1;
  var plus_resize = Object.getPrototypeOf(Plus.prototype).resize;
  Object.setPrototypeOf(Plus.prototype, Object.assign(Object.getPrototypeOf(Plus.prototype), {
    resize: function resize(callback) {
      var _self = this;
      return this.each(function (idx, el) {
        if (el === window) {
          _self.init(el);
          plus_resize.call(_self, callback);
        } else addResizeListener(el, callback);
      });
    },
    removeResize: function removeResize(callback) {
      return this.each(function (idx, el) {
        removeResizeListener(el, callback);
      });
    }
  }));
  if (!attachEvent) {
    var requestFrame = function () {
      var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function (fn) {
        return window.setTimeout(fn, 20);
      };
      return function (fn) {
        return raf(fn);
      };
    }();
    var cancelFrame = function () {
      var cancel = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout;
      return function (id) {
        return cancel(id);
      };
    }();

    /* Detect CSS Animations support to detect element display/re-attach */
    var animation = false,
      keyframeprefix = '',
      animationstartevent = 'animationstart',
      domPrefixes = 'Webkit Moz O ms'.split(' '),
      startEvents = 'webkitAnimationStart animationstart oAnimationStart MSAnimationStart'.split(' '),
      pfx = '';
    {
      var elm = document.createElement('fakeelement');
      if (elm.style.animationName !== undefined) {
        animation = true;
      }
      if (animation === false) {
        for (var i = 0; i &lt; domPrefixes.length; i++) {
          if (elm.style[domPrefixes[i] + 'AnimationName'] !== undefined) {
            pfx = domPrefixes[i];
            keyframeprefix = '-' + pfx.toLowerCase() + '-';
            animationstartevent = startEvents[i];
            animation = true;
            break;
          }
        }
      }
    }
    var animationName = 'resizeanim';
    var animationKeyframes = '@' + keyframeprefix + 'keyframes ' + animationName + ' { from { opacity: 0; } to { opacity: 0; } } ';
    var animationStyle = keyframeprefix + 'animation: 1ms ' + animationName + '; ';
  }
  function resetTriggers(element) {
    var triggers = element.__resizeTriggers__,
      expand = triggers.firstElementChild,
      contract = triggers.lastElementChild,
      expandChild = expand.firstElementChild;
    contract.scrollLeft = contract.scrollWidth;
    contract.scrollTop = contract.scrollHeight;
    expandChild.style.width = expand.offsetWidth + 1 + 'px';
    expandChild.style.height = expand.offsetHeight + 1 + 'px';
    expand.scrollLeft = expand.scrollWidth;
    expand.scrollTop = expand.scrollHeight;
  }
  function checkTriggers(element) {
    if (!element.__resizeLast__.height) {
      triggerCount = 1;
    }
    return element.offsetWidth != element.__resizeLast__.width || element.offsetHeight != element.__resizeLast__.height;
  }
  function scrollListener(e) {
    var element = this;
    resetTriggers(this);
    if (this.__resizeRAF__) cancelFrame(this.__resizeRAF__);
    this.__resizeRAF__ = requestFrame(function () {
      if (checkTriggers(element) &amp;&amp; triggerCount &lt;= 3) {
        triggerCount++;
        element.__resizeLast__.width = element.offsetWidth;
        element.__resizeLast__.height = element.offsetHeight;
        element.__resizeListeners__.forEach(function (fn) {
          fn.call(element, e);
        });
      }
    });
  }
  function createStyles() {
    if (!stylesCreated) {
      //opacity:0 works around a chrome bug https://code.google.com/p/chromium/issues/detail?id=286360
      var css = (animationKeyframes ? animationKeyframes : '') + '.resize-triggers { ' + (animationStyle ? animationStyle : '') + 'visibility: hidden; opacity: 0; } ' + '.resize-triggers, .resize-triggers &gt; div, .contract-trigger:before { content: \" \"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; } .resize-triggers &gt; div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',
        head = document.head || document.getElementsByTagName('head')[0],
        style = document.createElement('style');
      style.type = 'text/css';
      if (style.styleSheet) {
        style.styleSheet.cssText = css;
      } else {
        style.appendChild(document.createTextNode(css));
      }
      head.appendChild(style);
      stylesCreated = true;
    }
  }
  window.addResizeListener = function (element, fn) {
    if (attachEvent) {
      element.attachEvent('onresize', fn);
      fn();
    } else {
      if (!element.__resizeTriggers__) {
        if (getComputedStyle(element).position == 'static') element.style.position = 'relative';
        createStyles();
        element.__resizeLast__ = {};
        element.__resizeListeners__ = [];
        (element.__resizeTriggers__ = document.createElement('div')).className = 'resize-triggers';
        element.__resizeTriggers__.innerHTML = '&lt;div class="expand-trigger"&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;' + '&lt;div class="contract-trigger"&gt;&lt;/div&gt;';
        element.appendChild(element.__resizeTriggers__);
        resetTriggers(element);
        element.addEventListener('scroll', scrollListener, true);

        /* Listen for a css animation to detect element display/re-attach */
        animationstartevent &amp;&amp; element.__resizeTriggers__.addEventListener(animationstartevent, function (e) {
          if (e.animationName == animationName) resetTriggers(element);
        });
      }
      element.__resizeListeners__.push(fn);
    }
  };
  window.removeResizeListener = function (element, fn) {
    if (attachEvent) element.detachEvent('onresize', fn);else {
      element.__resizeListeners__.splice(element.__resizeListeners__.indexOf(fn), 1);
      if (!element.__resizeListeners__.length) {
        element.removeEventListener('scroll', scrollListener);
        element.__resizeTriggers__ = !element.removeChild(element.__resizeTriggers__);
      }
    }
  };
})(Plus);

/**
 * jQuery Unveil
 * A very lightweight jQuery plugin to lazy load images
 * http://luis-almeida.github.com/unveil
 *
 * Licensed under the MIT license.
 * Copyright 2013 LuÃ­s Almeida
 * https://github.com/luis-almeida
 * modifed to use the plus library
 */

(function (Plus) {
  Object.setPrototypeOf(Plus.prototype, Object.assign(Object.getPrototypeOf(Plus.prototype), {
    unveil: function unveil(threshold, callback) {
      var mobile = window.kpmg.isMobile,
        attrib = mobile ? "data-mobile" : "data-desktop",
        images = this,
        _self = this,
        container = this._domElem,
        loaded;
      this.one("unveil", function () {
        var el = this;
        var source = el.getAttribute(attrib);
        source = source || el.getAttribute("data-desktop");
        if (source) {
          el.setAttribute("src", source);
          if (typeof callback === "function") {
            _self.init(el);
            _self.trigger('unveil.loaded');
            callback.call(el);
            // reset self once operation complete
            _self._domElem = container;
          }
        }
      });
      function unveil() {
        /*!
        * Determine if an element is in the viewport
        * (c) 2017 Chris Ferdinandi, MIT License, https://gomakethings.com
        * @param  {Node}    elem The element
        * @return {Boolean}      Returns true if element is in the viewport
        */
        var isInViewport = function isInViewport(elem) {
          var distance = elem.getBoundingClientRect();
          return distance.top &gt;= 0 &amp;&amp; distance.left &gt;= 0 &amp;&amp; distance.bottom - 100 &lt;= (window.innerHeight || document.documentElement.clientHeight) &amp;&amp; distance.right &lt;= (window.innerWidth || document.documentElement.clientWidth);
        };
        var inview = images.filter(function () {
          return isInViewport(this);
        });
        loaded = inview.trigger("unveil")._domElem;
        // reset self once operation complete
        _self._domElem = container;
        images = images.not(loaded);
      }
      document.addEventListener("click", unveil);
      document.addEventListener("mousedown", unveil);
      document.addEventListener("keydown", unveil);
      document.addEventListener("load", unveil);
      document.addEventListener('touchmove', unveil, false);
      window.addEventListener("scroll", unveil);
      window.addEventListener("resize", unveil);
      window.addEventListener("lookup", unveil);
      unveil();
      return this;
    }
  }));
})(Plus);
function getCookieMgrObj(utilsObj) {
  var cookie, removeCookie, config;
  var pluses = /\+/g;
  function encode(s) {
    return config.raw ? s : encodeURIComponent(s);
  }
  function decode(s) {
    return config.raw ? s : decodeURIComponent(s);
  }
  function stringifyCookieValue(value) {
    return encode(config.json ? JSON.stringify(value) : String(value));
  }
  function parseCookieValue(s) {
    if (s.indexOf('"') === 0) {
      // This is a quoted cookie as according to RFC2068, unescape...
      s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
    }
    try {
      // Replace server-side written pluses with spaces.
      // If we can't decode the cookie, ignore it, it's unusable.
      // If we can't parse the cookie, ignore it, it's unusable.
      s = decodeURIComponent(s.replace(pluses, ' '));
      return config.json ? JSON.parse(s) : s;
    } catch (e) {}
  }
  function isFunction(func) {
    return typeof func === "function";
  }
  function read(s, converter) {
    var value = config.raw ? s : parseCookieValue(s);
    return isFunction(converter) ? converter(value) : value;
  }
  config = cookie = function cookie(key, value, options) {
    // Write
    if (value !== undefined &amp;&amp; !isFunction(value)) {
      options = utilsObj.extend({}, config.defaults, options);
      if (typeof options.expires === 'number') {
        var days = options.expires,
          t = options.expires = new Date();
        t.setTime(+t + days * 864e+5);
      }
      return document.cookie = [encode(key), '=', stringifyCookieValue(value), options.expires ? '; expires=' + options.expires.toUTCString() : '',
      // use expires attribute, max-age is not supported by IE
      options.path ? '; path=' + options.path : '', options.domain ? '; domain=' + options.domain : '', options.secure ? '; secure' : ''].join('');
    }
    // Read
    var result = key ? undefined : {};
    // To prevent the for loop in the first place assign an empty array
    // in case there are no cookies at all. Also prevents odd result when
    // calling $.cookie().
    var cookies = document.cookie ? document.cookie.split('; ') : [];
    for (var i = 0, l = cookies.length; i &lt; l; i++) {
      var parts = cookies[i].split('=');
      var name = decode(parts.shift());
      var cookie = parts.join('=');
      if (key &amp;&amp; key === name) {
        // If second argument (value) is a function it's a converter...
        result = read(cookie, value);
        break;
      }
      // Prevent storing a cookie that we couldn't decode.
      if (!key &amp;&amp; (cookie = read(cookie)) !== undefined) {
        result[name] = cookie;
      }
    }
    return result;
  };
  config.defaults = {};
  removeCookie = function removeCookie(key, options) {
    if (cookie(key) === undefined) {
      return false;
    }
    // Must not alter options, thus extending a fresh object...
    cookie(key, '', utilsObj.extend({}, options, {
      expires: -1
    }));
    return !cookie(key);
  };

  // cookieMgr object
  return {
    cookie: cookie,
    removeCookie: removeCookie
  };
}
var _initialize = function initialize(selector, context) {
  //declaration of init variables
  var regClass = /\./g,
    regId = /\#/g,
    isAttrSelector = /\=\"|\=\'+/g,
    isNotEqlSelector = /\!=+/g,
    isSnglQuote = /\'/g,
    isDblQuote = /\"/g,
    isColon = /\:/;
  var match,
    elem,
    domElem,
    domElemLength = 0;
  var plus = new Plus();

  //Handle (""), (null), (undefined), (false)
  if (!selector) {
    return plus;
  }
  if (selector === document.defaultView &amp;&amp; plus._domElem[0] &amp;&amp; plus._domElem[0].nodeType === 1) return plus;else {
    plus.prevObj = plus._domElem || libUtils.options.winDoc;
    plus._domElem = [];
  }
  if (selector instanceof Plus &amp;&amp; !context) {
    // if it's already a plus instance and no context, clone it's props and return
    plus._domElem = selector._domElem;
    plus.length = selector.length;
    return plus;
  }
  if (context &amp;&amp; !(context instanceof Plus)) {
    // take advantage of context handlers below where context is a plus object
    context = _initialize(context);
  }
  if (typeof selector === "string") {
    if (selector[0] === "&lt;" &amp;&amp; selector[selector.length - 1] === "&gt;" &amp;&amp; selector.length &gt;= 3) {
      match = [null, selector, null];
    }
    if (typeof context === "string") {
      context = "";
    }
    // string which is containing newline and carriage return character will be mostly html templates
    if (/\r|\n/.test(selector)) {
      var parser = new DOMParser();
      var doc4 = parser.parseFromString(selector, "text/html");
      var _iterator44 = _createForOfIteratorHelper(doc4.body.children),
        _step44;
      try {
        for (_iterator44.s(); !(_step44 = _iterator44.n()).done;) {
          var item = _step44.value;
          item.isAhtmlString = true;
          plus._domElem.push(item);
        }
      } catch (err) {
        _iterator44.e(err);
      } finally {
        _iterator44.f();
      }
      plus.length = plus._domElem.length;
      return plus;
    }

    // Match html or make sure no context is specified for #id
    if (match &amp;&amp; (match[1] || !context)) {
      if (match[1]) {
        var _parser2 = new DOMParser();
        var htmlString = match[1];
        var doc3 = _parser2.parseFromString(htmlString, "text/html");
        var _iterator45 = _createForOfIteratorHelper(doc3.body.children),
          _step45;
        try {
          for (_iterator45.s(); !(_step45 = _iterator45.n()).done;) {
            var _item2 = _step45.value;
            _item2.isAhtmlString = true;
            plus._domElem.push(_item2);
          }
        } catch (err) {
          _iterator45.e(err);
        } finally {
          _iterator45.f();
        }
        plus.length = plus._domElem.length;
        return plus;
        // HANDLE: (#id)
      } else {
        elem = document.getElementById(match[2]);
        if (elem) {
          // Inject the element directly into the object
          plus[0] = elem;
          plus.length = 1;
        }
        return plus;
      }
    } else if (isAttrSelector.test(selector) &amp;&amp; isNotEqlSelector.test(selector)) {
      //Attribute selector - not equal selector ex: "a[hreflang!='en']"
      var newSelector = libUtils.escapeClassnameQueryCSS(selector.split('!=')[0] + ']');
      var attrVal = selector.split('!=')[1].split(']')[0];
      attrVal = isSnglQuote.test(attrVal) ? attrVal.replace(isSnglQuote, "") : isDblQuote.test(attrVal) ? attrVal.replace(isDblQuote, "") : attrVal;
      attrVal = attrVal.trim();
      if (context &amp;&amp; context.length) {
        domElem = [];
        var _iterator46 = _createForOfIteratorHelper(context.domElem),
          _step46;
        try {
          for (_iterator46.s(); !(_step46 = _iterator46.n()).done;) {
            var _domElem12;
            var el = _step46.value;
            (_domElem12 = domElem).push.apply(_domElem12, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(el.querySelectorAll(newSelector)));
          }
        } catch (err) {
          _iterator46.e(err);
        } finally {
          _iterator46.f();
        }
        domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
      } else {
        domElem = document.querySelectorAll(newSelector);
      }
      domElem.forEach(function (dom) {
        if (dom.name !== attrVal) plus._domElem.push(dom);
      });
      plus.length = plus._domElem.length;
      return plus;
    } else if (isColon.test(selector)) {
      if (selector.indexOf('button') &gt; -1) {
        selector = "button, input[type='button']";
      } else if (selector.indexOf('input') &gt; -1) {
        selector = "button, input, select, textarea";
      } else if (selector.indexOf('checkbox') &gt; -1) {
        selector = "[type='checkbox']";
      } else if (selector.indexOf(':first-child') &gt; -1) {
        selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
        if (context &amp;&amp; context.length) {
          domElem = [];
          var _iterator47 = _createForOfIteratorHelper(context.domElem),
            _step47;
          try {
            for (_iterator47.s(); !(_step47 = _iterator47.n()).done;) {
              var _domElem13;
              var _el11 = _step47.value;
              (_domElem13 = domElem).push.apply(_domElem13, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el11.querySelectorAll(selector)));
            }
          } catch (err) {
            _iterator47.e(err);
          } finally {
            _iterator47.f();
          }
          domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
        } else {
          domElem = document.querySelectorAll(selector);
        }
        if (domElem.length === 0) {
          plus.length = 0;
        } else {
          plus._domElem.push(domElem[0]);
          plus.length = plus._domElem.length;
        }
        return plus;
      } else if (selector.indexOf(':last-child') &gt; -1) {
        selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
        if (context &amp;&amp; context.length) {
          domElem = [];
          var _iterator48 = _createForOfIteratorHelper(context.domElem),
            _step48;
          try {
            for (_iterator48.s(); !(_step48 = _iterator48.n()).done;) {
              var _domElem14;
              var _el12 = _step48.value;
              (_domElem14 = domElem).push.apply(_domElem14, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el12.querySelectorAll(selector)));
            }
          } catch (err) {
            _iterator48.e(err);
          } finally {
            _iterator48.f();
          }
          domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
        } else {
          domElem = document.querySelectorAll(selector);
        }
        domElemLength = domElem.length - 1;
        plus._domElem.push(domElem[domElemLength]);
        plus.length = plus._domElem.length;
        return plus;
      } else if (selector.indexOf(':nth-child') &gt; -1) {
        var _newSelector2 = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]),
          selectorNum = selector.split(':')[1].split('(')[1].split(')')[0],
          incrementer = 0,
          startFrom = 0,
          nthChild = false,
          oddEvenFlg = false;
        if (/n\+/.test(selectorNum)) {
          incrementer = parseInt(selectorNum.split('n')[0]);
          startFrom = parseInt(selectorNum.split('+')[1]);
          nthChild = true;
        } else if (selectorNum === 'odd' || selectorNum === 'even') {
          oddEvenFlg = true;
        } else {
          selectorNum = parseInt(selectorNum) - 1;
        }
        if (context &amp;&amp; context.length) {
          domElem = [];
          var _iterator49 = _createForOfIteratorHelper(context.domElem),
            _step49;
          try {
            for (_iterator49.s(); !(_step49 = _iterator49.n()).done;) {
              var _domElem15;
              var _el13 = _step49.value;
              (_domElem15 = domElem).push.apply(_domElem15, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el13.querySelectorAll(_newSelector2)));
            }
          } catch (err) {
            _iterator49.e(err);
          } finally {
            _iterator49.f();
          }
          domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
        } else {
          domElem = document.querySelectorAll(_newSelector2);
        }
        domElemLength = domElem.length;
        if (typeof selectorNum === 'number' &amp;&amp; selectorNum &lt; domElemLength) {
          plus._domElem.push(domElem[selectorNum]);
        } else if (nthChild) {
          //if it has :nth-child(an+b)
          var counter = 0,
            startInjection = false;
          domElem.forEach(function (dom, index) {
            if (index === startFrom - 1 &amp;&amp; startFrom !== 0) {
              plus._domElem.push(dom);
              startInjection = true;
            } else if (startFrom === 0) {
              startInjection = true;
            }
            if (startInjection) {
              if (counter !== 0 &amp;&amp; counter % incrementer === 0) {
                plus._domElem.push(dom);
              }
              counter++;
            }
          });
        } else if (oddEvenFlg) {
          //if it has :nth-child(odd) or it has :nth-child(even)
          domElem.forEach(function (dom, index) {
            if (index % 2 !== 0 &amp;&amp; selectorNum === 'even') {
              plus._domElem.push(dom);
            } else if (index % 2 === 0 &amp;&amp; selectorNum === 'odd') {
              plus._domElem.push(dom);
            }
          });
        }
        plus.length = plus._domElem.length;
        return plus;
      } else if (selector.indexOf(':visible') &gt; -1 || selector.indexOf(':hidden') &gt; -1) {
        var visibility = selector.indexOf(':visible') &gt; -1 ? 'visible' : 'hidden';
        selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
        if (context &amp;&amp; context.length) {
          domElem = [];
          var _iterator50 = _createForOfIteratorHelper(context.domElem),
            _step50;
          try {
            for (_iterator50.s(); !(_step50 = _iterator50.n()).done;) {
              var _domElem16;
              var _el14 = _step50.value;
              (_domElem16 = domElem).push.apply(_domElem16, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el14.querySelectorAll(selector)));
            }
          } catch (err) {
            _iterator50.e(err);
          } finally {
            _iterator50.f();
          }
          domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
        } else {
          domElem = document.querySelectorAll(selector);
        }
        domElem.forEach(function (dom) {
          if (visibility === 'visible' &amp;&amp; dom.clientHeight &gt; 0) {
            plus._domElem.push(dom);
          } else if (visibility === 'hidden' &amp;&amp; dom.clientHeight === 0) {
            plus._domElem.push(dom);
          }
        });
        plus.length = plus._domElem.length;
        return plus;
      } else if (selector.indexOf(':selected') &gt; -1) {
        selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
        if (!selector) selector = "option";
        if (context &amp;&amp; context.length) {
          domElem = [];
          var _iterator51 = _createForOfIteratorHelper(context.domElem),
            _step51;
          try {
            for (_iterator51.s(); !(_step51 = _iterator51.n()).done;) {
              var _domElem17;
              var _el15 = _step51.value;
              (_domElem17 = domElem).push.apply(_domElem17, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el15.querySelectorAll(selector)));
            }
          } catch (err) {
            _iterator51.e(err);
          } finally {
            _iterator51.f();
          }
          domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
        } else {
          domElem = document.querySelectorAll(selector);
        }
        domElem.forEach(function (dom) {
          if (dom.selected === true) {
            plus._domElem.push(dom);
          }
        });
        plus.length = plus._domElem.length;
        return plus;
      } else if (selector.indexOf(':last') &gt; -1) {
        selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
        if (context &amp;&amp; context.length) {
          domElem = [];
          var _iterator52 = _createForOfIteratorHelper(context.domElem),
            _step52;
          try {
            for (_iterator52.s(); !(_step52 = _iterator52.n()).done;) {
              var _domElem18;
              var _el16 = _step52.value;
              (_domElem18 = domElem).push.apply(_domElem18, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el16.querySelectorAll(selector)));
            }
          } catch (err) {
            _iterator52.e(err);
          } finally {
            _iterator52.f();
          }
          domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
        } else {
          domElem = document.querySelectorAll(selector);
        }
        plus._domElem.push(domElem[domElem.length - 1]);
        plus.length = 1;
        return plus;
      } else if (selector.indexOf(':not') &gt; -1) {
        var filter = selector.substring(selector.indexOf(':') + 1);
        selector = libUtils.escapeClassnameQueryCSS(selector.split(':')[0]);
        // https://stackoverflow.com/questions/17779744/regular-expression-to-get-a-string-between-parentheses-in-javascript/17780281
        var regExp = /\(([^)]+)\)/;
        filter = regExp.exec(filter)[1];
        if (filter &amp;&amp; filter.charAt(filter.length - 1) !== "\"" &amp;&amp; filter.charAt(filter.length - 1) !== "'") {
          filter = "\"".concat(filter.replace(/\"/g, "'"), "\"");
        }
        filter = JSON.parse(filter);
        if (context &amp;&amp; context.length) {
          var _iterator53 = _createForOfIteratorHelper(context.domElem),
            _step53;
          try {
            for (_iterator53.s(); !(_step53 = _iterator53.n()).done;) {
              var _plus$_domElem;
              var _el17 = _step53.value;
              (_plus$_domElem = plus._domElem).push.apply(_plus$_domElem, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el17.querySelectorAll(selector)));
            }
          } catch (err) {
            _iterator53.e(err);
          } finally {
            _iterator53.f();
          }
          plus._domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(plus._domElem)); // prevent duplicates
        } else {
          plus._domElem = document.querySelectorAll(selector);
        }
        plus.length = plus._domElem.length;
        return plus.not(filter);
      }
      if (context &amp;&amp; context.length) {
        domElem = [];
        var _iterator54 = _createForOfIteratorHelper(context.domElem),
          _step54;
        try {
          for (_iterator54.s(); !(_step54 = _iterator54.n()).done;) {
            var _domElem19;
            var _el18 = _step54.value;
            (_domElem19 = domElem).push.apply(_domElem19, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el18.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector))));
          }
        } catch (err) {
          _iterator54.e(err);
        } finally {
          _iterator54.f();
        }
        domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
      } else {
        domElem = document.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector));
      }
      domElem.forEach(function (dom) {
        return plus._domElem.push(dom);
      });
      plus.length = plus._domElem.length;
      return plus;
    } else {
      regClass.test(selector);
      regId.test(selector);
      if (context &amp;&amp; context.length) {
        domElem = [];
        var _iterator55 = _createForOfIteratorHelper(context.domElem),
          _step55;
        try {
          for (_iterator55.s(); !(_step55 = _iterator55.n()).done;) {
            var _el19 = _step55.value;
            //node like &lt;p&gt; or &lt;div&gt;. || A Document node.
            if (_el19.nodeType === 1 || _el19.nodeType === 9) {
              var _domElem20;
              (_domElem20 = domElem).push.apply(_domElem20, (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(_el19.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector))));
            }
          }
        } catch (err) {
          _iterator55.e(err);
        } finally {
          _iterator55.f();
        }
        domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(new Set(domElem)); // prevent duplicates
      } else {
        domElem = document.querySelectorAll(libUtils.escapeClassnameQueryCSS(selector));
      }
      domElem.forEach(function (dom) {
        return plus._domElem.push(dom);
      });
      plus.length = plus._domElem.length;
      return plus;
    }
  } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(selector) === 'object' &amp;&amp; selector === libUtils.options.winObj) {
    plus[0] = selector;
    plus._domElem.push(selector);
    plus.length = 1;
    return plus;
    //TODO: Need to assign the plus._domElem with selector
  } else if ((0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .A)(selector) === 'object' &amp;&amp; selector.hasOwnProperty('_domElem')) {
    plus._domElem = (0,_babel_runtime_helpers_toConsumableArray__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .A)(selector._domElem);
    plus.length = plus._domElem.length;
    return plus;
  } else if (selector.nodeType) {
    if (selector.nodeType === 9) {
      plus[0] = selector;
      plus._domElem.push(selector);
      plus.length = 1;
    } else {
      plus._domElem.push(selector);
      plus.length = plus._domElem.length;
    }
    return plus;

    // HANDLE: $(function)
    // Shortcut for document ready
  } else if (selector.constructor &amp;&amp; selector.constructor.name === "HTMLCollection") {
    var _iterator56 = _createForOfIteratorHelper(selector),
      _step56;
    try {
      for (_iterator56.s(); !(_step56 = _iterator56.n()).done;) {
        var _el20 = _step56.value;
        plus._domElem.push(_el20);
      }
    } catch (err) {
      _iterator56.e(err);
    } finally {
      _iterator56.f();
    }
    plus.length = selector.length;
    return plus;
  } else if (typeof selector === "function") {
    return plus.ready(selector);
  }
  //libUtils.resetDom(plus);
  return plus;
};
var cookieMgrObj = getCookieMgrObj(utilsObj);
var libraryObj;
libraryObj = Object.assign(_initialize, ajaxObj);
libraryObj = Object.assign(_initialize, utilsObj);
libraryObj = Object.assign(_initialize, cookieMgrObj);
var plus$1 = window.plus = libraryObj;
if (typeof define === "function" &amp;&amp; __webpack_require__.amdO) {
  define("plus", [], function () {
    return plus$1;
  });
}
var plus$2 = plus$1;


/***/ }),

/***/ 4980:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) =&gt; {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A: () =&gt; (/* binding */ tracking)
/* harmony export */ });
/* harmony import */ var _babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2284);
/* harmony import */ var _plus_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8081);


var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : typeof self !== 'undefined' ? self : {};
function createCommonjsModule(fn, module) {
  return module = {
    exports: {}
  }, fn(module, module.exports), module.exports;
}
var tracking = createCommonjsModule(function (module, exports) {
  /* global s */
  (function (root, factory) {
    {
      module.exports = factory(root.Tracking, _plus_js__WEBPACK_IMPORTED_MODULE_0__/* ["default"] */ .A);
    }
  })(commonjsGlobal, function (trk, plus) {
    //$ = window.jQuery;

    var lastClick = '',
      trckName = '',
      kpmgStr = "KPMG",
      memberFirm = window.kpmgPersonalize &amp;&amp; window.kpmgPersonalize.snp.params.countryCode &amp;&amp; window.kpmgPersonalize.snp.params.countryCode.toUpperCase() || '',
      regex = /(&lt;([^&gt;]+)&gt;)/ig,
      // strips html tags from string
      $currentClick;
    if (memberFirm === "XX") {
      memberFirm = "GLOBAL";
    }
    var Tracking = function Tracking(context, location) {
      if (!location || typeof location === 'undefined') {
        throw "Location is required for tracking.js";
      }
      this.$context = plus(context);
      this.location = location;
      this.reactClassList = this.$context.parents('.react-component').length ? this.$context.parents('[class^="wrapper-"]').attr('class') : '';

      // Delegate click event on anchor tag inside the component.
      this.$context.data({
        linkLocation: location
      }).off('click.tracking', 'a').off('click.tracking', '.trackable').on('click.tracking', 'a', plus.proxy(this.handleClick, this)).on('click.tracking', '.trackable', '', plus.proxy(this.handleClick, this));
    };

    /**
     * tracking method for warping the tracking calls
     * to avoid breaking of the components/templates
     *
     * @public
     * @method satelliteTracking
     *
     * @param {Object} tracking - tracking object which gets updated into digital data and DTM picks it
     * @param {string} trackingName - trackingName string based on which DTM picks information.
     *
     **/
    Tracking.prototype.satelliteTracking = function (tracking, trackingName, track) {
      try {
        trckName = trackingName;
        if (typeof track === 'undefined') {
          track = true;
        }
        // check if second parameter exists , if not then make the first paramter value as the second value. kind of function overloading.
        if (!trackingName) {
          var trackingName = tracking;
        }
        // if tracking exist and digitaldata exists then populate digitalData and fire satellite.
        if (tracking &amp;&amp; (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(tracking) === 'object' &amp;&amp; digitalData &amp;&amp; (typeof digitalData === "undefined" ? "undefined" : (0,_babel_runtime_helpers_typeof__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .A)(digitalData)) === 'object') {
          for (var key in tracking) {
            if (tracking.hasOwnProperty(key)) {
              digitalData[key] = tracking[key];
            }
          }
        }
        //track by default is true, False if extra parameters to be passed.
        // call DTM tracking method which will pick the digitalData information.
        if (track) {
          _satellite.track(trackingName);
        }
        trckName = '';
      } catch (err) {}
    };

    /**
     * tracking internal clicks for components
     * @param  {Event} evt Click event object
     */
    Tracking.prototype.handleClick = function (evt) {
      try {
        var $this = $currentClick = plus(evt.currentTarget),
          isSatelliteTrack = false;
        if (this.$context.hasClass('[class^="module-touch-promotional"]')) {
          this.reactClassList = '';
        }
        if ($this.closest('[class^="module-"]').hasClass('component-trackable') || $this.closest('[class^="wrapper-"]').hasClass('component-trackable')) {
          isSatelliteTrack = true;
        }
        if (!$this.data('stoptrack') &amp;&amp; lastClick !== $this &amp;&amp; $this.attr('href') !== '#' &amp;&amp; $this.attr('href') !== 'javascript:void(0);' &amp;&amp; !$this.data('bs-target')) {
          var tagretLink = $this.data('linkLocation') || this.$context.data('linkLocation'),
            trackname = $this.data('trackname') || trckName || 'componentLink',
            linkLoc = '',
            HTMLtext = $this.find('h1,h2,h3,h4,.title,label').html() || $this.parent().find('a').attr('title') || $this.parent().find('a').text() || $this.html().toLowerCase(),
            name = this.reactClassList ? this.reactClassList : this.$context.attr('class'),
            componentName = this.reactClassList ? name.substring(8, name.indexOf(' ')) : name.substring(7, name.indexOf(' ')),
            childInnerTextCheck = $this.find('h1, h2, h3, h4, h5, h6, p, div, span, label')[0] &amp;&amp; $this.find('h1, h2, h3, h4, h5, h6, p, div, span, label')[0].innerText,
            linkText = $this.attr("title") || $this.attr("data-title") || childInnerTextCheck || evt.currentTarget.innerText || evt.currentTarget.value || $this.data('value'),
            linkDom;
          //for campaign-ctas and navbar-nav-component :: reference KPMGS-27188 and KPMGS-26616
          if ($this.parents('.campaign-ctas').length || $this.parents('.navbar-nav-component').length) {
            HTMLtext = $this.html().toLowerCase();
          }
          HTMLtext = HTMLtext.replace(regex, "").replace(/(  |\r\n\t|\n|\r\t)/gm, "");
          if (window.kpmgPersonalize.isBlog) {
            if ($this.parent(".module-touch-promotional").length &gt; 0 &amp;&amp; $this.attr("title").length &gt; 0) {
              linkText = $this.attr("title");
              HTMLtext = $this.attr("title");
            } else {
              linkDom = $this.find('h1,h2,h3,h4,.title,label')[0];
              linkText = linkDom ? linkDom.innerText : linkText;
            }
          }

          //Call _satellite.track method only when closest module has class "component-trackable" - KPMGS-11303
          if (isSatelliteTrack) {
            this.track(trackname, linkText, true);
          }
          if (typeof tagretLink !== 'undefined') {
            linkLoc = tagretLink.toLowerCase();
          }
          if (plus(".navigation-logo").is($this) || $this.is('a.logo-image-component')) {
            linkLoc = "navigation";
            HTMLtext = "home";
          } else if ($this.parents('.nav-grouping').length &gt; 0 || $this.parents('.desktop-navbar-component').length &gt; 0 || $this.parents('.mobile-navbar-component').length &gt; 0) {
            linkLoc = "navigation";
          }
          // if its footer component
          if (componentName === "footer" || componentName === "FooterV2" || componentName === "touchpopularposts" || componentName === "touchpopulartags") {
            linkLoc = "footer";
          }
          if (componentName === "touch-post-stats") {
            linkLoc = "tags";
          }
          if (componentName === "touch-topic-list-header" || componentName === "touch-author-list-header") {
            if ($this.hasClass('view-topics-spotlight') || $this.hasClass('view-author-spotlight')) {
              HTMLtext = $this.html().toLowerCase();
              HTMLtext = HTMLtext.replace(regex, "").replace(/(  |\r\n\t|\n|\r\t)/gm, "");
            }
          }
          // no tracking for socialChannels component
          if (componentName === "socialchannels") {
            return false;
          }
          if (componentName === "bodytext" &amp;&amp; $this.parent().find('a').length &gt; 1) {
            HTMLtext = $this.attr('title') || $this.html().toLowerCase();
          }
          if (componentName === "dynamicpromotional") {
            HTMLtext = linkText;
          }
          lastClick = $this;
        }
      } catch (err) {
        console.log(err);
      }
    };
    Tracking.prototype.track = function (trackname, linkText, handleClick, linkName) {
      try {
        // private functions
        // We may want to fire satelliteTracking on an element inside a parent-component.  In such cases we can follow the following HTML structure.  A working example of this can be seen for Carousel-slides and Articles inside of latest-thinking-component
        /* EXAMPLE
          &lt;section class="module-somecomponent"&gt;
              &lt;div&gt;
                &lt;!--
                  set nested-element-tracking class on the link that will be tracked
                  set nested h1 with the Title with display:none;
                --&gt;
                &lt;a class="nested-element-tracking"&gt;
                  &lt;h1 class="d-none"&gt;Title&lt;/h1&gt;
                &lt;/a&gt;
              &lt;/div&gt;
          &lt;/section&gt;
        */
        var setArticleTitleForNestedElementInComponentElement = function setArticleTitleForNestedElementInComponentElement() {
          var isNestedElementTrackable;
          //
          isNestedElementTrackable = $currentClick &amp;&amp; $currentClick.hasClass('nested-element-tracking');
          //
          if (isNestedElementTrackable) {
            articleTitle = articleNameVal = $currentClick.find('h1').text().trim();
          }
        };
        if (this.$context.hasClass('[class^="module-touch-promotional"]')) {
          this.reactClassList = '';
        }
        var name = this.reactClassList ? this.reactClassList : this.$context.attr('class'),
          isPersonalized = this.$context.attr('personalize') === 'true',
          isArticleVal = this.$context.closest('[data-article]').attr('data-article') || 'false',
          componentName = this.reactClassList ? name.substring(8, name.indexOf(' ')) : name.substring(7, name.indexOf(' ')),
          articleTitle = window.kpmgPersonalize.isBlog &amp;&amp; handleClick ? $currentClick.find('h1,h2,h3,h4,.title,label')[0] : this.$context.find('h1,h2,h3,h4,.title,label')[0],
          articleTitle = articleTitle ? articleTitle.innerText : componentName,
          sortType = window.kpmgPersonalize.snp.params &amp;&amp; window.kpmgPersonalize.snp.params.sortType ? window.kpmgPersonalize.snp.params.sortType.split('=')[1] : 'default',
          dpos = 'D' + (this.$context.closest('[data-desktop-cell]').data('desktop-cell') || 0),
          mpos = 'M' + (this.$context.closest('[data-mobile-cell]').data('mobile-cell') || 0),
          linkURL = this.$context.attr('href') || '',
          articleNameVal = articleTitle,
          tracking = {},
          topic = '';
        setArticleTitleForNestedElementInComponentElement();
        if (componentName === "touch-post-stats") {
          articleTitle += linkText.trim();
          articleNameVal = articleTitle;
        }
        if (componentName === "touch-blogshare" || componentName === "touch-featuredauthors" || componentName === "touch-blog-author-list" || componentName === "touch-blog-topic-list") {
          articleTitle = linkText.trim();
          articleNameVal = articleTitle;
        }
        if (componentName === "dynamicpromotional") {
          articleNameVal = this.$context.find('a').attr('data-title');
          articleTitle = articleNameVal;
          linkURL = this.$context.find('a').attr('href');
        }
        if (componentName === "touchpopularposts" || componentName === "touchrecentposts" || componentName === "touchsupportingcontent" || componentName === "dynamic-accordion" &amp;&amp; window.kpmgPersonalize.isBlog) {
          articleNameVal = linkText.trim();
          articleTitle = linkText.trim();
        }
        if (componentName === "promotionale" || componentName === "promotionala" || componentName === "promotionalb" || componentName === "promotionalc" || componentName === "promotionald") {
          linkName = linkText.trim();
        }
        tracking = {
          component: {
            isArticle: isArticleVal,
            componentDetail: componentName + '|' + dpos + '-' + mpos + '|' + articleTitle,
            componentRanking: sortType,
            ArticleType: digitalData &amp;&amp; digitalData.page.pageInfo &amp;&amp; digitalData.page.pageInfo.industryPath ? digitalData.page.pageInfo.industryPath : ''
          },
          link: {
            LinkName: linkText,
            FindingMethod: componentName,
            internalLink: linkName || 'link',
            internalLinkcategory: componentName,
            internalLinkURL: linkURL
          },
          article: {
            ArticleName: articleNameVal
          }
        };
        if (handleClick) {
          window.digitalData.page.article.articleDetails = articleNameVal.concat(' | ', kpmgStr, ' | ', memberFirm);
        }
        if (window.kpmgPersonalize.isBlog) {
          if (handleClick &amp;&amp; $currentClick) {
            topic = $currentClick.attr('data-topic') || '';
          }
          if (tracking.component.ArticleType) {
            tracking.component.ArticleType = ('Blog | ' + tracking.component.ArticleType).trim();
          } else {
            tracking.component.ArticleType = ('Blog | ' + topic).trim();
          }
          tracking.article.ArticleName = ('Blog | ' + tracking.article.ArticleName).trim();
          if (!handleClick) {
            delete tracking.component.ArticleType;
            delete tracking.article.ArticleName;
            delete window.digitalData.page.article.articleDetails;
          }
        }
        this.satelliteTracking(tracking, trackname);
      } catch (err) {
        console.log("Error:" + err);
      }
    };
    return Tracking;
  });
});


/***/ }),

/***/ 3346:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) =&gt; {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A: () =&gt; (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4848);

var FGEVideo = function FGEVideo(props) {
  return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
    children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("section", {
      className: "module-audiovideo component",
      "data-mediaId": props.data.mediaid,
      children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
        className: "row audiovideo-container",
        style: {
          position: 'relative',
          display: 'block',
          maxWidth: '100%'
        },
        children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
          className: "col-md-12 audiovideo-video",
          style: {
            paddingTop: '56.25%'
          },
          children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("video", {
            id: 'audiovideo_' + props.data.mediaid,
            "data-embed": "default",
            "data-language": props.data.pagelocale,
            className: "video-js",
            controls: true,
            style: {
              position: 'absolute',
              top: '0px',
              right: '0px',
              bottom: '0px',
              left: '0px',
              width: '100%',
              height: '100%'
            },
            children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("track", {
              kind: "captions"
            })
          })
        }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
          className: "col-md-12 audiovideo-data",
          children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("h2", {
            className: "tertiary-head audiovideo-title",
            children: props.data.title
          }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
            className: "audiovideo-description"
          })]
        })]
      })
    })
  });
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FGEVideo);

/***/ }),

/***/ 478:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) =&gt; {

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   A: () =&gt; (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4848);

var FGEVideoGallery = function FGEVideoGallery(props) {
  return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
    children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("section", {
      className: "module-videogallery component",
      "data-experienceId": props.data.experienceId,
      children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
        className: "web-spinner",
        children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", {
          src: "data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' viewBox%3D'0 0 1082 547'%2F%3E",
          height: "400",
          style: {
            height: '400px',
            width: '100%'
          },
          className: "desktop-only img-responsive",
          alt: "loading"
        }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", {
          src: "data:image/svg+xml;charset=utf-8,%3Csvg xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg' viewBox%3D'0 0 640 580'%2F%3E",
          width: "640",
          className: "mobile-only img-responsive",
          alt: "loading"
        })]
      }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
        id: 'bc-embed-' + props.data.experienceId,
        "data-account": props.data.readToken
      })]
    })
  });
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FGEVideoGallery);

/***/ }),

/***/ 200:
/***/ ((__unused_webpack_module, __unused_webpack___webpack_exports__, __webpack_require__) =&gt; {

"use strict";

// EXTERNAL MODULE: ./node_modules/react-dom/index.js
var react_dom = __webpack_require__(961);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
var esm_typeof = __webpack_require__(2284);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/slicedToArray.js + 3 modules
var slicedToArray = __webpack_require__(296);
// EXTERNAL MODULE: ./node_modules/react-html-parser/lib/index.js
var lib = __webpack_require__(334);
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(4848);
;// CONCATENATED MODULE: ./src/kpmg-components/fgeformbuilder/templates/loginform.tsx

var LoginForm = function LoginForm(props) {
  return /*#__PURE__*/(0,jsx_runtime.jsx)(jsx_runtime.Fragment, {
    children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
      className: "existing-user-login-form animated",
      children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
        className: "cancelButton",
        children: /*#__PURE__*/(0,jsx_runtime.jsx)("button", {
          children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
            className: "icon-close ",
            children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
              className: "sr-only",
              children: props.close
            })
          })
        })
      }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
        className: "introduction-text",
        children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
          children: props.emailvalidation1
        }), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
          children: props.emailvalidation2
        })]
      }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
        className: "login-form",
        children: /*#__PURE__*/(0,jsx_runtime.jsxs)("form", {
          method: "POST",
          autoComplete: "off",
          children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
            className: "form-field",
            children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
              className: "validation-message",
              children: props.emailisincorrect
            }), /*#__PURE__*/(0,jsx_runtime.jsx)("label", {
              htmlFor: props.uniqueid + '-login-email',
              className: "sr-only",
              children: props.emaillabel
            }), /*#__PURE__*/(0,jsx_runtime.jsx)("input", {
              type: "email",
              name: "email",
              id: props.uniqueid + '-login-email',
              autoComplete: "off",
              placeholder: props.emaillabel,
              disabled: true
            })]
          }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
            className: "form-field password-field",
            children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
              className: "validation-message",
              "data-account-locked": props.accountlocked,
              "data-account-disabled": props.accountdisabled,
              "data-wrong-password": props.invalidloginpassword,
              id: props.uniqueid + '-passworderror'
            }), /*#__PURE__*/(0,jsx_runtime.jsx)("label", {
              htmlFor: props.uniqueid + '-login-password',
              className: "sr-only",
              children: props.passwordlabel
            }), /*#__PURE__*/(0,jsx_runtime.jsx)("input", {
              type: "password",
              name: "password",
              id: props.uniqueid + '-login-password',
              autoComplete: "off",
              placeholder: props.passwordlabel,
              "aria-describedby": props.uniqueid + '-passworderror'
            })]
          }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
            style: {
              marginTop: '10px'
            },
            children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
              role: "button",
              tabIndex: 0,
              className: "forgotPasswordLink",
              style: {
                "float": 'right'
              },
              children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
                children: props.forgotpassword
              })
            })
          }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
            className: "login-button",
            "data-provider": "site",
            children: /*#__PURE__*/(0,jsx_runtime.jsx)("button", {
              type: "button",
              children: props.loginbutton
            })
          })]
        })
      }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
        className: "form-separator position-relative d-flex justify-content-around",
        children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
          className: "or-label position-absolute d-flex justify-content-center flex-column text-center",
          children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
            className: "d-block",
            children: props.or
          })
        })
      }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
        className: "social-login-intro",
        children: /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
          className: "social-login-intro",
          children: props.socialaccount
        })
      }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
        className: "social-login-buttons",
        children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
          className: "linked-in login-button position-relative",
          "data-provider": "linkedin",
          children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
            className: "position-absolute ml-3 sprite-round-linkedin"
          }), /*#__PURE__*/(0,jsx_runtime.jsx)("button", {
            type: "button",
            children: props.linkedin
          })]
        }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
          className: "google login-button position-relative",
          "data-provider": "google",
          children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
            className: "position-absolute ml-3 sprite-round-google"
          }), /*#__PURE__*/(0,jsx_runtime.jsx)("button", {
            type: "button",
            children: props.google
          })]
        }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
          className: "twitter login-button position-relative",
          "data-provider": "twitter",
          children: [/*#__PURE__*/(0,jsx_runtime.jsx)("span", {
            className: "position-absolute ml-3 sprite-round-twitter"
          }), /*#__PURE__*/(0,jsx_runtime.jsx)("button", {
            type: "button",
            children: props.twitter
          })]
        })]
      })]
    })
  });
};
/* harmony default export */ const loginform = (LoginForm);
// EXTERNAL MODULE: ./src/dependencies/modules/bootstrap5.js + 1 modules
var bootstrap5 = __webpack_require__(6023);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(6540);
// EXTERNAL MODULE: ./src/dependencies/modules/plus.js
var plus = __webpack_require__(8081);
// EXTERNAL MODULE: ./src/dependencies/modules/personalizationUtils.js
var personalizationUtils = __webpack_require__(7012);
// EXTERNAL MODULE: ./src/dependencies/modules/common-utils.js + 1 modules
var common_utils = __webpack_require__(8262);
// EXTERNAL MODULE: ./src/dependencies/modules/genericErrorDialog.js
var genericErrorDialog = __webpack_require__(8892);
// EXTERNAL MODULE: ./src/dependencies/modules/tracking.js
var tracking = __webpack_require__(4980);
;// CONCATENATED MODULE: ./src/kpmg-components/fgeformbuilder/restrictedemailids.tsx
var restrictedemailids = ['020.co.uk', 'gmail.com', '123.com', '123box.net', '123india.com', '123mail.cl', '123mail.org', '123qwe.co.uk', '138mail.com', '141.ro', '150mail.com', '150ml.com', '16mail.com', '1963chevrolet.com', '1963pontiac.com', '1netdrive.com', '1st-website.com', '1stpd.net', '2-mail.com', '20after4.com', '21cn.com', '24h.co.jp', '24horas.com', '271soundview.com', '2die4.com', '2mydns.com', '2net.us', '3000.it', '3ammagazine.com', '3email.com', '3xl.net', '444.net', '4email.com', '4email.net', '4newyork.com', '50mail.com', '55mail.cc', '5fm.za.com', '6210.hu', '6sens.com', '702mail.co.za', '7110.hu', '8848.net', '8m.com', '8m.net', '8x.com.br', '8u8.com', '8u8.hk', '8u8.tw', 'a-topmail.at', 'about.com', 'abv.bg', 'acceso.or.cr', 'access4less.net', 'accessgcc.com', 'acmemail.net', 'adiga.com', 'adinet.com.uy', 'adres.nl', 'advalvas.be', 'aeiou.pt', 'aeneasmail.com', 'afrik.com', 'afropoets.com', 'aggies.com', 'ahaa.dk', 'aichi.com', 'aim.com', 'airpost.net', 'aiutamici.com', 'aklan.com', 'aknet.kg', 'alabama.usa.com', 'alaska.usa.com', 'alavatotal.com', 'albafind.com', 'albawaba.com', 'alburaq.net', 'aldeax.com', 'aldeax.com.ar', 'alex4all.com', 'aliyun.com', 'alexandria.cc', 'algeria.com', 'alice.it', 'alinto.com', 'allmail.net', 'alskens.dk', 'altavista.se', 'altbox.org', 'alternativagratis.com', 'alum.com', 'alunos.unipar.br', 'alvilag.hu', 'amenworld.com', 'america.hm', 'americamail.com', 'amnetsal.com', 'amorous.com', 'ananzi.co.za', 'anet.ne.jp', 'anfmail.com', 'angelfire.com', 'animail.net', 'aniverse.com', 'anjungcafe.com', 'another.com', 'antedoonsub.com', 'antwerpen.com', 'anunciador.net', 'anytimenow.com', 'aon.at', 'apexmail.com', 'apollo.lv', 'approvers.net', 'aprava.com', 'apropo.ro', 'arcor.de', 'argentina.com', 'arizona.usa.com', 'arkansas.usa.com', 'armmail.com', 'army.com', 'arnet.com.ar', 'aroma.com', 'arrl.net', 'aruba.it', 'asheville.com', 'asia-links.com', 'asiamail.com', 'assala.com', 'assamesemail.com', 'asurfer.com', 'atl.lv', 'atlas.cz', 'atlas.sk', 'atozasia.com', 'atreillou.com', 'att.net', 'au.ru', 'aubenin.com', 'aus-city.com', 'aussiemail.com.au', 'avasmail.com.mv', 'axarnet.com', 'ayna.com', 'azet.sk', 'babbalu.com', 'badgers.com', 'bakpaka.com', 'bakpaka.net', 'balochistan.org', 'baluch.com', 'bama-fan.com', 'bancora.net', 'bankersmail.com', 'barlick.net', 'beeebank.com', 'beehive.org', 'been-there.com', 'beirut.com', 'belizehome.com', 'belizemail.net', 'belizeweb.com', 'bellsouth.net', 'berlin.de', 'bestmail.us', 'bflomail.com', 'bgnmail.com', 'bharatmail.com', 'big-orange.com', 'bigboss.cz', 'bigfoot.com', 'bigger.com', 'bigmailbox.com', 'bigmir.net', 'bigstring.com', 'bip.net', 'bigpond.com', 'bitwiser.com', 'biz.by', 'bizhosting.com', 'black-sea.ro', 'blackburnmail.com', 'blackglobalnetwork.net', 'blink182.net', 'blue.devils.com', 'bluebottle.com', 'bluemail.ch', 'blumail.org', 'blvds.com', 'bol.com.br', 'bolando.com', 'bollywood2000.com', 'bollywoodz.com', 'bombka.dyn.pl', 'bonbon.net', 'boom.com', 'bootmail.com', 'bostonoffice.com', 'box.az', 'boxbg.com', 'boxemail.com', 'brain.com.pk', 'brasilia.net', 'bravanese.com', 'brazilmail.com.br', 'breathe.com', 'brestonline.com', 'brfree.com.br', 'brujula.net', 'btcc.org', 'buffaloes.com', 'bulgaria.com', 'bulldogs.com', 'bumerang.ro', 'burntmail.com', 'butch-femme.net', 'buzy.com', 'buzzjakkerz.com', 'c-box.cz', 'c3.hu', 'c4.com', 'cadinfo.net', 'calcfacil.com.br', 'calcware.org', 'california.usa.com', 'callnetuk.com', 'camaroclubsweden.com', 'canada-11.com', 'canada.com', 'canal21.com', 'canoemail.com', 'caramail.com', 'cardblvd.com', 'care-mail.com', 'care2.com', 'caress.com', 'carioca.net', 'cashette.com', 'casino.com', 'casinomail.com', 'cataloniamail.com', 'catalunyamail.com', 'cataz.com', 'catcha.com', 'catholic.org', 'caths.co.uk', 'caxess.net', 'cbrmail.com', 'cc.lv', 'cemelli.com', 'centoper.it', 'centralpets.com', 'centrum.cz', 'centrum.sk', 'centurylink.net', 'cercaziende.it', 'cgac.es', 'chaiyo.com', 'chaiyomail.com', 'chance2mail.com', 'channelonetv.com', 'charter.net', 'chattown.com', 'checkitmail.at', 'chelny.com', 'cheshiremail.com', 'chil-e.com', 'chillimail.com', 'china.com', 'christianmail.org', 'ciaoweb.it', 'cine.com', 'ciphercom.net', 'circlemail.com', 'cititrustbank1.cjb.net', 'citromail.hu', 'citynetusa.com', 'ciudad.com.ar', 'claramail.com', 'classicmail.co.za', 'cliffhanger.com', 'clix.pt', 'close2you.net', 'cluemail.com', 'clujnapoca.ro', 'collegeclub.com', 'colombia.com', 'colorado.usa.com', 'comcast.net', 'comfortable.com', 'compaqnet.fr', 'compuserve.com', 'computer.net', 'computermail.net', 'computhouse.com', 'conevyt.org.mx', 'connect4free.net', 'connecticut.usa.com', 'coolgoose.com', 'coolkiwi.com', 'coollist.com', 'coxinet.net', 'coolmail.com', 'coolmail.net', 'coolsend.com', 'cooltoad.com', 'cooperation.net', 'copacabana.com', 'copticmail.com', 'corporateattorneys.com', 'corporation.net', 'correios.net.br', 'correomagico.com', 'cosmo.com', 'cosmosurf.net', 'cougars.com', 'count.com', 'countrybass.com', 'couple.com', 'criticalpath.net', 'critterpost.com', 'crosspaths.net', 'crosswinds.net', 'cryingmail.com', 'cs.com', 'csucsposta.hu', 'cumbriamail.com', 'curio-city.com', 'custmail.com', 'cwazy.co.uk', 'cwazy.net', 'cww.de', 'cyberaccess.com.pk', 'cybergirls.dk', 'cyberguys.dk', 'cybernet.it', 'cymail.net', 'dabsol.net', 'dada.net', 'dadanet.it', 'dailypioneer.com', 'damuc.org.br', 'dansegulvet.com', 'darkhorsefan.net', 'data54.com', 'davegracey.com', 'dayzers.com', 'daum.net', 'dbmail.com', 'dcemail.com', 'dcsi.net', 'deacons.com', 'deadlymob.org', 'deal-maker.com', 'dearriba.com', 'degoo.com', 'delajaonline.org', 'delaware.usa.com', 'delfi.lv', 'delhimail.com', 'demon.deacons.com', 'desertonline.com', 'desidrivers.com', 'deskpilot.com', 'despammed.com', 'detik.com', 'devils.com', 'dexara.net', 'dhmail.net', 'di-ve.com', 'didamail.com', 'digitaltrue.com', 'direccion.com', 'director-general.com', 'diri.com', 'discardmail.com', 'discoverymail.net', 'disinfo.net', 'djmillenium.com', 'dmailman.com', 'dnsmadeeasy.com', 'do.net.ar', 'dodgeit.com', 'dogmail.co.uk', 'doityourself.com', 'domaindiscover.com', 'domainmanager.com', 'doneasy.com', 'dontexist.org', 'dores.com', 'dostmail.com', 'dot5hosting.com', 'dotcom.fr', 'dotnow.com', 'dott.it', 'doubt.com', 'dplanet.ch', 'dragoncon.net', 'dragonfans.com', 'dropzone.com', 'dserver.org', 'dubaiwebcity.com', 'dublin.ie', 'dustdevil.com', 'dynamitemail.com', 'dyndns.org', 'e-apollo.lv', 'e-hkma.com', 'e-mail.cz', 'e-mail.ph', 'e-mailanywhere.com', 'e-milio.com', 'e-tapaal.com', 'e-webtec.com', 'earthalliance.com', 'earthling.net', 'eastmail.com', 'eastrolog.com', 'easy-pages.com', 'easy.com', 'easyinfomail.co.za', 'easypeasy.com', 'echina.com', 'ecn.org', 'ecplaza.net', 'eircom.net', 'edsamail.com.ph', 'educacao.te.pt', 'edumail.co.za', 'eeism.com', 'ego.co.th', 'ekolay.net', 'elforotv.com.ar', 'elitemail.org', 'elsitio.com', 'eltimon.com', 'elvis.com', 'email.com.br', 'email.cz', 'email.bg', 'email.it', 'email.lu', 'email.lviv.ua', 'email.nu', 'email.ro', 'email.si', 'email2me.com', 'emailacc.com', 'emailaccount.com', 'emailaddresses.com', 'emailchoice.com', 'emailcorner.net', 'emailn.de', 'emailengine.net', 'emailengine.org', 'emailgaul.com', 'emailgroups.net', 'emailhut.net', 'emailpinoy.com', 'emailplanet.com', 'emailplus.org', 'emailuser.net', 'ematic.com', 'embarqmail.com', 'embroideryforums.com', 'eml.cc', 'emoka.ro', 'emptymail.com', 'enel.net', 'enelpunto.net', 'england.com', 'enterate.com.ar', 'entryweb.it', 'entusiastisk.com', 'enusmail.com', 'epatra.com', 'epix.net', 'epomail.com', 'epost.de', 'eprompter.com', 'eqqu.com', 'eramail.co.za', 'eresmas.com', 'eriga.lv', 'ertelecom.ru', 'esde-s.org', 'esfera.cl', 'estadao.com.br', 'etllao.com', 'euromail.net', 'euroseek.com', 'euskalmail.com', 'evafan.com', 'everyday.com.kh', 'everymail.net', 'everyone.net', 'execs2k.com', 'executivemail.co.za', 'expn.com', 'ezilon.com', 'ezrs.com', 'f-m.fm', 'facilmail.com', 'fadrasha.net', 'fadrasha.org', 'faithhighway.com', 'faithmail.com', 'familymailbox.com', 'familyroll.com', 'familysafeweb.net', 'fan.com', 'fan.net', 'faroweb.com', 'fast-email.com', 'fast-mail.org', 'fastem.com', 'fastemail.us', 'fastemailer.com', 'fastermail.com', 'fastest.cc', 'fastimap.com', 'fastmailbox.net', 'fastmessaging.com', 'fastwebmail.it', 'fawz.net', 'fea.st', 'federalcontractors.com', 'fedxmail.com', 'feelings.com', 'female.ru', 'fepg.net', 'ffanet.com', 'fiberia.com', 'filipinolinks.com', 'financesource.com', 'findmail.com', 'fiscal.net', 'flashmail.com', 'flipcode.com', 'florida.usa.com', 'floridagators.com', 'fmail.co.uk', 'fmailbox.com', 'fmgirl.com', 'fmguy.com', 'fnmail.com', 'footballer.com', 'foxmail.com', 'forfree.at', 'forsythmissouri.org', 'fortuncity.com', 'forum.dk', 'free.com.pe', 'free.fr', 'free.net.nz', 'freeaccess.nl', 'freegates.be', 'freeghana.com', 'freehosting.nl', 'freei.co.th', 'freeler.nl', 'freemuslim.net', 'freenet.de', 'freenet.kg', 'freeola.net', 'freepgs.com', 'freesbee.fr', 'freeservers.com', 'freestart.hu', 'freesurf.ch', 'freesurf.fr', 'freesurf.nl', 'freeuk.com', 'freeuk.net', 'freeweb.it', 'freewebemail.com', 'freeyellow.com', 'frisurf.no', 'frontiernet.net', 'fsmail.net', 'fsnet.co.uk', 'ftml.net', 'fuelie.org', 'fun-greetings-jokes.com', 'fun.21cn.com', 'fusemail.com', 'fut.es', 'gala.net', 'galmail.co.za', 'gamebox.net', 'gamecocks.com', 'gawab.com', 'gay.com', 'gaymailbox.com', 'gaza.net', 'gazeta.pl', 'gci.net', 'gdi.net', 'geeklife.com', 'gemari.or.id', 'genxemail.com', 'geopia.com', 'georgia.usa.com', 'getmail.no', 'ggaweb.ch', 'giga4u.de', 'gjk.dk', 'glay.org', 'glendale.net', 'globalfree.it', 'globomail.com', 'globalpinoy.com', 'globalsite.com.br', 'globalum.com', 'globetrotter.net', 'go-bama.com', 'go-cavs.com', 'go-chargers.com', 'go-dawgs.com', 'go-gators.com', 'go-hogs.com', 'go-irish.com', 'go-spartans.com', 'go-tigers.com', 'go.aggies.com', 'go.air-force.com', 'go.badgers.com', 'go.big-orange.com', 'go.blue.devils.com', 'go.buffaloes.com', 'go.bulldogs.com', 'go.com', 'go.cougars.com', 'go.dores.com', 'go.gamecocks.com', 'go.huskies.com', 'go.longhorns.com', 'go.mustangs.com', 'go.rebels.com', 'go.ro', 'go.ru', 'go.terrapins.com', 'go.wildcats.com', 'go.wolverines.com', 'go.yellow-jackets.com', 'go2net.com', 'go4.it', 'gofree.co.uk', 'golfemail.com', 'goliadtexas.com', 'gomail.com.ua', 'gonowmail.com', 'gonuts4free.com', 'googlemail.com', 'goplay.com', 'gorontalo.net', 'gotmail.com', 'gotomy.com', 'govzone.com', 'grad.com', 'graffiti.net', 'gratisweb.com', 'gtechnics.com', 'guate.net', 'guessmail.com', 'gwalla.com', 'h-mail.us', 'haberx.com', 'hailmail.net', 'halejob.com', 'hamptonroads.com', 'handbag.com', 'hanmail.net', 'happemail.com', 'happycounsel.com', 'hawaii.com', 'hawaii.usa.com', 'hayahaya.tg', 'hedgeai.com', 'heesun.net', 'heremail.com', 'hetnet.nl', 'highveldmail.co.za', 'hildebrands.de', 'hingis.org', 'hispavista.com', 'hitmanrecords.com', 'hockeyghiaccio.com', 'hockeymail.com', 'holapuravida.com', 'home.no.net', 'home.ro', 'home.se', 'homelocator.com', 'homemail.co.za', 'homenetmail.com', 'homestead.com', 'homosexual.net', 'hongkong.com', 'hong-kong-1.com', 'hopthu.com', 'hosanna.net', 'hot.ee', 'hotbot.com', 'hotbox.ru', 'hotcoolmail.com', 'hotdak.com', 'hotfire.net', 'hotinbox.com', 'hotpop.com', 'hotvoice.com', 'hour.com', 'howling.com', 'huhmail.com', 'humour.com', 'hurra.de', 'hush.ai', 'hush.com', 'hushmail.com', 'huskies.com', 'hutchcity.com', 'i-france.com', 'i-p.com', 'i12.com', 'i2828.com', 'ibatam.com', 'ibest.com.br', 'ibizdns.com', 'icafe.com', 'ice.is', 'icestorm.com', 'icloud.com', 'icq.com', 'icqmail.com', 'icrazy.com', 'id.ru', 'idaho.usa.com', 'idirect.com', 'idncafe.com', 'ieg.com.br', 'iespalomeras.net', 'iespana.es', 'ifrance.com', 'ig.com.br', 'ignazio.it', 'illinois.usa.com', 'ilse.net', 'ilse.nl', 'imail.ru', 'imailbox.com', 'imap-mail.com', 'imap.cc', 'imapmail.org', 'imel.org', 'in-box.net', 'inbox.com', 'inbox.ge', 'inbox.lv', 'inbox.net', 'inbox.ru', 'in.com', 'incamail.com', 'indexa.fr', 'india.com', 'indiamail.com', 'indiana.usa.com', 'indiatimes.com', 'induquimica.org', 'inet.com.ua', 'infinito.it', 'infoapex.com', 'infohq.com', 'infomail.es', 'infomart.or.jp', 'infosat.net', 'infovia.com.ar', 'inicia.es', 'inmail.sk', 'inmail24.com', 'inoutbox.com', 'intelnet.net.gt', 'intelnett.com', 'interblod.com', 'interfree.it', 'interia.pl', 'interlap.com.ar', 'intermail.hu', 'internet-e-mail.com', 'internet-mail.org', 'internet.lu', 'internetegypt.com', 'internetemails.net', 'internetmailing.net', 'inwind.it', 'iobox.com', 'iobox.fi', 'iol.it', 'iol.pt', 'iowa.usa.com', 'ip3.com', 'ipermitmail.com', 'iqemail.com', 'iquebec.com', 'iran.com', 'irangate.net', 'iscool.net', 'islandmama.com', 'ismart.net', 'isonews2.com', 'isonfire.com', 'isp9.net', 'ispey.com', 'itelgua.com', 'itloox.com', 'itmom.com', 'ivenus.com', 'iwan-fals.com', 'iwon.com', 'ixp.net', 'japan.com', 'jaydemail.com', 'jedrzejow.pl', 'jetemail.net', 'jingjo.net', 'jippii.fi', 'jmail.co.za', 'jojomail.com', 'jovem.te.pt', 'joymail.com', 'jubii.dk', 'jubiipost.dk', 'jumpy.it', 'juno.com', 'justemail.net', 'justmailz.com', 'k.ro', 'kaazoo.com', 'kabissa.org', 'kaixo.com', 'kalluritimes.com', 'kalpoint.com', 'kansas.usa.com', 'katamail.com', 'kataweb.it', 'kayafmmail.co.za', 'keko.com.ar', 'kentucky.usa.com', 'keptprivate.com', 'kimo.com', 'kiwitown.com', 'klik.it', 'klikni.cz', 'kmtn.ru', 'koko.com', 'kolozsvar.ro', 'kombud.com', 'koreanmail.com', 'kotaksuratku.info', 'krunis.com', 'kukamail.com', 'kuronowish.com', 'kyokodate.com', 'kyokofukada.net', 'ladymail.cz', 'lagoon.nc', 'lahaonline.com', 'lamalla.net', 'lancsmail.com', 'land.ru', 'laposte.net', 'latinmail.com', 'lawyer.com', 'lawyersmail.com', 'lawyerzone.com', 'lebanonatlas.com', 'leehom.net', 'leonardo.it', 'leonlai.net', 'letsjam.com', 'letterbox.org', 'letterboxes.org', 'levele.com', 'lexpress.net', 'libero.it', 'liberomail.com', 'libertysurf.net', 'libre.net', 'lightwines.org', 'linkmaster.com', 'linuxfreemail.com', 'lionsfan.com.au', 'livedoor.com', 'llandudno.com', 'llangollen.com', 'lmxmail.sk', 'loggain.net', 'loggain.nu', 'lolnetwork.net', 'london.com', 'longhorns.com', 'look.com', 'looksmart.co.uk', 'looksmart.com', 'looksmart.com.au', 'loteria.net', 'lotonazo.com', 'louisiana.usa.com', 'louiskoo.com', 'loveable.com', 'lovemail.com', 'lovingjesus.com', 'lpemail.com', 'luckymail.com', 'luso.pt', 'lusoweb.pt', 'luukku.com', 'lycosmail.com', 'mac.com', 'machinecandy.com', 'macmail.com', 'mad.scientist.com', 'madcrazy.com', 'madonno.com', 'madrid.com', 'mag2.com', 'magicmail.co.za', 'magik-net.com', 'mail-atlas.net', 'mail-awu.de', 'mail-box.cz', 'mail.by', 'mail-center.com', 'mail-central.com', 'mail-jp.org', 'mail-online.dk', 'mail-page.com', 'mail-x-change.com', 'mail.austria.com', 'mail.az', 'mail.de', 'mail.be', 'mail.bg', 'mail.bulgaria.com', 'mail.co.za', 'mail.dk', 'mail.ee', 'mail.goo.ne.jp', 'mail.gr', 'mail.lawguru.com', 'mail.md', 'mail.mn', 'mail.org', 'mail.pf', 'mail.pt', 'mail.ru', 'mail.yahoo.co.jp', 'mail15.com', 'mail3000.com', 'mail333.com', 'mail8.com', 'mailandftp.com', 'mailandnews.com', 'mailas.com', 'mailasia.com', 'mailbg.com', 'mailblocks.com', 'mailbolt.com', 'mailbox.as', 'mailbox.co.za', 'mailbox.gr', 'mailbox.hu', 'mailbox.sk', 'mailc.net', 'mailcan.com', 'mailcircuit.com', 'mailclub.fr', 'mailclub.net', 'maildozy.com', 'mailfly.com', 'mailforce.net', 'mailftp.com', 'mailglobal.net', 'mailhaven.com', 'mailinator.com', 'mailingaddress.org', 'mailingweb.com', 'mailisent.com', 'mailite.com', 'mailme.dk', 'mailmight.com', 'mailmij.nl', 'mailnew.com', 'mailops.com', 'mailpanda.com', 'mailpersonal.com', 'mailroom.com', 'mailru.com', 'mails.de', 'mailsent.net', 'mailserver.dk', 'mailservice.ms', 'mailsnare.net', 'mailsurf.com', 'mailup.net', 'mailvault.com', 'mailworks.org', 'maine.usa.com', 'majorana.martina-franca.ta.it', 'maktoob.com', 'malayalamtelevision.net', 'malayalapathram.com', 'male.ru', 'manager.de', 'manlymail.net', 'mantrafreenet.com', 'mantramail.com', 'mantraonline.com', 'marihuana.ro', 'marijuana.nl', 'marketweighton.com', 'maryland.usa.com', 'masrawy.com', 'massachusetts.usa.com', 'mauimail.com', 'mbox.com.au', 'mcrmail.com', 'me.by', 'me.com', 'medicinatv.com', 'meetingmall.com', 'megamail.pt', 'menara.ma', 'merseymail.com', 'mesra.net', 'messagez.com', 'metacrawler.com', 'mexico.com', 'miaoweb.net', 'michigan.usa.com', 'micro2media.com', 'miesto.sk', 'mighty.co.za', 'milacamn.net', 'milmail.com', 'mindless.com', 'mindviz.com', 'minnesota.usa.com', 'mississippi.usa.com', 'missouri.usa.com', 'mixmail.com', 'ml1.net', 'ml2clan.com', 'mlanime.com', 'mm.st', 'mmail.com', 'mobimail.mn', 'mobsters.com', 'mobstop.com', 'modemnet.net', 'modomail.com', 'moldova.com', 'moldovacc.com', 'monarchy.com', 'montana.usa.com', 'montevideo.com.uy', 'moomia.com', 'moose-mail.com', 'mosaicfx.com', 'motormania.com', 'movemail.com', 'mr.outblaze.com', 'mrspender.com', 'mscold.com', 'msn.com', 'msn.co.uk', 'msnzone.cn', 'mundo-r.com', 'muslimsonline.com', 'mustangs.com', 'mxs.de', 'myblue.cc', 'mycabin.com', 'mycity.com', 'mycommail.com', 'mycool.com', 'mydomain.com', 'myeweb.com', 'myfastmail.com', 'myfunnymail.com', 'mykolab.com', 'mygamingconsoles.com', 'myiris.com', 'myjazzmail.com', 'mymacmail.com', 'mymail.dk', 'mymail.ph.inter.net', 'mymail.ro', 'mynet.com', 'mynet.com.tr', 'myotw.net', 'myopera.com', 'myownemail.com', 'mypersonalemail.com', 'myplace.com', 'myrealbox.com', 'myspace.com', 'myt.mu', 'myway.com', 'mzgchaos.de', 'n2.com', 'n2business.com', 'n2mail.com', 'n2software.com', 'nabble.com', 'name.com', 'nameplanet.com', 'nanamail.co.il', 'nanaseaikawa.com', 'nandomail.com', 'naseej.com', 'nastything.com', 'national-champs.com', 'nativeweb.net', 'narod.ru', 'nate.com', 'naveganas.com', 'naver.com', 'nebraska.usa.com', 'nemra1.com', 'nenter.com', 'nerdshack.com', 'nervhq.org', 'net.hr', 'net4b.pt', 'net4jesus.com', 'net4you.at', 'netbounce.com', 'netcabo.pt', 'netcape.net', 'netcourrier.com', 'netexecutive.com', 'netfirms.com', 'netkushi.com', 'netmongol.com', 'netpiper.com', 'netposta.net', 'netscape.com', 'netscape.net', 'netscapeonline.co.uk', 'netsquare.com', 'nettaxi.com', 'netti.fi', 'networld.com', 'netzero.com', 'netzero.net', 'neustreet.com', 'nevada.usa.com', 'newhampshire.usa.com', 'newjersey.usa.com', 'newmail.com', 'newmail.net', 'newmail.ok.com', 'newmail.ru', 'newmexico.usa.com', 'newspaperemail.com', 'newyork.com', 'newyork.usa.com', 'newyorkcity.com', 'nfmail.com', 'nicegal.com', 'nightimeuk.com', 'nightly.com', 'nightmail.com', 'nightmail.ru', 'noavar.com', 'noemail.com', 'nonomail.com', 'nokiamail.com', 'noolhar.com', 'northcarolina.usa.com', 'northdakota.usa.com', 'nospammail.net', 'nowzer.com', 'ny.com', 'nyc.com', 'nz11.com', 'nzoomail.com', 'o2.pl', 'oceanfree.net', 'ocsnet.net', 'oddpost.com', 'odeon.pl', 'odmail.com', 'offshorewebmail.com', 'ofir.dk', 'ohio.usa.com', 'oicexchange.com', 'ok.ru', 'oklahoma.usa.com', 'ole.com', 'oleco.net', 'olympist.net', 'omaninfo.com', 'onatoo.com', 'ondikoi.com', 'onebox.com', 'onenet.com.ar', 'onet.pl', 'ongc.net', 'oninet.pt', 'online.ie', 'online.ru', 'onlinewiz.com', 'onobox.com', 'open.by', 'openbg.com', 'openforyou.com', 'opentransfer.com', 'operamail.com', 'oplusnet.com', 'orange.fr', 'orangehome.co.uk', 'orange.es', 'orange.jo', 'orange.pl', 'orbitel.bg', 'orcon.net.nz', 'oregon.usa.com', 'oreka.com', 'organizer.net', 'orgio.net', 'orthodox.com', 'osite.com.br', 'oso.com', 'ourbrisbane.com', 'ournet.md', 'ourprofile.net', 'ourwest.com', 'outgun.com', 'ownmail.net', 'oxfoot.com', 'ozu.es', 'pacer.com', 'paginasamarillas.com', 'pakistanmail.com', 'pandawa.com', 'pando.com', 'pandora.be', 'paris.com', 'parsimail.com', 'parspage.com', 'patmail.com', 'pattayacitythailand.com', 'pc4me.us', 'pcpostal.com', 'penguinmaster.com', 'pennsylvania.usa.com', 'peoplepc.com', 'peopleweb.com', 'personal.ro', 'personales.com', 'peru.com', 'petml.com', 'phreaker.net', 'pigeonportal.com', 'pilu.com', 'pimagop.com', 'pinoymail.com', 'pipni.cz', 'pisem.net', 'planet-school.de', 'planetaccess.com', 'planetout.com', 'plasa.com', 'playersodds.com', 'playful.com', 'pluno.com', 'plusmail.com.br', 'pmail.net', 'pnetmail.co.za', 'pobox.ru', 'pobox.sk', 'pochtamt.ru', 'pochta.ru', 'poczta.fm', 'poetic.com', 'pogowave.com', 'polbox.com', 'pop3.ru', 'pop.co.th', 'popmail.com', 'poppymail.com', 'popsmail.com', 'popstar.com', 'portafree.com', 'portaldosalunos.com', 'portugalmail.com', 'portugalmail.pt', 'post.cz', 'post.expart.ne.jp', 'post.pl', 'post.sk', 'posta.ge', 'postaccesslite.com', 'postiloota.net', 'postinbox.com', 'postino.ch', 'postino.it', 'postmaster.co.uk', 'postpro.net', 'praize.com', 'press.co.jp', 'primposta.com', 'printesamargareta.ro', 'private.21cn.com', 'probemail.com', 'profesional.com', 'profession.freemail.com.br', 'proinbox.com', 'promessage.com', 'prontomail.com', 'protonmail.com', 'protonmail.ch', 'provincial.net', 'publicaccounting.com', 'punkass.com', 'puppy.com.my', 'q.com', 'qatar.io', 'qlmail.com', 'qq.com', 'qrio.com', 'qsl.net', 'qudsmail.com', 'queerplaces.com', 'quepasa.com', 'quick.cz', 'quickwebmail.com', 'r-o-o-t.com', 'r320.hu', 'raakim.com', 'rbcmail.ru', 'racingseat.com', 'radicalz.com', 'radiojobbank.com', 'ragingbull.com', 'raisingadaughter.com', 'rallye-webmail.com', 'rambler.ru', 'ranmamail.com', 'ravearena.com', 'ravemail.co.za', 'razormail.com', 'real.ro', 'realemail.net', 'reallyfast.biz', 'reallyfast.info', 'rebels.com', 'recife.net', 'recme.net', 'rediffmail.com', 'rediffmailpro.com', 'redseven.de', 'redwhitearmy.com', 'relia.com', 'revenue.com', 'rexian.com', 'rhodeisland.usa.com', 'ritmes.net', 'rn.com', 'roanokemail.com', 'rochester-mail.com', 'rock.com', 'rocketmail.com', 'rockfan.com', 'rockinghamgateway.com', 'rojname.com', 'rol.ro', 'rollin.com', 'rome.com', 'romymichele.com', 'royal.net', 'rpharmacist.com', 'rt.nl', 'ru.ru', 'rushpost.com', 'russiamail.com', 'rxpost.net', 's-mail.com', 'saabnet.com', 'sacbeemail.com', 'sacmail.com', 'safe-mail.net', 'safe-mailbox.com', 'saigonnet.vn', 'saint-mike.org', 'samilan.net', 'sandiego.com', 'sanook.com', 'sanriotown.com', 'sapibon.com', 'sapo.pt', 'saturnfans.com', 'sayhi.net', 'sbcglobal.com', 'scfn.net', 'schweiz.org', 'sci.fi', 'sciaga.pl', 'scrapbookscrapbook.com', 'seapole.com', 'search417.com', 'seark.com', 'sebil.com', 'secretservices.net', 'secure-jlnet.com', 'seductive.com', 'sendmail.ru', 'sendme.cz', 'sent.as', 'sent.at', 'sent.com', 'serga.com.ar', 'sermix.com', 'server4free.de', 'serverwench.com', 'sesmail.com', 'sexmagnet.com', 'seznam.cz', 'shadango.com', 'she.com', 'shuf.com', 'siamlocalhost.com', 'siamnow.net', 'sify.com', 'sinamail.com', 'singapore.com', 'singmail.com', 'singnet.com.sg', 'siraj.org', 'sirindia.com', 'sirunet.com', 'sister.com', 'sina.com', 'sina.cn', 'sinanail.com', 'sistersbrothers.com', 'sizzling.com', 'slamdunkfan.com', 'slickriffs.co.uk', 'slingshot.com', 'slo.net', 'slomusic.net', 'smartemail.co.uk', 'smtp.ru', 'snail-mail.net', 'sndt.net', 'sneakemail.com', 'snoopymail.com', 'snowboarding.com', 'so-simple.org', 'socamail.com', 'softhome.net', 'sohu.com', 'sol.dk', 'solidmail.com', 'soon.com', 'sos.lv', 'soundvillage.org', 'southcarolina.usa.com', 'southdakota.usa.com', 'sp.nl', 'space.com', 'spacetowns.com', 'spamex.com', 'spartapiet.com', 'speed-racer.com', 'speedpost.net', 'speedymail.org', 'spils.com', 'spinfinder.com', 'sportemail.com', 'spray.net', 'spray.no', 'spray.se', 'spymac.com', 'srbbs.com', 'srilankan.net', 'ssan.com', 'ssl-mail.com', 'stade.fr', 'stalag13.com', 'stampmail.com', 'starbuzz.com', 'starline.ee', 'starmail.com', 'starmail.org', 'starmedia.com', 'starspath.com', 'start.com.au', 'start.no', 'stribmail.com', 'student.com', 'student.ednet.ns.ca', 'studmail.com', 'sudanmail.net', 'suisse.org', 'sunbella.net', 'sunmail1.com', 'sunpoint.net', 'sunrise.ch', 'sunumail.sn', 'sunuweb.net', 'suomi24.fi', 'superdada.it', 'supereva.com', 'supereva.it', 'supermailbox.com', 'superposta.com', 'surf3.net', 'surfassistant.com', 'surfsupnet.net', 'surfy.net', 'surimail.com', 'surnet.cl', 'sverige.nu', 'svizzera.org', 'sweb.cz', 'swift-mail.com', 'swissinfo.org', 'swissmail.net', 'switzerland.org', 'syom.com', 'syriamail.com', 't-mail.com', 't-net.net.ve', 't2mail.com', 'tabasheer.com', 'talk21.com', 'talkcity.com', 'tangmonkey.com', 'tatanova.com', 'taxcutadvice.com', 'techemail.com', 'technisamail.co.za', 'teenmail.co.uk', 'teenmail.co.za', 'tejary.com', 'telebot.com', 'telefonica.net', 'telegraf.by', 'teleline.es', 'telinco.net', 'telkom.net', 'telpage.net', 'telstra.com', 'telenet.be', 'telusplanet.net', 'tempting.com', 'tenchiclub.com', 'tennessee.usa.com', 'terrapins.com', 'texas.usa.com', 'texascrossroads.com', 'tfz.net', 'thai.com', 'thaimail.com', 'thaimail.net', 'the-fastest.net', 'the-quickest.com', 'thegame.com', 'theinternetemail.com', 'theoffice.net', 'thepostmaster.net', 'theracetrack.com', 'theserverbiz.com', 'thewatercooler.com', 'thewebpros.co.uk', 'thinkpost.net', 'thirdage.com', 'thundermail.com', 'tim.it', 'timemail.com', 'tin.it', 'tinati.net', 'tiscalinet.it', 'tjohoo.se', 'tkcity.com', 'tlcfan.com', 'tlen.pl', 'tmicha.net', 'todito.com', 'todoperros.com', 'tokyo.com', 'topchat.com', 'topmail.com.ar', 'topmail.dk', 'topmail.co.ie', 'topmail.co.in', 'topmail.co.nz', 'topmail.co.uk', 'topmail.co.za', 'topsurf.com', 'toquedequeda.com', 'torba.com', 'torchmail.com', 'totalmail.com', 'totalsurf.com', 'totonline.net', 'tough.com', 'toughguy.net', 'trav.se', 'trevas.net', 'tripod-mail.com', 'triton.net', 'trmailbox.com', 'tsamail.co.za', 'turbonett.com', 'turkey.com', 'tvnet.lv', 'twc.com', 'typemail.com', 'u2club.com', 'uae.ac', 'ubbi.com', 'ubbi.com.br', 'uboot.com', 'ugeek.com', 'uk2.net', 'uk2net.com', 'ukr.net', 'ukrpost.net', 'ukrpost.ua', 'uku.co.uk', 'ulimit.com', 'ummah.org', 'unbounded.com', 'unican.es', 'unicum.de', 'unimail.mn', 'unitedemailsystems.com', 'universal.pt', 'universia.cl', 'universia.edu.ve', 'universia.es', 'universia.net.co', 'universia.net.mx', 'universia.pr', 'universia.pt', 'universiabrasil.net', 'unofree.it', 'uol.com.ar', 'uol.com.br', 'uole.com', 'uolmail.com', 'uomail.com', 'uraniomail.com', 'urbi.com.br', 'ureach.com', 'usanetmail.com', 'userbeam.com', 'utah.usa.com', 'uyuyuy.com', 'v-sexi.com', 'v3mail.com', 'vegetarisme.be', 'velnet.com', 'velocall.com', 'vercorreo.com', 'verizonmail.com', 'vermont.usa.com', 'verticalheaven.com', 'veryfast.biz', 'veryspeedy.net', 'vfemail.net', 'vietmedia.com', 'vip.gr', 'virgilio.it', 'virgin.net', 'virginia.usa.com', 'virtual-mail.com', 'visitmail.com', 'visto.com', 'vivelared.com', 'vjtimail.com', 'vnn.vn', 'vsnl.com', 'vsnl.net', 'vodamail.co.za', 'voila.fr', 'volkermord.com', 'vosforums.com', 'w.cn', 'walla.com', 'walla.co.il', 'wallet.com', 'wam.co.za', 'wanex.ge', 'wap.hu', 'wapda.com', 'wapicode.com', 'wappi.com', 'warpmail.net', 'washington.usa.com', 'wassup.com', 'waterloo.com', 'waumail.com', 'wazmail.com', 'wearab.net', 'web-mail.com.ar', 'web.de', 'web.nl', 'web2mail.com', 'webaddressbook.com', 'webbworks.com', 'webcity.ca', 'webdream.com', 'webemaillist.com', 'webindia123.com', 'webinfo.fi', 'webjump.com', 'webl-3.br.inter.net', 'webmail.co.yu', 'webmail.co.za', 'webmails.com', 'webmailv.com', 'webpim.cc', 'webspawner.com', 'webstation.com', 'websurfer.co.za', 'webtopmail.com', 'webtribe.net', 'webtv.net', 'weedmail.com', 'weekonline.com', 'weirdness.com', 'westvirginia.usa.com', 'whale-mail.com', 'whipmail.com', 'who.net', 'whoever.com', 'wildcats.com', 'wildmail.com', 'williams.net.ar', 'winning.com', 'winningteam.com', 'winwinhosting.com', 'wisconsin.usa.com', 'witelcom.com', 'witty.com', 'wolverines.com', 'wooow.it', 'workmail.co.za', 'worldcrossing.com', 'worldemail.com', 'worldmedic.com', 'worldonline.de', 'wowmail.com', 'wp.pl', 'wprost.pl', 'wrongmail.com', 'wtonetwork.com', 'wurtele.net', 'www.com', 'www.consulcredit.it', 'wyoming.usa.com', 'x-mail.net', 'xasa.com', 'xfreehosting.com', 'xmail.net', 'xmsg.com', 'xnmsn.cn', 'xoom.com', 'xtra.co.nz', 'xuite.net', 'xpectmore.com', 'xrea.com', 'xsmail.com', 'xzapmail.com', 'y7mail.com', 'yahala.co.il', 'yaho.com', 'yalla.com.lb', 'ya.com', 'yeah.net', 'ya.ru', 'yahoomail.com', 'yam.com', 'yamal.info', 'yapost.com', 'yawmail.com', 'yebox.com', 'yehey.com', 'yellow-jackets.com', 'yellowstone.net', 'yenimail.com', 'yepmail.net', 'yifan.net', 'ymail.com', 'your-mail.com', 'yours.com', 'yourwap.com', 'yyhmail.com', 'z11.com', 'z6.com', 'zednet.co.uk', 'zeeman.nl', 'ziplip.com', 'zipmail.com.br', 'zipmax.com', 'zmail.pt', 'zmail.ru', 'zona-andina.net', 'zonai.com', 'zoneview.net', 'zonnet.nl', 'zoho.com', 'zoomshare.com', 'zoznam.sk', 'zubee.com', 'zuvio.com', 'zwallet.com', 'zworg.com', 'zybermail.com', 'zzn.com', '126.com', '139.com', '163.com', '188.com', '189.cn', '263.net', '9.cn', 'vip.126.com', 'vip.163.com', 'vip.188.com', 'vip.sina.com', 'vip.sohu.com', 'vip.sohu.net', 'vip.tom.com', 'vip.qq.com', 'vipsohu.net', 'clovermail.net', 'mail-on.us', 'chewiemail.com', 'offcolormail.com', 'powdermail.com', 'tightmail.com', 'toothandmail.com', 'tushmail.com', 'openmail.cc', 'expressmail.dk', '4xn.de', '5x2.de', '5x2.me', 'aufdrogen.de', 'auf-steroide.de', 'besser-als-du.de', 'brainsurfer.de', 'chillaxer.de', 'cyberkriminell.de', 'danneben.so', 'freemailen.de', 'freemailn.de', 'ist-der-mann.de', 'ist-der-wahnsinn.de', 'ist-echt.so', 'istecht.so', 'ist-genialer.de', 'ist-schlauer.de', 'ist-supersexy.de', 'kann.so', 'mag-spam.net', 'mega-schlau.de', 'muss.so', 'nerd4life.de', 'ohne-drogen-gehts.net', 'on-steroids.de', 'scheint.so', 'staatsterrorist.de', 'super-gerissen.de', 'unendlich-schlau.de', 'vip-client.de', 'will-keinen-spam.de', 'zu-geil.de', 'rbox.me', 'rbox.co', 'tunome.com', 'acatperson.com', 'adogperson.com', 'all4theskins.com', 'allsportsrock.com', 'alwaysgrilling.com', 'alwaysinthekitchen.com', 'alwayswatchingmovies.com', 'alwayswatchingtv.com', 'asylum.com', 'basketball-email.com', 'beabookworm.com', 'beagolfer.com', 'beahealthnut.com', 'believeinliberty.com', 'bestcoolcars.com', 'bestjobcandidate.com', 'besure2vote.com', 'bigtimecatperson.com', 'bigtimedogperson.com', 'bigtimereader.com', 'bigtimesportsfan.com', 'blackvoices.com', 'capsfanatic.com', 'capshockeyfan.com', 'capsred.com', 'car-nut.net', 'cat-person.com', 'catpeoplerule.com', 'chat-with-me.com', 'cheatasrule.com', 'crazy4baseball.com', 'crazy4homeimprovement.com', 'crazy4mail.com', 'crazyaboutfilms.net', 'crazycarfan.com', 'crazyforemail.com', 'crazymoviefan.com', 'descriptivemail.com', 'differentmail.com', 'dog-person.com', 'dogpeoplerule.com', 'easydoesit.com', 'expertrenovator.com', 'expressivemail.com', 'fanaticos.com', 'fanofbooks.com', 'fanofcomputers.com', 'fanofcooking.com', 'fanoftheweb.com', 'fieldmail.com', 'fleetmail.com', 'focusedonprofits.com', 'focusedonreturns.com', 'futboladdict.com', 'games.com', 'getintobooks.com', 'hail2theskins.com', 'hitthepuck.com', 'i-dig-movies.com', 'i-love-restaurants.com', 'idigcomputers.com', 'idigelectronics.com', 'idigvideos.com', 'ilike2helpothers.com', 'ilike2invest.com', 'ilike2workout.com', 'ilikeelectronics.com', 'ilikeworkingout.com', 'ilovehomeprojects.com', 'iloveourteam.com', 'iloveworkingout.com', 'in2autos.net', 'interestedinthejob.com', 'intomotors.com', 'iwatchrealitytv.com', 'lemondrop.com', 'love2exercise.com', 'love2workout.com', 'lovefantasysports.com', 'lovetoexercise.com', 'luvfishing.com', 'luvgolfing.com', 'luvsoccer.com', 'mail4me.com', 'majorgolfer.com', 'majorshopaholic.com', 'majortechie.com', 'mcom.com', 'motor-nut.com', 'moviefan.com', 'mycapitalsmail.com', 'mycatiscool.com', 'myfantasyteamrules.com', 'myteamisbest.com', 'netbusiness.com', 'news-fanatic.com', 'newspaperfan.com', 'onlinevideosrock.com', 'realbookfan.com', 'realhealthnut.com', 'realitytvaddict.net', 'realitytvnut.com', 'reallyintomusic.com', 'realtravelfan.com', 'redskinscheer.com', 'redskinsfamily.com', 'redskinsfancentral.com', 'redskinshog.com', 'redskinsrule.com', 'redskinsspecialteams.com', 'redskinsultimatefan.com', 'scoutmail.com', 'skins4life.com', 'stargate2.com', 'stargateatlantis.com', 'stargatefanclub.com', 'stargatesg1.com', 'stargateu.com', 'switched.com', 'thegamefanatic.com', 'total-techie.com', 'totalfoodnut.com', 'totally-into-cooking.com', 'totallyintobaseball.com', 'totallyintobasketball.com', 'totallyintocooking.com', 'totallyintofootball.com', 'totallyintogolf.com', 'totallyintohockey.com', 'totallyintomusic.com', 'totallyintoreading.com', 'totallyintosports.com', 'totallyintotravel.com', 'totalmoviefan.com', 'travel2newplaces.com', 'tvchannelsurfer.com', 'ultimateredskinsfan.com', 'videogamesrock.com', 'volunteeringisawesome.com', 'wayintocomputers.com', 'whatmail.com', 'when.com', 'wild4music.com', 'wildaboutelectronics.com', 'workingaroundthehouse.com', 'workingonthehouse.com', 'writesoon.com', 'xmasmail.com', 'arab.ir', 'denmark.ir', 'egypt.ir', 'icq.ir', 'ir.ae', 'iraq.ir', 'ire.ir', 'ireland.ir', 'irr.ir', 'jpg.ir', 'ksa.ir', 'kuwait.ir', 'london.ir', 'paltalk.ir', 'spain.ir', 'sweden.ir', 'tokyo.ir', 'irq.ir', '111mail.com', '123iran.com', '37.com', '420email.com', '4degreez.com', '4-music-today.com', 'actingbiz.com', 'allhiphop.com', 'anatomicrock.com', 'animeone.com', 'asiancutes.com', 'a-teens.net', 'ausi.com', 'autoindia.com', 'autopm.com', 'barriolife.com', 'b-boy.com', 'beautifulboy.com', 'bgay.com', 'bicycledata.com', 'bicycling.com', 'bigheavyworld.com', 'bigmailbox.net', 'bikerheaven.net', 'bikermail.com', 'billssite.com', 'blackandchristian.com', 'blackcity.net', 'blackvault.com', 'bmxtrix.com', 'boarderzone.com', 'boatnerd.com', 'bolbox.com', 'bongmail.com', 'bowl.com', 'butch-femme.org', 'byke.com', 'calle22.com', 'cannabismail.com', 'catlovers.com', 'certifiedbitches.com', 'championboxing.com', 'chatway.com', 'chillymail.com', 'classprod.com', 'classycouples.com', 'congiu.net', 'coolshit.com', 'corpusmail.com', 'cyberunlimited.org', 'cycledata.com', 'darkfear.com', 'darkforces.com', 'dirtythird.com', 'dopefiends.com', 'draac.com', 'drakmail.net', 'dr-dre.com', 'dreamstop.com', 'egypt.net', 'emailfast.com', 'envirocitizen.com', 'escapeartist.com', 'ezsweeps.com', 'famous.as', 'farts.com', 'feelingnaughty.com', 'firemyst.com', 'freeonline.com', 'fudge.com', 'funkytimes.com', 'gamerssolution.com', 'gazabo.net', 'glittergrrrls.com', 'goatrance.com', 'goddess.com', 'gohip.com', 'gospelcity.com', 'gothicgirl.com', 'grapemail.net', 'greatautos.org', 'guy.com', 'haitisurf.com', 'happyhippo.com', 'hateinthebox.com', 'houseofhorrors.com', 'hugkiss.com', 'hullnumber.com', 'idunno4recipes.com', 'ihatenetscape.com', 'intimatefire.com', 'irow.com', 'jazzemail.com', 'juanitabynum.com', 'kanoodle.com', 'kickboxing.com', 'kidrock.com', 'kinkyemail.com', 'kool-things.com', 'latinabarbie.com', 'latinogreeks.com', 'leesville.com', 'loveemail.com', 'lowrider.com', 'lucky7lotto.net', 'madeniggaz.net', 'mailbomb.com', 'marillion.net', 'megarave.com', 'mofa.com', 'motley.com', 'music.com', 'musician.net', 'musicsites.com', 'netbroadcaster.com', 'netfingers.com', 'net-surf.com', 'nocharge.com', 'operationivy.com', 'paidoffers.net', 'pcbee.com', 'persian.com', 'petrofind.com', 'phunkybitches.com', 'pikaguam.com', 'pinkcity.net', 'pitbullmail.com', 'planetsmeg.com', 'poop.com', 'poormail.com', 'potsmokersnet.com', 'primetap.com', 'project420.com', 'prolife.net', 'puertoricowow.com', 'puppetweb.com', 'rapstar.com', 'rapworld.com', 'rastamall.com', 'ratedx.net', 'ravermail.com', 'relapsecult.com', 'remixer.com', 'rockeros.com', 'romance106fm.com', 'singalongcenter.com', 'sketchyfriends.com', 'slayerized.com', 'smartstocks.com', 'soulja-beatz.org', 'specialoperations.com', 'speedymail.net', 'spells.com', 'streetracing.com', 'subspacemail.com', 'sugarray.com', 'superbikeclub.com', 'superintendents.net', 'surfguiden.com', 'sweetwishes.com', 'tattoodesign.com', 'teamster.net', 'teenchatnow.com', 'the5thquarter.com', 'theblackmarket.com', 'tombstone.ws', 'troamail.org', 'u2tours.com', 'vitalogy.org', 'whatisthis.com', 'wrestlezone.com', 'abha.cc', 'agadir.cc', 'ahsa.ws', 'ajman.cc', 'ajman.us', 'ajman.ws', 'albaha.cc', 'algerie.cc', 'alriyadh.cc', 'amman.cc', 'aqaba.cc', 'arar.ws', 'aswan.cc', 'baalbeck.cc', 'bahraini.cc', 'banha.cc', 'bizerte.cc', 'blida.info', 'buraydah.cc', 'cameroon.cc', 'dhahran.cc', 'dhofar.cc', 'djibouti.cc', 'dominican.cc', 'eritrea.cc', 'falasteen.cc', 'fujairah.cc', 'fujairah.us', 'fujairah.ws', 'gabes.cc', 'gafsa.cc', 'giza.cc', 'guinea.cc', 'hamra.cc', 'hasakah.com', 'hebron.tv', 'homs.cc', 'ibra.cc', 'irbid.ws', 'ismailia.cc', 'jadida.cc', 'jadida.org', 'jerash.cc', 'jizan.cc', 'jouf.cc', 'kairouan.cc', 'karak.cc', 'khaimah.cc', 'khartoum.cc', 'khobar.cc', 'kuwaiti.tv', 'kyrgyzstan.cc', 'latakia.cc', 'lebanese.cc', 'lubnan.cc', 'lubnan.ws', 'madinah.cc', 'maghreb.cc', 'manama.cc', 'mansoura.tv', 'marrakesh.cc', 'mascara.ws', 'meknes.cc', 'muscat.tv', 'muscat.ws', 'nabeul.cc', 'nabeul.info', 'nablus.cc', 'nador.cc', 'najaf.cc', 'omani.ws', 'omdurman.cc', 'oran.cc', 'oued.info', 'oued.org', 'oujda.biz', 'oujda.cc', 'pakistani.ws', 'palmyra.cc', 'palmyra.ws', 'portsaid.cc', 'qassem.cc', 'quds.cc', 'rabat.cc', 'rafah.cc', 'ramallah.cc', 'safat.biz', 'safat.info', 'safat.us', 'safat.ws', 'salalah.cc', 'salmiya.biz', 'sanaa.cc', 'seeb.cc', 'sfax.ws', 'sharm.cc', 'sinai.cc', 'siria.cc', 'sousse.cc', 'sudanese.cc', 'suez.cc', 'tabouk.cc', 'tajikistan.cc', 'tangiers.cc', 'tanta.cc', 'tayef.cc', 'tetouan.cc', 'timor.cc', 'tunisian.cc', 'urdun.cc', 'yanbo.cc', 'yemeni.cc', 'yunus.cc', 'zagazig.cc', 'zambia.cc', '5005.lv', 'a.org.ua', 'bmx.lv', 'company.org.ua', 'coolmail.ru', 'dino.lv', 'eclub.lv', 'e-mail.am', 'fit.lv', 'hacker.am', 'human.lv', 'iphon.biz', 'latchess.com', 'loveis.lv', 'lv-inter.net', 'pookmail.com', 'sexriga.lv'];
/* harmony default export */ const fgeformbuilder_restrictedemailids = (restrictedemailids);
// EXTERNAL MODULE: ./node_modules/lodash/dist/lodash.js
var lodash = __webpack_require__(2328);
var lodash_default = /*#__PURE__*/__webpack_require__.n(lodash);
// EXTERNAL MODULE: ./node_modules/react-dom/server.browser.js
var server_browser = __webpack_require__(5848);
// EXTERNAL MODULE: ./src/kpmg-components/fgecta/templates/fgevideo.tsx
var fgevideo = __webpack_require__(3346);
// EXTERNAL MODULE: ./src/kpmg-components/fgecta/templates/fgevideogallery.tsx
var fgevideogallery = __webpack_require__(478);
;// CONCATENATED MODULE: ./src/kpmg-components/fgeformbuilder/fgeformbuilder.tsx


/* eslint-disable jsx-a11y/no-noninteractive-tabindex */















var FGEFormbuilder = function FGEFormbuilder(_ref) {
  var formfieldouterwrapper = _ref.formfieldouterwrapper,
    title = _ref.title,
    uniqueid = _ref.uniqueid,
    isgatedcontent = _ref.isgatedcontent,
    isfastsubscription = _ref.isfastsubscription,
    iseventregistration = _ref.iseventregistration,
    ctatitle = _ref.ctatitle,
    senderemailaddresslabel = _ref.senderemailaddresslabel,
    campaignname = _ref.campaignname,
    eventenddate = _ref.eventenddate,
    eventtype = _ref.eventtype,
    gigyamapping = _ref.gigyamapping,
    privateflag = _ref.privateflag,
    externalid = _ref.externalid,
    subscriptionfrequency = _ref.subscriptionfrequency,
    pagepath = _ref.pagepath,
    emailuniqueid = _ref.emailuniqueid,
    gatedcontentasset = _ref.gatedcontentasset,
    contenttype = _ref.contenttype,
    salutation = _ref.salutation,
    salutationcheck = _ref.salutationcheck,
    issalutationmandatory = _ref.issalutationmandatory,
    close = _ref.close,
    emailvalidation1 = _ref.emailvalidation1,
    emailvalidation2 = _ref.emailvalidation2,
    emailisincorrect = _ref.emailisincorrect,
    emaillabel = _ref.emaillabel,
    accountlocked = _ref.accountlocked,
    accountdisabled = _ref.accountdisabled,
    invalidloginpassword = _ref.invalidloginpassword,
    passwordisincorrect = _ref.passwordisincorrect,
    passwordlabel = _ref.passwordlabel,
    forgotpassword = _ref.forgotpassword,
    loginbutton = _ref.loginbutton,
    or = _ref.or,
    socialaccount = _ref.socialaccount,
    linkedin = _ref.linkedin,
    google = _ref.google,
    twitter = _ref.twitter,
    staticdesc1 = _ref.staticdesc1,
    staticdesc2 = _ref.staticdesc2,
    defaultinsmessage = _ref.defaultinsmessage,
    corporate = _ref.corporate,
    isrelsubscriptions = _ref.isrelsubscriptions,
    relatedsubids = _ref.relatedsubids,
    relsubscriptiontitle = _ref.relsubscriptiontitle,
    termscondtext2 = _ref.termscondtext2,
    ischeckboxvisible2 = _ref.ischeckboxvisible2,
    ischeckedterms2 = _ref.ischeckedterms2,
    termscondtext3 = _ref.termscondtext3,
    ischeckboxvisible3 = _ref.ischeckboxvisible3,
    ischeckedterms3 = _ref.ischeckedterms3,
    termscondtext1 = _ref.termscondtext1,
    ischeckboxvisible1 = _ref.ischeckboxvisible1,
    ischeckedterms1 = _ref.ischeckedterms1,
    optionalstmt = _ref.optionalstmt,
    ctabtnlabel = _ref.ctabtnlabel,
    formeventlabel = _ref.formeventlabel,
    formgatedlabel = _ref.formgatedlabel,
    formsubscriptionlabel = _ref.formsubscriptionlabel;
  var element = (0,react.useRef)(null);
  var _useState = (0,react.useState)(false),
    _useState2 = (0,slicedToArray/* default */.A)(_useState, 2),
    videocheck = _useState2[0],
    setVideocheck = _useState2[1];
  var videoelem = (0,react.useRef)(null);
  var GLOBALS = {
    grecaptchaSiteKey: window.kpmgPersonalize.getCaptchaKey,
    isCaptchaEnabled: window.kpmgPersonalize &amp;&amp; window.kpmgPersonalize.isCaptchaEnabled &amp;&amp; window.kpmgPersonalize.isCaptchaEnabled.toString().match(/true/)
  };
  var events1100DisplayComponents = ['module-basicpagetitleflex', 'module-formbuilder', 'module-breadcrumb', 'module-dynamicfullbleedbanner', 'module-dynamicfullbleed-carouselbanner'];
  var relatedSubscription = function relatedSubscription(el, parent) {
    this.$parent = parent;
    var $element = (0,plus/* default */.A)(el);
    this.$relatedSubsContainer = $element.find('.related-subscriptions-container');
    this.$relatedSubsIds = relatedsubids;
    this.$relatedSubsElements = this.$relatedSubsContainer.find('.related-subscription');
    this.$checkbox = $element.find('input[type=checkbox]');
    this.$relatedSubsObject = {};
    this.$relatedSubsArray = [];
    this.init();
  };
  var FormBuilder = function FormBuilder(elem) {
    this.move_elementToFormBuilderContainer(elem);
    this.id = (0,plus/* default */.A)(elem).attr('id');
    this.elem = (0,plus/* default */.A)("#".concat(this.id)).get(0);
    this.$clone = (0,plus/* default */.A)(elem).clone();
    this.defaultFormElem = (0,plus/* default */.A)(this.elem).find('.default-form').get(0);
    this.existingUserLoginForm = (0,plus/* default */.A)(this.elem).find('.existing-user-login-form').get(0);
    this.FGESubscription = this.get_FGESubscription();
    this.FGEUser = new FGEUser(this.FGESubscription);
    this.defaultForm = undefined;
    this.relatedSubscription = new relatedSubscription(this.elem, this);
    this.analyticsLogged = false;
    this.trck = new tracking/* default */.A(this.defaultFormElem, 'Formbuilder');
    (0,plus/* default */.A)(document).trigger('template.loaded');
    this.init();
  };
  FormBuilder.prototype.get_FGESubscription = function () {
    try {
      var config = {};
      config.id = uniqueid;
      config.isGatedContent = isgatedcontent;
      config.isFastSubscription = isfastsubscription;
      config.isEventRegistration = iseventregistration;
      config.contentTitle = ctatitle;
      config.gigyaMapping = gigyamapping;
      config.pagePath = pagepath;
      config.privateFlag = privateflag;
      return new FGESubscription(config);
    } catch (e) {
      console.log("error in get_FGESubscription : ".concat(e));
    }
  };
  FormBuilder.setup_recaptchaContainer = function () {
    if (!(0,plus/* default */.A)('#fb-recaptcha-container').length) {
      (0,plus/* default */.A)('body').append((0,plus/* default */.A)('&lt;div id="fb-recaptcha-container"&gt;&lt;/div&gt;'));
    }
  };
  FormBuilder.reset = function () {
    (0,plus/* default */.A)(this.elem).remove();
    new this.constructor(this.$clone.get(0));
  };
  FormBuilder.validateEmailID = function (emailid, runValidatorValue) {
    var regCompleteEmail = /^(([^&lt;&gt;()[\]\\.,;:\s@\"]+(\.[^&lt;&gt;()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    var emailDomain = emailid.split('@')[1];
    var regRestrictedDomains = /\b(aol|excite|fastmail|freemail|gmx|hotmail|live|lycos|outlook|strompost|tiscali|vodafone|xemail|yahoo|gmail|yandex|runbox|yopmail)\b/i;
    var restrictedEmailDomainArr = fgeformbuilder_restrictedemailids;
    if (regCompleteEmail.test(emailid) === false) {
      return [false, 2];
    } else {
      if (runValidatorValue.toLowerCase() === 'true') {
        if (!emailDomain) {
          return [false, 2];
        } else {
          if (!emailDomain) {
            return [false, 2];
          } else {
            if (restrictedEmailDomainArr.indexOf(emailDomain) &gt;= 0) {
              return [false, 3];
            }
            if (regRestrictedDomains.test(emailDomain) === true) {
              return [false, 3];
            }
          }
        }
      } else {
        if (!emailDomain) {
          return [false, 2];
        }
      }
    }
    return [true];
  };
  FormBuilder.reset_contentFrameHeightInAuthorMode = function () {
    /*jshint -W117 */
    try {
      if (window.Granite) {
        setTimeout(window.Granite.author.inner.EditorFrame.postMessage.bind(null, 'kpmg-cq-contentframe-layout-change-auto', null, -1), 500);
      }
    } catch (e) {
      console.log(e);
    }
  };
  FormBuilder.prototype.init = function () {
    this.addSalutation();
    (0,plus/* default */.A)(this.elem).on('kpmg-formbuilder:display-form', this.handle_displayForm.bind(this));
    this.handle_registeredUser();
    this.setup_cancelButtons();
    this.setDefault_form();
    this.checkForFormLogin();
  };
  FormBuilder.prototype.checkForFormLogin = function () {
    var formId = sessionStorage.getItem('fge-form');
    if (formId &amp;&amp; this.FGESubscription.id === formId) {
      (0,plus/* default */.A)(this.elem).trigger('kpmg-formbuilder:display-form');
      sessionStorage.removeItem('fge-form');
    }
  };
  FormBuilder.prototype.setDefault_form = function (evt) {
    var formTrack = this.trck;
    var isUserSubscribed = this.FGEUser.isSubscribed;
    var isUserLoggedIn = this.FGEUser.isLoggedIn,
      fgeContentTitle = this.FGEUser.subscription.contentTitle;
    if (isUserLoggedIn &amp;&amp; isUserSubscribed) {
      //console.log('subscribed FGE comp');
      this.display_registeredStateOfComponent(evt);
      formTrack.track('FGE_Return_User');
      window.digitalData.page.pageInfo.eventName = fgeContentTitle;
    } else {
      this.setup_defaultForm.call(this, evt);
    }
  };
  FormBuilder.prototype.handle_displayForm = function (evt) {
    if (this.FGEUser.isLoggedIn) {
      this.FGEUser.accountInfo = personalizationUtils/* default */.A.accountUtils.getInfo();
      this.defaultForm.autofill();
    }
    this.animate_slideInDefaultForm(evt);
    if (this.FGESubscription.isFastSubscription) {
      var privateFlag = this.FGESubscription.privateFlag ? 'Private Subscription' : 'Public Subscription';
      window.digitalData = window.digitalData || {};
      window.digitalData.FGE = window.digitalData.FGE || {};
      window.digitalData.FGE.fastSubscription = window.digitalData.FGE.fastSubscription || {};
      window.digitalData.FGE.fastSubscription.subscriptionOption = privateFlag;
      window.digitalData.FGE.formBuilderID = uniqueid;
    }
  };
  FormBuilder.prototype.handle_registeredUser = function () {
    if (sessionStorage.getItem('ctaids')) {
      this.setup_registeredUser();
    } else {
      (0,plus/* default */.A)(this.elem).on('kpmg-formbuilder:registered-user', this.setup_registeredUser.bind(this));
    }
  };
  FormBuilder.prototype.setup_registeredUser = function () {
    var ctas = sessionStorage.getItem('ctaids') || '[]';
    var ctaids = JSON.parse(ctas) || [],
      ctaid = uniqueid;
    if (ctaids.length &gt; 0 &amp;&amp; ctaids.indexOf(ctaid) &gt; -1) {
      this.FGEUser.isSubscribed = true;
    }
  };
  FormBuilder.prototype.setup_cancelButtons = function () {
    (0,plus/* default */.A)('.cancelButton', this.elem).on('click', this.handle_cancelButtonClicked.bind(this));
    (0,plus/* default */.A)(this.defaultFormElem).on('keydown', function (e) {
      if (e.keyCode === 27) {
        (0,plus/* default */.A)('.cancelButton', this.elem).trigger('click');
      }
    });
  };
  FormBuilder.prototype.handle_cancelButtonClicked = function () {
    var $flexContainerObj = (0,plus/* default */.A)('.module-tmpl-flex').length ? (0,plus/* default */.A)('.module-tmpl-flex .root.responsivegrid&gt;div.aem-Grid') : (0,plus/* default */.A)('.event-registration-1100 .root.responsivegrid&gt;div.aem-Grid');
    var $flexCtaContainerObj = (0,plus/* default */.A)('.module-fge-cta').eq(0).closest('.parsys-row');
    var $formBuilderObj = (0,plus/* default */.A)('.module-tmpl-flex').length ? (0,plus/* default */.A)('.module-tmpl-flex .form-builder') : (0,plus/* default */.A)('.event-registration-1100 .form-builder');
    var $informativeImageObj = (0,plus/* default */.A)('.module-tmpl-flex').length ? (0,plus/* default */.A)('.module-tmpl-flex .flex-informative-image') : (0,plus/* default */.A)('.event-registration-1100 .flex-informative-image');
    // eslint-disable-next-line @typescript-eslint/no-this-alias
    var me = this;
    (0,plus/* default */.A)(this.defaultFormElem).addClass('slideOutRight');
    setTimeout(function () {
      $flexContainerObj.removeClass('left-flex');
      $formBuilderObj.removeClass('form-builder-show');
      (0,plus/* default */.A)(me.elem).hide();
      $informativeImageObj.removeClass('show-informative-image');
    }, 400);
    setTimeout(function () {
      if ((0,plus/* default */.A)('.event-registration-1100').length) {
        (0,plus/* default */.A)('.event-registration-1100').find("[class^='module-']").each(function (_, componentName) {
          var classNameList = (0,plus/* default */.A)(componentName).attr('class');
          var isClassPresent = false;
          events1100DisplayComponents.forEach(function (componentClass) {
            if (classNameList.includes(componentClass)) {
              isClassPresent = true;
            }
          });
          if (isClassPresent === false) {
            (0,plus/* default */.A)(componentName).parent().show();
          }
        });
        (0,plus/* default */.A)('.dynamicsubnavigation').show();
      } else {
        $flexCtaContainerObj.removeClass('cta-hide');
        $flexCtaContainerObj.nextAll('.parsys-row').removeClass('cta-hide');
        $flexCtaContainerObj.parents().siblings().find('.parsys-row').removeClass('cta-hide');
        (0,plus/* default */.A)('.wrapper-kpmgtoppicks').removeClass('hide');
      }
      if (me.defaultForm.kpmgGrecaptcha) me.defaultForm.kpmgGrecaptcha.removeAndClone_container();
      FormBuilder.reset.call(me);
      //show horizontal sticky bar if authored
      (0,plus/* default */.A)('.module-horizontalstickyutilitybar').removeClass('visibility-hidden');
      (0,plus/* default */.A)('.cmp-experiencefragment').show();
      if (me.FGESubscription.id &amp;&amp; me.FGESubscription.id !== '') {
        (0,plus/* default */.A)(".cta-link.".concat(me.FGESubscription.id)).focus();
      }
      setTimeout(function () {
        (0,plus/* default */.A)(window).trigger('resize');
      }, 200);
    }, 700);
  };
  FormBuilder.prototype.addSalutation = function () {
    var salutationCheck = salutationcheck;
    var salutationId = uniqueid;
    var salutationMandatory = issalutationmandatory === 'true' ? 'required' : '';
    var showSalutationField = true;
    var currentLocale = window.countryCode + '/' + window.langCode;
    if (this.FGEUser.isLoggedIn &amp;&amp; this.FGEUser.accountInfo.data.kpmg.registeredLocale !== currentLocale) {
      showSalutationField = false;
    }
    var salutations = '';
    if (salutation.length &gt; 0 &amp;&amp; salutationCheck === 'true' &amp;&amp; showSalutationField) {
      var profileSalutation = salutation.length &gt; 0 ? salutation.split(',') : [];
      if (profileSalutation.length &gt; 0) {
        salutations += "&lt;div class=\"formfield-wrapper chrome\"&gt;&lt;div class=\"error-message hide-errormsg\"&gt;".concat(window.kpmgPersonalize.i18n.gigyaMsgs.this_field_is_required, "&lt;/div&gt;&lt;div class=\"custom-select-with-styled-dropdown chrome\"&gt;&lt;div class=\"custom-chevron chrome\"&gt;&lt;span class=\"icon-chevron-down select-dropdown-icon\"&gt;&lt;/span&gt;&lt;/div&gt;&lt;label for=\"").concat(salutationId, "-salutation\" class=\"sr-only form-label chrome\"&gt;Salutation&lt;/label&gt;&lt;select name=\"salutation\" id=\"").concat(salutationId, "-salutation\" class=\"dynamic-select-salutation\" ").concat(salutationMandatory, "&gt;&lt;option value=\"\" class=\"chrome\"&gt;").concat(window.kpmgPersonalize.i18n.gigyaMsgs.kpmg_salutation, "&lt;/option&gt;");
        for (var i = 0; i &lt; profileSalutation.length; i++) {
          salutations += "&lt;option value=\"".concat(profileSalutation[i].trim(), "\"&gt;").concat(profileSalutation[i].trim(), "&lt;/option&gt;");
        }
        salutations += '&lt;/select&gt;' + '&lt;/div&gt;' + '&lt;/div&gt;';
        var email = (0,plus/* default */.A)('.formDiv .formfield-wrapper', this.elem).get(0);
        (0,plus/* default */.A)(email).after(salutations);
        (0,plus/* default */.A)('.dynamic-select-salutation', this.elem).on('change', function () {
          if ((0,plus/* default */.A)(this).val().length &gt; 0) {
            (0,plus/* default */.A)(this).addClass('salutation');
          } else {
            (0,plus/* default */.A)(this).removeClass('salutation');
          }
        });
        (0,plus/* default */.A)('.dynamic-select-salutation', this.elem).on('keyup', function (e) {
          (0,plus/* default */.A)(e.currentTarget).addClass('focusOutline');
        }).on('blur', function (e) {
          (0,plus/* default */.A)(e.currentTarget).removeClass('focusOutline');
        });
      }
    }
  };
  FormBuilder.prototype.move_elementToFormBuilderContainer = function (elem) {
    (0,plus/* default */.A)('.form-builder').prepend(elem);
  };
  FormBuilder.prototype.setup_defaultForm = function () {
    var defaultForm = new DefaultForm(this.defaultFormElem, this);
    defaultForm.init();
    this.defaultForm = defaultForm;
    if (this.FGEUser.isLoggedIn) defaultForm.setup_formForRegisteredUser.call(defaultForm);
  };
  FormBuilder.prototype.animate_slideInDefaultForm = function () {
    (0,plus/* default */.A)('.module-horizontalstickyutilitybar').addClass('visibility-hidden');
    (0,plus/* default */.A)('.cmp-experiencefragment').hide();
    var flexContainerObj = (0,plus/* default */.A)('.module-tmpl-flex').length ? (0,plus/* default */.A)('.module-tmpl-flex .root.responsivegrid&gt;div.aem-Grid') : (0,plus/* default */.A)('.event-registration-1100 .root.responsivegrid&gt;div.aem-Grid'),
      flexCtaContainerObj = (0,plus/* default */.A)('.module-fge-cta').eq(0).closest('.parsys-row'),
      formBuilderObj = (0,plus/* default */.A)('.module-tmpl-flex').length ? (0,plus/* default */.A)('.module-tmpl-flex .form-builder') : (0,plus/* default */.A)('.event-registration-1100 .form-builder'),
      informativeImageObj = (0,plus/* default */.A)('.module-tmpl-flex').length ? (0,plus/* default */.A)('.module-tmpl-flex .flex-informative-image') : (0,plus/* default */.A)('.event-registration-1100 .flex-informative-image'),
      $elem = (0,plus/* default */.A)(this.elem),
      $defaultForm = (0,plus/* default */.A)(this.defaultFormElem),
      defaultForm = this.defaultForm;
    (0,plus/* default */.A)('html, body').animate({
      scrollTop: 0
    }, 500);
    setTimeout(function () {
      flexContainerObj.addClass('left-flex');
      formBuilderObj.addClass('form-builder-show');
      setTimeout(function () {
        if ((0,plus/* default */.A)('.module-dynamicfullbleed-carouselbanner') &amp;&amp; !personalizationUtils/* default */.A.commonUtils.isMobile()) {
          var fullbleedImgHeightDesktop = Math.floor((0,plus/* default */.A)('.module-dynamicfullbleed-carouselbanner').width() * 500 / 1400);
          (0,plus/* default */.A)('.module-dynamicfullbleed-carouselbanner img').animate({
            height: fullbleedImgHeightDesktop
          });
          (0,plus/* default */.A)('.module-dynamicfullbleed-carouselbanner .carousel-outer-wrap').animate({
            width: (0,plus/* default */.A)('.module-dynamicfullbleed-carouselbanner').width()
          });
          (0,plus/* default */.A)(window).trigger('resize');
        }
      }, 301);
      setTimeout(function () {
        $elem.show();
        if (formBuilderObj.hasClass('explorer')) {
          $defaultForm.show();
        } else {
          $defaultForm.addClass('slideInRight').show();
        }
        if ((0,plus/* default */.A)('.event-registration-1100').length) {
          (0,plus/* default */.A)('.event-registration-1100').find("[class^='module-']").each(function (_, componentName) {
            var classNameList = (0,plus/* default */.A)(componentName).attr('class');
            var isClassPresent = false;
            events1100DisplayComponents.forEach(function (componentClass) {
              if (classNameList.includes(componentClass)) {
                isClassPresent = true;
              }
            });
            if (isClassPresent === false) {
              (0,plus/* default */.A)(componentName).parent().hide();
            }
          });
          (0,plus/* default */.A)('.dynamicsubnavigation').hide();
        } else {
          flexCtaContainerObj.addClass('cta-hide');
          flexCtaContainerObj.nextAll('.parsys-row').addClass('cta-hide');
          flexCtaContainerObj.parents().siblings().find('.parsys-row').addClass('cta-hide');
          (0,plus/* default */.A)('.wrapper-kpmgtoppicks').addClass('hide');
        }
        informativeImageObj.addClass('show-informative-image');
        common_utils/* default */.A.runTimeClampLines(formBuilderObj);
        setTimeout(function () {
          $elem.find('.animated').each(function (i, el) {
            if ((0,plus/* default */.A)(el).css('display') !== 'none') {
              if ((0,plus/* default */.A)(el).hasClass('default-form') &amp;&amp; (0,plus/* default */.A)(el).find('.title-and-cancel-button.mobile-only').css('display') !== 'none') {
                (0,plus/* default */.A)(el).find('.title-and-cancel-button.mobile-only button').focus().addClass('focusOutline');
              } else if ((0,plus/* default */.A)(el).hasClass('default-form') &amp;&amp; (0,plus/* default */.A)(el).find('.cancelButton.desktop-only button').length &gt; 0) {
                (0,plus/* default */.A)(el).find('.cancelButton.desktop-only button').focus().addClass('focusOutline');
                (0,plus/* default */.A)('.cancelButton.desktop-only button', el).on('focus', function (e) {
                  (0,plus/* default */.A)(e.target).addClass('focusOutline');
                }).on('blur', function (e) {
                  (0,plus/* default */.A)(e.target).removeClass('focusOutline');
                });
              } else {
                (0,plus/* default */.A)(el).find('.cancelButton button').focus().addClass('focusOutline');
              }
            }
          });
          defaultForm.kpmgGrecaptcha = defaultForm.setup_grecaptcha();
        }, 1000);
      }, 200);
    }, 501);
    FormBuilder.reset_contentFrameHeightInAuthorMode();
  };
  FormBuilder.prototype.display_registeredStateOfComponent = function (evt) {
    (0,plus/* default */.A)(this.elem).find('.registeredUser').show();
    (0,plus/* default */.A)(this.elem).find('.instructions').hide();
    (0,plus/* default */.A)(this.elem).find('.formDiv').hide();
    this.setup_defaultForm.call(this, evt);
    (0,plus/* default */.A)('#formbuilder-defaultForm-grecaptcha-container').hide();
  };
  var FGESubscription = function FGESubscription(config) {
    this.id = config.id;
    this.isGatedContent = config.isGatedContent;
    this.isFastSubscription = config.isFastSubscription;
    this.isEventRegistration = config.isEventRegistration;
    this.contentTitle = config.contentTitle;
    this.gigyaMapping = config.gigyaMapping;
    this.pagePath = config.pagePath;
    this.privateFlag = config.privateFlag;
  };
  var FGEUser = function FGEUser(subscription) {
    this.subscription = subscription;
    this.isLoggedIn = personalizationUtils/* default */.A.accountUtils.isLoggedIn() || false;
    this.isFGELoggedIn = false;
    this.isRegistered = false;
    this.isSubscribed = false;
    this.accountInfo = false;
    if (this.isLoggedIn) this.accountInfo = personalizationUtils/* default */.A.accountUtils.getInfo();
  };
  FGEUser.prototype.set_accountInfo = function (accountInfo) {
    personalizationUtils/* default */.A.accountUtils.setInfo(accountInfo);
    this.accountInfo = personalizationUtils/* default */.A.accountUtils.getInfo();
  };
  FGEUser.isAvailableLoginID = function (loginID) {
    try {
      var deferred = plus/* default */.A.Deferred();
      window.gigya.accounts.isAvailableLoginID({
        loginID: loginID,
        callback: function callback(response) {
          deferred.resolve(response);
        }
      });
      return deferred;
    } catch (e) {
      console.log('error in : ', this.constructor.name, e);
    }
  };
  var KPMG_Grecaptcha = function KPMG_Grecaptcha(renderConfig, formbuilder) {
    this.renderConfig = renderConfig;
    this.formbuilder = formbuilder;
    this.containerSelector = "#".concat(renderConfig.containerID);
    window.grecaptcha.ready(this.render.bind(this));
    this.setup_recaptchaChallengeWrappers();
  };
  KPMG_Grecaptcha.prototype.setup_recaptchaChallengeWrappers = function () {
    this.intervalID = setInterval(this.setup_recaptchaChallengeWrappers_1.bind(this), 400);
  };
  KPMG_Grecaptcha.prototype.add_wrapperClass = function (idx, elem) {
    (0,plus/* default */.A)(elem).addClass(this.renderConfig.recaptchaChallengeWrapperClass + idx);
  };
  KPMG_Grecaptcha.prototype.setup_recaptchaChallengeWrappers_1 = function () {
    var _this2 = this;
    try {
      var $recaptchaChallenge = (0,plus/* default */.A)('iframe[title="recaptcha challenge"]');
      if ($recaptchaChallenge.length) {
        clearInterval(this.intervalID);
        this.$recaptchaChallengeWrappers = $recaptchaChallenge.parents('div').each(this.add_wrapperClass.bind(this));
      } else {
        setTimeout(function () {
          clearInterval(_this2.intervalID);
        }, 5000);
      }
    } catch (e) {}
  };
  KPMG_Grecaptcha.prototype.hide = function () {
    (0,plus/* default */.A)(this.containerSelector).hide();
  };
  KPMG_Grecaptcha.prototype.show = function () {
    (0,plus/* default */.A)(this.containerSelector).show();
  };
  KPMG_Grecaptcha.prototype.removeAndClone_container = function () {
    var containerSelector = "#".concat(this.renderConfig.containerID);
    var $container = (0,plus/* default */.A)(containerSelector);
    $container.empty();
    var $clone = $container.clone();
    $container.replaceWith($clone);
    if (this.$recaptchaChallengeWrappers) this.$recaptchaChallengeWrappers.remove();
  };
  KPMG_Grecaptcha.prototype.render = function () {
    this.widgetID = window.grecaptcha.render(this.renderConfig.containerID, this.renderConfig.captchaConfig);
  };
  KPMG_Grecaptcha.prototype.reset = function () {
    window.grecaptcha.reset(this.widgetID);
  };
  KPMG_Grecaptcha.prototype.execute = function () {
    window.grecaptcha.execute(this.widgetID);
  };
  var DefaultForm = function DefaultForm(elem, formbuilder) {
    this.elem = elem;
    this.$elem = (0,plus/* default */.A)(elem);
    this.formbuilder = formbuilder;
    this.relatedSubscription = this.formbuilder.relatedSubscription;
    this.formFieldsWrapper = (0,plus/* default */.A)('.form-field-outer-wrapper', elem);
    this.$submitButton = (0,plus/* default */.A)('.submit-form', elem);
    this.$lastTrap = (0,plus/* default */.A)('.last-fge-trap', elem);
    this.kpmgGrecaptcha = {};
    this.$textFields = (0,plus/* default */.A)('input, select, textarea', elem);
    this.firstTextField = (0,plus/* default */.A)('input[type=text]', elem).get(0);
    this.$form = (0,plus/* default */.A)('form', elem);
    this.$emailField = (0,plus/* default */.A)(elem).find('input[type=email]');
    this.$formFields = (0,plus/* default */.A)('select, textarea, input:not([type=checkbox])', elem);
    this.$checkbox = (0,plus/* default */.A)("input[type='checkbox']", elem);
    this.$radioFields = (0,plus/* default */.A)('input[type=radio]', elem);
    this.autoFillCount = 0;
    this.allowCorporateMailID = corporate;
  };
  DefaultForm.prototype.focus_firstTextField = function () {
    //remove focus on first input field if it is IE browser
    if (navigator.userAgent.indexOf('Trident/') === -1) {
      (0,plus/* default */.A)(this.firstTextField).focus();
    }
  };
  DefaultForm.prototype.init = function () {
    var $dynamicSelectors = (0,plus/* default */.A)('.dynamic-select-country', this.elem);
    var $customCheckboxes = (0,plus/* default */.A)('.custom-tc', this.elem);
    this.setup_eventHandlers();
    var showCountryField = true;
    var currentLocale = window.countryCode + '/' + window.langCode;
    if (this.formbuilder.FGEUser.isLoggedIn &amp;&amp; this.formbuilder.FGEUser.accountInfo.data.kpmg.registeredLocale !== undefined &amp;&amp; this.formbuilder.FGEUser.accountInfo.data.kpmg.registeredLocale !== currentLocale) {
      showCountryField = false;
    }
    if (showCountryField) {
      $dynamicSelectors.each(this.setup_dynamicSelectCountryFields.bind(this));
    } else {
      $dynamicSelectors.parents('.formfield-wrapper').remove();
    }
    $customCheckboxes.each(this.setup_customCheckboxes.bind(this));
    this.setUpSatelliteTrackerOnEmailInput();
    if (!this.formbuilder.FGEUser.isLoggedIn) this.$emailField.on('blur', this.handle_emailBlurEvent.bind(this));
    (0,plus/* default */.A)('.custom-placeholder-wrapper, .custom-placeholder-wrapper-textarea', this.elem).each(this.setup_customPlaceholders.bind(this));
  };
  DefaultForm.prototype.setup_grecaptcha = function () {
    try {
      if (GLOBALS.isCaptchaEnabled) return new KPMG_Grecaptcha({
        containerID: 'fb-recaptcha-container',
        captchaConfig: {
          sitekey: GLOBALS.grecaptchaSiteKey,
          size: 'invisible',
          callback: this.callback_grecaptcha.bind(this)
        },
        recaptchaChallengeWrapperClass: 'formbuilder-recaptcha-wrapper'
      }, this.formbuilder);else return undefined;
    } catch (e) {
      console.error(e);
    }
  };
  DefaultForm.prototype.setup_customPlaceholders = function (idx, el) {
    this.customPlaceholder = new CustomPlaceholder(el);
  };
  DefaultForm.prototype.callback_grecaptcha = function (token) {
    if (this.kpmgGrecaptcha) this.kpmgGrecaptcha.removeAndClone_container();
    if (this.kpmgGrecaptcha) this.kpmgGrecaptcha = this.setup_grecaptcha();
    this.formSubmit(token);
  };
  DefaultForm.prototype.handle_emailBlurEvent = function (evt) {
    try {
      var loginID = evt.target.value;
      FGEUser.isAvailableLoginID(loginID).then(this.conditionallyShow_loginForm.bind(this, loginID));
    } catch (e) {
      console.log('error in ', this.constructor.name, e);
    }
  };
  DefaultForm.prototype.handle_NumberFields_BlurEvent = function (e) {
    var digitsReg = /^[0-9]+$/;
    return digitsReg.test(e);
  };
  DefaultForm.prototype.handle_TextFields = function (e) {
    var disallowedChars = /^((?![!$%^&amp;*()+|~=`#{}\[\]";'&lt;&gt;?,]).)*$/;
    return disallowedChars.test(e);
  };
  DefaultForm.prototype.sanitize_TextFields = function (str) {
    return str.replace(/[#&lt;&gt;,=`%'";&amp;~^!*+?^${}()|[\]\\]/g, '');
  };
  DefaultForm.prototype.validateRegex = function (value) {
    return /[#&lt;&gt;,=`%'";&amp;~^!*+?^${}()|[\]\\]/g.test(value);
  };
  DefaultForm.prototype.handle_CityField = function (e) {
    var disallowedCharsInCity = /[|"~`@#$%^&amp;_={}[\]:;&lt;&gt;+*\/\\?]/;
    return disallowedCharsInCity.test(e);
  };
  DefaultForm.prototype.show_invalidEmailError = function () {
    var $emailValidationMsgEl = (0,plus/* default */.A)(this.$emailField).siblings('.error-message');
    $emailValidationMsgEl.find('.generic-error-msg').hide();
    $emailValidationMsgEl.find('.corporate-email-only').hide();
    $emailValidationMsgEl.removeClass('hide-errormsg').find('.invalid-email-msg').show();
    (0,plus/* default */.A)(this.$emailField).addClass('errorfield');
  };
  DefaultForm.prototype.show_corporateErrorMsg = function () {
    var $emailValidationMsgEl = (0,plus/* default */.A)(this.$emailField).siblings('.error-message');
    $emailValidationMsgEl.find('.generic-error-msg').hide();
    $emailValidationMsgEl.find('.invalid-email-msg').hide();
    $emailValidationMsgEl.removeClass('hide-errormsg').find('.corporate-email-only').show();
    (0,plus/* default */.A)(this.$emailField).addClass('errorfield');
  };
  DefaultForm.prototype.show_genericErrorOnEmail = function () {
    var $emailValidationMsgEl = (0,plus/* default */.A)(this.$emailField).siblings('.error-message');
    $emailValidationMsgEl.find('.invalid-email-msg').hide();
    $emailValidationMsgEl.find('.corporate-email-only').hide();
    $emailValidationMsgEl.removeClass('hide-errormsg').find('.generic-error-msg').show();
    (0,plus/* default */.A)(this.$emailField).addClass('errorfield');
  };
  DefaultForm.prototype.setUpSatelliteTrackerOnEmailInput = function () {
    var trckEmail = this.formbuilder.trck;
    this.$emailField.on('change', function () {
      trckEmail.track('FGE_Email_Ent');
    });
  };
  DefaultForm.prototype.conditionallyShow_loginForm = function (loginID, res) {
    var formTracking = this.formbuilder.trck;
    try {
      var isUserAlreadyRegistered = res.isAvailable === false;
      if (isUserAlreadyRegistered) {
        if (this.kpmgGrecaptcha) this.kpmgGrecaptcha.hide();
        this.formbuilder.FGEUser.isRegistered = true;
        this.setupLoginForm(loginID);
        formTracking.track('FGE_Email_login');
      } else {
        if ((0,plus/* default */.A)(this.$emailField).val() !== '') {
          var validEmailFlag = FormBuilder.validateEmailID((0,plus/* default */.A)(this.$emailField).val(), this.allowCorporateMailID);
          if (validEmailFlag[0] === false) {
            if (validEmailFlag[1] === 2) {
              this.show_invalidEmailError();
            } else if (validEmailFlag[1] === 3) {
              this.show_corporateErrorMsg();
            }
          } else {
            (0,plus/* default */.A)(this.$emailField).siblings('.error-message').addClass('hide-errormsg');
            (0,plus/* default */.A)(this.$emailField).siblings('.error-message').children().hide();
            (0,plus/* default */.A)(this.$emailField).removeClass('errorfield');
          }
        } else {
          this.show_genericErrorOnEmail();
        }
      }
    } catch (e) {
      console.log('error in conditionallyShow_loginForm : ', e);
    }
  };
  DefaultForm.prototype.validateTheVisitedInputFields = function () {
    // eslint-disable-next-line @typescript-eslint/no-this-alias
    var defaultform = this,
      $required = this.$textFields.filter('[required]:visible:enabled'),
      $requiredCheckedbox = this.$textFields.filter("input[type='checkbox'][required]:hidden"),
      $optionalFormFields = this.$textFields.filter(':not([name="Email"],[name="firstname"], [name="lastname"], [name="email"], [name="country"])'),
      specialChar_n_NumbersReg = /[0-9|"~`!@#$%^&amp;()_={}[\]:;,.&lt;&gt;+*\/\\?]/,
      i18nSingleChar = window.kpmgPersonalize &amp;&amp; common_utils/* default */.A.getNestedObjectValue(window.kpmgPersonalize.i18n.customMsgs, 'singleCharacterIsNotAllowed') !== 'N.A' ? window.kpmgPersonalize.i18n.customMsgs.singleCharacterIsNotAllowed : 'Single Character is not allowed',
      i18nInvalidChar = window.kpmgPersonalize &amp;&amp; common_utils/* default */.A.getNestedObjectValue(window.kpmgPersonalize.i18n.customMsgs, 'gigya_name_validation_error_message') !== 'N.A' ? window.kpmgPersonalize.i18n.customMsgs.gigya_name_validation_error_message : '',
      invalidSingleCharInFn = "&lt;div class=\"error-message invalidSingleCharDiv\"&gt;".concat(i18nSingleChar, "&lt;/div&gt;"),
      invalidCharInFn = "&lt;div class=\"error-message invalidCharDiv\"&gt;".concat(i18nInvalidChar, "&lt;/div&gt;");
    $required.each(function () {
      var isVisited;
      (0,plus/* default */.A)(this).focus(function () {
        isVisited = true;
      }).blur(function () {
        if (isVisited &amp;&amp; (0,plus/* default */.A)(this).val().trim() === '') {
          if ((0,plus/* default */.A)(this).attr('name') === 'email' || (0,plus/* default */.A)(this).attr('name') === 'Email') {
            (0,plus/* default */.A)(this).siblings('.error-message').removeClass('hide-errormsg');
            (0,plus/* default */.A)(this).siblings('.error-message').children('.generic-error-msg').show();
          } else {
            (0,plus/* default */.A)(this).parents('.formfield-wrapper').find('.error-message').removeClass('hide-errormsg');
            (0,plus/* default */.A)(this).siblings('.invalidSingleCharDiv, .invalidCharDiv').remove();
            (0,plus/* default */.A)(this).parent().find('label').find('div').remove();
            (0,plus/* default */.A)(this).parent().find('label').append((0,plus/* default */.A)(this).parents('.formfield-wrapper').find('.error-message').clone());
          }
          (0,plus/* default */.A)(this).val('');
          (0,plus/* default */.A)(this).siblings('.custom-placeholder').show();
          (0,plus/* default */.A)(this).addClass('errorfield');
        } else {
          if ((0,plus/* default */.A)(this).attr('name').toLowerCase() === 'firstname' || (0,plus/* default */.A)(this).attr('name').toLowerCase() === 'lastname') {
            if ((0,plus/* default */.A)(this).val().trim() !== '' &amp;&amp; specialChar_n_NumbersReg.test((0,plus/* default */.A)(this).val())) {
              (0,plus/* default */.A)(this).addClass('errorfield');
              (0,plus/* default */.A)(this).siblings('.error-message').addClass('hide-errormsg');
              if ((0,plus/* default */.A)(this).parent().find('.invalidCharDiv').length === 0) {
                (0,plus/* default */.A)(this).before(invalidCharInFn);
              } else {
                (0,plus/* default */.A)(this).parent().find('.invalidCharDiv').removeClass('hide-errormsg');
              }
              (0,plus/* default */.A)(this).parent().find('label').find('div').remove();
              (0,plus/* default */.A)(this).parent().find('label').append(invalidCharInFn);
            } else if ((0,plus/* default */.A)(this).val().trim().length === 1) {
              if ((0,plus/* default */.A)(this).parent().find('.invalidSingleCharDiv').length === 0) {
                (0,plus/* default */.A)(this).before(invalidSingleCharInFn);
              } else {
                (0,plus/* default */.A)(this).parent().find('.invalidSingleCharDiv').removeClass('hide-errormsg');
              }
              (0,plus/* default */.A)(this).addClass('errorfield');
              (0,plus/* default */.A)(this).siblings('.error-message').addClass('hide-errormsg');
              (0,plus/* default */.A)(this).siblings('.invalidSingleCharDiv').removeClass('hide-errormsg');
              (0,plus/* default */.A)(this).parent().find('label').find('div').remove();
              (0,plus/* default */.A)(this).parent().find('label').append(invalidSingleCharInFn);
            } else {
              (0,plus/* default */.A)(this).removeClass('errorfield');
              (0,plus/* default */.A)(this).siblings('.invalidCharDiv, .invalidSingleCharDiv').remove();
              (0,plus/* default */.A)(this).siblings('.error-message').addClass('hide-errormsg');
              (0,plus/* default */.A)(this).parent().find('label').find('div').remove();
            }
          } else if ((0,plus/* default */.A)(this).attr('name').toLowerCase() === 'country') {
            (0,plus/* default */.A)(this).removeClass('errorfield');
            (0,plus/* default */.A)(this).parent().siblings('.error-message').addClass('hide-errormsg');
          } else if ((0,plus/* default */.A)(this).attr('name').toLowerCase() === 'salutation') {
            (0,plus/* default */.A)(this).removeClass('errorfield');
            (0,plus/* default */.A)(this).parent().siblings('.error-message').addClass('hide-errormsg');
          } else {
            (0,plus/* default */.A)(this).removeClass('errorfield');
            (0,plus/* default */.A)(this).siblings('.error-message').addClass('hide-errormsg');
            (0,plus/* default */.A)(this).parent().find('label').find('div').remove();
          }
        }
      });
    });
    $optionalFormFields.each(function () {
      defaultform.valueValidationForVisitedFields(this);
    });
    $requiredCheckedbox.each(function () {
      var isVisited;
      (0,plus/* default */.A)(this).focus(function () {
        isVisited = true;
      }).blur(function () {
        if (isVisited &amp;&amp; (0,plus/* default */.A)(this).prop('checked') === false) {
          (0,plus/* default */.A)(this).parent().find('.custom-checkbox').addClass('errorField');
          (0,plus/* default */.A)(this).parents('.custom-tc').find('.error-message').removeClass('hide-errormsg');
          if ((0,plus/* default */.A)(this).attr('name') === 'termsAndConditions1') {
            (0,plus/* default */.A)(this).parents('.custom-tc').find('.error-message').html(window.kpmgPersonalize.i18n.gigyaMsgs.kpmg_error_tc_authored_msg_tc1);
          }
          if ((0,plus/* default */.A)(this).attr('name') === 'termsAndConditions2') {
            (0,plus/* default */.A)(this).parents('.custom-tc').find('.error-message').html(window.kpmgPersonalize.i18n.gigyaMsgs.kpmg_error_tc_authored_msg_tc2);
          }
          if ((0,plus/* default */.A)(this).attr('name') === 'termsAndConditions3') {
            (0,plus/* default */.A)(this).parents('.custom-tc').find('.error-message').html(window.kpmgPersonalize.i18n.gigyaMsgs.kpmg_error_tc_authored_msg_tc3);
          }
        } else {
          (0,plus/* default */.A)(this).parents('.custom-tc').find('.error-message').addClass('hide-errormsg');
          (0,plus/* default */.A)(this).parent().find('.custom-checkbox').removeClass('errorField');
        }
      });
    });
  };
  DefaultForm.prototype.radioClick = function (evt) {
    (0,plus/* default */.A)(evt.target).prop('checked', true);
  };
  DefaultForm.prototype.valueValidationForVisitedFields = function (obj) {
    var isVisitedThis = false;
    // eslint-disable-next-line @typescript-eslint/no-this-alias
    var defaultform = this,
      charactersCheckforTextFields = /[|"~`@#$%^&amp;_={}[\]:;&lt;&gt;+*\/\\?]/,
      i18nSingleChar = window.kpmgPersonalize &amp;&amp; common_utils/* default */.A.getNestedObjectValue(window.kpmgPersonalize.i18n.customMsgs, 'singleCharacterIsNotAllowed') !== 'N.A' ? window.kpmgPersonalize.i18n.customMsgs.singleCharacterIsNotAllowed : 'Single Character is not allowed',
      i18nInvalidChar = window.kpmgPersonalize &amp;&amp; common_utils/* default */.A.getNestedObjectValue(window.kpmgPersonalize.i18n.customMsgs, 'gigya_name_validation_error_message') !== 'N.A' ? window.kpmgPersonalize.i18n.customMsgs.gigya_name_validation_error_message : 'Special characters and numbers are not supported.',
      invalidSingleCharInFn = "&lt;div class=\"error-message invalidSingleCharDiv\"&gt;".concat(i18nSingleChar, "&lt;/div&gt;"),
      invalidCharInFn = "&lt;div class=\"error-message invalidCharDiv\"&gt;".concat(i18nInvalidChar, "&lt;/div&gt;");
    (0,plus/* default */.A)(obj).on('focus', function () {
      isVisitedThis = true;
    }).on('blur', function () {
      if (isVisitedThis &amp;&amp; (0,plus/* default */.A)(obj).val().trim() === '' &amp;&amp; ((0,plus/* default */.A)(obj).get(0).hasAttribute('required') || (0,plus/* default */.A)(obj).attr('required') === 'required')) {
        (0,plus/* default */.A)(obj).siblings('.error-message').removeClass('hide-errormsg');
        (0,plus/* default */.A)(obj).addClass('errorfield');
        (0,plus/* default */.A)(obj).parent().find('label').find('div').remove();
        (0,plus/* default */.A)(obj).parent().find('label').append((0,plus/* default */.A)(obj).parents('.formfield-wrapper').find('.error-message').clone());
      } else {
        if (((0,plus/* default */.A)(obj).attr('name').toLowerCase() === 'phone' || (0,plus/* default */.A)(obj).attr('name').toLowerCase() === 'employeecount') &amp;&amp; isVisitedThis &amp;&amp; (0,plus/* default */.A)(obj).val() !== '' &amp;&amp; !defaultform.handle_NumberFields_BlurEvent.call(obj, (0,plus/* default */.A)(obj).val())) {
          (0,plus/* default */.A)(obj).addClass('errorfield');
          (0,plus/* default */.A)(obj).siblings('.error-message').addClass('hide-errormsg');
          var invalidCharInNumberFields = "&lt;div class=\"error-message invalidCharDiv\"&gt;".concat(window.kpmgPersonalize.i18n.customMsgs.kpmg_error_numbervalidation, "&lt;/div&gt;");
          if ((0,plus/* default */.A)(obj).parent().find('.invalidCharDiv').length === 0) {
            (0,plus/* default */.A)(obj).before(invalidCharInNumberFields);
          } else {
            (0,plus/* default */.A)(obj).parent().find('.invalidCharDiv').removeClass('hide-errormsg');
          }
          (0,plus/* default */.A)(this).parent().find('label').find('div').remove();
          (0,plus/* default */.A)(this).parent().find('label').append(invalidCharInNumberFields);
        } else if ((0,plus/* default */.A)(this).attr('name').toLowerCase() === 'city') {
          if ((0,plus/* default */.A)(this).val().trim() !== '' &amp;&amp; charactersCheckforTextFields.test((0,plus/* default */.A)(this).val())) {
            (0,plus/* default */.A)(this).addClass('errorfield');
            (0,plus/* default */.A)(this).siblings('.error-message').addClass('hide-errormsg');
            if ((0,plus/* default */.A)(this).parent().find('.invalidCharDiv').length === 0) {
              (0,plus/* default */.A)(this).before(invalidCharInFn);
            } else {
              (0,plus/* default */.A)(this).parent().find('.invalidCharDiv').removeClass('hide-errormsg');
            }
            (0,plus/* default */.A)(this).parent().find('label').find('div').remove();
            (0,plus/* default */.A)(this).parent().find('label').append(invalidCharInFn);
          } else if ((0,plus/* default */.A)(this).val().trim().length === 1) {
            if ((0,plus/* default */.A)(this).parent().find('.invalidSingleCharDiv').length === 0) {
              (0,plus/* default */.A)(this).before(invalidSingleCharInFn);
            } else {
              (0,plus/* default */.A)(this).parent().find('.invalidSingleCharDiv').removeClass('hide-errormsg');
            }
            (0,plus/* default */.A)(this).addClass('errorfield');
            (0,plus/* default */.A)(this).siblings('.error-message').addClass('hide-errormsg');
            (0,plus/* default */.A)(this).siblings('.invalidSingleCharDiv').removeClass('hide-errormsg');
            (0,plus/* default */.A)(this).parent().find('label').find('div').remove();
            (0,plus/* default */.A)(this).parent().find('label').append(invalidSingleCharInFn);
          }
        } else {
          (0,plus/* default */.A)(obj).removeClass('errorfield');
          (0,plus/* default */.A)(obj).siblings('.invalidCharDiv').remove();
          (0,plus/* default */.A)(obj).siblings('.error-message').addClass('hide-errormsg');
          (0,plus/* default */.A)(obj).parent().find('label').find('div').remove();
        }
      }
    });
  };
  DefaultForm.prototype.setupLoginForm = function (loginID) {
    var $formbuilderModule = this.$elem.closest('.module-formbuilder');
    var existingUserLoginDiv = $formbuilderModule.find('.existing-user-login-form').get(0);
    this.existingUserLoginForm = new ExistingUserLoginForm(existingUserLoginDiv, loginID, this.formbuilder);
    this.existingUserLoginForm.init();
    this.existingUserLoginForm.$elem.addClass('slideInRight').show();
    this.$elem.hide();
    personalizationUtils/* default */.A.commonUtils.checkForGigyaObject(this.formbuilder.addGigyaListeners.bind(this.formbuilder));
  };
  DefaultForm.validate_input = function (input) {
    try {
      var $input = (0,plus/* default */.A)(input);
      var errorClass = 'errorfield';
      var hasVal = $input.val();
      var $errorDiv = $input.siblings('.error-message');
      var isRequired = $input.get(0).required;
      if (isRequired &amp;&amp; hasVal) $input.removeClass(errorClass);
      if (isRequired &amp;&amp; hasVal) $errorDiv.hide();
      if (isRequired &amp;&amp; !hasVal) $input.addClass(errorClass);
      if (isRequired &amp;&amp; !hasVal) $errorDiv.show();
    } catch (e) {
      console.log('error in ', this.constructor.name, e);
    }
  };
  DefaultForm.prototype.hide = function () {
    this.$elem.removeClass('slideinRight').hide();
  };
  DefaultForm.prototype.validate = function (evt) {
    var _this3 = this;
    evt.preventDefault();
    var formTracking = this.formbuilder.trck;
    // eslint-disable-next-line @typescript-eslint/no-this-alias
    var defaultform = this;
    var $required = this.$textFields.filter('[required]:visible:enabled');
    var allRequired = true;
    var specialChar_n_NumbersReg = /[0-9|"~`!@#$%^&amp;()_={}[\]:;,.&lt;&gt;+*\/\\?]/;
    var emailid = this.$textFields.filter('[name="Email"]');
    var $optionalFormFields = this.$textFields.filter(':not([name="Email"],[name="firstname"], [name="lastname"], [name="email"], [name="country"])');
    var i18nSingleChar = window.kpmgPersonalize &amp;&amp; common_utils/* default */.A.getNestedObjectValue(window.kpmgPersonalize.i18n.customMsgs, 'singleCharacterIsNotAllowed') !== 'N.A' ? window.kpmgPersonalize.i18n.customMsgs.singleCharacterIsNotAllowed : 'Single Character is not allowed';
    $required.each(function () {
      if ((0,plus/* default */.A)(this).val().trim() === '') {
        allRequired = false;
        if ((0,plus/* default */.A)(this).attr('name') === 'email' || (0,plus/* default */.A)(this).attr('name') === 'Email') {
          (0,plus/* default */.A)(this).siblings('.error-message').removeClass('hide-errormsg');
          (0,plus/* default */.A)(this).siblings('.error-message').children('.generic-error-msg').show();
        } else {
          (0,plus/* default */.A)(this).parents('.formfield-wrapper').find('.error-message').removeClass('hide-errormsg');
          (0,plus/* default */.A)(this).siblings('.invalidCharDiv').remove();
          (0,plus/* default */.A)(this).parent().find('label').find('div').remove();
          (0,plus/* default */.A)(this).parent().find('label').append((0,plus/* default */.A)(this).parents('.formfield-wrapper').find('.error-message').clone());
        }
        (0,plus/* default */.A)(this).val('');
        (0,plus/* default */.A)(this).siblings('.custom-placeholder').show();
        (0,plus/* default */.A)(this).addClass('errorfield');
      } else {
        if ((0,plus/* default */.A)(this).attr('name') === 'email' || (0,plus/* default */.A)(this).attr('name') === 'Email') {
          if (FormBuilder.validateEmailID((0,plus/* default */.A)(this).val(), (0,plus/* default */.A)(this).attr('data-corporate'))[0] === false) {
            (0,plus/* default */.A)(this).siblings('.error-message').removeClass('hide-errormsg');
            (0,plus/* default */.A)(this).addClass('errorfield');
            allRequired = false;
          } else {
            FGEUser.isAvailableLoginID((0,plus/* default */.A)(this).val()).then(defaultform.conditionallyShow_loginForm.bind(defaultform, (0,plus/* default */.A)(emailid).val()));
          }
        } else if ((0,plus/* default */.A)(this).attr('name').toLowerCase() === 'firstname' || (0,plus/* default */.A)(this).attr('name').toLowerCase() === 'lastname') {
          if ((0,plus/* default */.A)(this).val().trim() !== '' &amp;&amp; specialChar_n_NumbersReg.test((0,plus/* default */.A)(this).val())) {
            (0,plus/* default */.A)(this).addClass('errorfield');
            (0,plus/* default */.A)(this).siblings('.error-message').addClass('hide-errormsg');
            var invalidCharInFn = "&lt;div class=\"error-message invalidCharDiv\"&gt;".concat(window.kpmgPersonalize.i18n.customMsgs.gigya_name_validation_error_message, "&lt;/div&gt;");
            if ((0,plus/* default */.A)(this).parent().find('.invalidCharDiv').length === 0) {
              (0,plus/* default */.A)(this).before(invalidCharInFn);
            } else {
              (0,plus/* default */.A)(this).parent().find('.invalidCharDiv').removeClass('hide-errormsg');
            }
            (0,plus/* default */.A)(this).parent().find('label').find('div').remove();
            (0,plus/* default */.A)(this).parent().find('label').append(invalidCharInFn);
            (0,plus/* default */.A)('html, body').animate({
              scrollTop: (0,plus/* default */.A)(this).closest('.module-formbuilder').offset().top
            }, 'slow');
            allRequired = false;
          } else if ((0,plus/* default */.A)(this).val().trim().length === 1) {
            var invalidSingleCharInFn = "&lt;div class=\"error-message invalidSingleCharDiv\"&gt;".concat(i18nSingleChar, "&lt;/div&gt;");
            (0,plus/* default */.A)(this).addClass('errorfield');
            (0,plus/* default */.A)(this).siblings('.error-message').addClass('hide-errormsg');
            if ((0,plus/* default */.A)(this).parent().find('.invalidSingleCharDiv').length === 0) {
              (0,plus/* default */.A)(this).before(invalidSingleCharInFn);
            } else {
              (0,plus/* default */.A)(this).parent().find('.invalidSingleCharDiv').removeClass('hide-errormsg');
            }
            (0,plus/* default */.A)(this).parent().find('label').find('div').remove();
            (0,plus/* default */.A)(this).parent().find('label').append(invalidSingleCharInFn);
            allRequired = false;
          } else {
            (0,plus/* default */.A)(this).removeClass('errorfield');
            (0,plus/* default */.A)(this).siblings('.invalidCharDiv').remove();
            (0,plus/* default */.A)(this).siblings('.invalidSingleCharDiv').remove();
            (0,plus/* default */.A)(this).siblings('.error-message').addClass('hide-errormsg');
            (0,plus/* default */.A)(this).parent().find('label').find('div').remove();
          }
        } else {
          (0,plus/* default */.A)(this).parents('.formfield-wrapper').find('.error-message').addClass('hide-errormsg');
          (0,plus/* default */.A)(this).removeClass('errorfield');
          (0,plus/* default */.A)(this).parent().find('label').find('div').remove();
        }
      }
    });

    /**
     * Some field validations kept separate as they can be mandatory/optional
     */
    $optionalFormFields.each(function () {
      var res = defaultform.fieldValidationOnSubmit(this);
      if (res === 'false') {
        allRequired = false;
      }
    });
    var $requiredCheckedbox = this.$textFields.filter("input[type='checkbox'][required]:hidden");
    $requiredCheckedbox.each(function () {
      var _this = (0,plus/* default */.A)(this);
      if (!(_this.attr('checked') === '' || _this.attr('checked') === 'true')) {
        _this.parent().find('.custom-checkbox').addClass('errorField');
        _this.parents('.custom-tc').find('.error-message').removeClass('hide-errormsg');
        if (_this.attr('name') === 'termsAndConditions1') {
          _this.parents('.custom-tc').find('.error-message').html(window.kpmgPersonalize.i18n.gigyaMsgs.kpmg_error_tc_authored_msg_tc1);
        }
        if (_this.attr('name') === 'termsAndConditions2') {
          _this.parents('.custom-tc').find('.error-message').html(window.kpmgPersonalize.i18n.gigyaMsgs.kpmg_error_tc_authored_msg_tc2);
        }
        if (_this.attr('name') === 'termsAndConditions3') {
          _this.parents('.custom-tc').find('.error-message').html(window.kpmgPersonalize.i18n.gigyaMsgs.kpmg_error_tc_authored_msg_tc3);
        }
        allRequired = false;
      } else {
        _this.parents('.custom-tc').find('.error-message').addClass('hide-errormsg');
        _this.parent().find('.custom-checkbox').removeClass('errorField');
      }
    });
    if (evt.type === 'click' || evt.type === 'keydown' &amp;&amp; evt.keyCode === 13) {
      if (allRequired === true) {
        if (this.kpmgGrecaptcha) this.kpmgGrecaptcha.execute();else this.formSubmit();
        (0,plus/* default */.A)('html, body').animate({
          scrollTop: 0
        }, 'slow');
      } else {
        setTimeout(function () {
          var firstErrorfield = (0,plus/* default */.A)('.error-message', _this3.$form).not('.hide-errormsg').get(0);
          if ((0,plus/* default */.A)(firstErrorfield).hasClass('checkbox-error')) {
            (0,plus/* default */.A)(firstErrorfield).parents('.custom-tc').find('button').focus().addClass('focusOutline');
          } else {
            (0,plus/* default */.A)(firstErrorfield).parents('.formfield-wrapper').find('input,select,textarea').focus().addClass('focusOutline');
          }
        }, 500);
        if (isgatedcontent === 'true') {
          window.digitalData.page.category.gatedContent = window.digitalData.page.category.gatedContent || {};
          window.digitalData.page.category.gatedContent.type = contenttype || 'pdf';
          if (contenttype === 'pdf' || contenttype === '') {
            window.digitalData.download = window.digitalData.download || {};
            window.digitalData.download.name = ctatitle;
          }
        }
        formTracking.track('FGE_formError');
        var isGatedContent = isgatedcontent === 'true' ? true : false,
          isGatedContentAssetPdf = contenttype === 'pdf' || contenttype === '' ? true : false,
          downloadObjectExistence = window.digitalData.download ? true : false;
        if (isGatedContent &amp;&amp; isGatedContentAssetPdf &amp;&amp; downloadObjectExistence) {
          common_utils/* default */.A.clearObjectProperties([{
            currentObject: window.digitalData.download,
            removeProp: 'name'
          }]);
        }
        return false;
      }
    }
  };
  DefaultForm.prototype.fieldValidationOnSubmit = function (obj) {
    // eslint-disable-next-line @typescript-eslint/no-this-alias
    var defaultform = this;
    if ((0,plus/* default */.A)(obj).val().trim() === '' &amp;&amp; ((0,plus/* default */.A)(obj).get(0).hasAttribute('required') || (0,plus/* default */.A)(obj).attr('required') === 'required')) {
      (0,plus/* default */.A)(obj).siblings('.error-message').removeClass('hide-errormsg');
      (0,plus/* default */.A)(obj).siblings('.invalidCharDiv, .invalidCharsDiv, .invalidSingleCharDiv').remove();
      (0,plus/* default */.A)(obj).addClass('errorfield');
      (0,plus/* default */.A)(obj).parent().find('label').find('div').remove();
      (0,plus/* default */.A)(obj).parent().find('label').append((0,plus/* default */.A)(obj).parents('.formfield-wrapper').find('.error-message').clone());
      return 'false';
    } else {
      if (((0,plus/* default */.A)(obj).attr('name').toLowerCase() === 'phone' || (0,plus/* default */.A)(obj).attr('name').toLowerCase() === 'employeecount') &amp;&amp; (0,plus/* default */.A)(obj).val() !== '' &amp;&amp; !defaultform.handle_NumberFields_BlurEvent.call(obj, (0,plus/* default */.A)(obj).val())) {
        (0,plus/* default */.A)(obj).addClass('errorfield');
        (0,plus/* default */.A)(obj).siblings('.error-message').addClass('hide-errormsg');
        var errorForInvalidCharsInNumericFields = "&lt;div class=\"error-message invalidCharDiv\"&gt;".concat(window.kpmgPersonalize.i18n.customMsgs.kpmg_error_numbervalidation, "&lt;/div&gt;");
        if ((0,plus/* default */.A)(obj).parent().find('.invalidCharDiv').length === 0) {
          (0,plus/* default */.A)(obj).before(errorForInvalidCharsInNumericFields);
        } else {
          (0,plus/* default */.A)(obj).parent().find('.invalidCharDiv').removeClass('hide-errormsg');
        }
        (0,plus/* default */.A)(obj).parent().find('label').find('div').remove();
        (0,plus/* default */.A)(obj).parent().find('label').append(errorForInvalidCharsInNumericFields);
        return 'false';
      } else if ((0,plus/* default */.A)(obj).attr('name').toLowerCase() === 'city') {
        var singleCharLabel = window.kpmgPersonalize &amp;&amp; common_utils/* default */.A.getNestedObjectValue(window.kpmgPersonalize.i18n.customMsgs, 'singleCharacterIsNotAllowed') !== 'N.A' ? window.kpmgPersonalize.i18n.customMsgs.singleCharacterIsNotAllowed : '',
          invalidCharLabel = window.kpmgPersonalize &amp;&amp; common_utils/* default */.A.getNestedObjectValue(window.kpmgPersonalize.i18n.customMsgs, 'gigya_name_validation_error_message') !== 'N.A' ? window.kpmgPersonalize.i18n.customMsgs.gigya_name_validation_error_message : '',
          errorForSingleCharInCityField = "&lt;div class=\"error-message invalidSingleCharDiv\"&gt;".concat(singleCharLabel, "&lt;/div&gt;"),
          errorForInvalidCharsInCityField = "&lt;div class=\"error-message invalidCharsDiv\"&gt;".concat(invalidCharLabel, "&lt;/div&gt;");
        if ((0,plus/* default */.A)(obj).val().trim() !== '' &amp;&amp; (0,plus/* default */.A)(obj).val().trim().length === 1) {
          if ((0,plus/* default */.A)(obj).parent().find('.invalidSingleCharDiv').length === 0) {
            (0,plus/* default */.A)(obj).before(errorForSingleCharInCityField);
          } else {
            (0,plus/* default */.A)(obj).parent().find('.invalidSingleCharDiv').removeClass('hide-errormsg');
          }
          (0,plus/* default */.A)(obj).addClass('errorfield');
          (0,plus/* default */.A)(obj).siblings('.error-message').addClass('hide-errormsg');
          (0,plus/* default */.A)(obj).parent().find('label').find('div').remove();
          (0,plus/* default */.A)(obj).parent().find('label').append(errorForSingleCharInCityField);
          return 'false';
        } else if ((0,plus/* default */.A)(obj).val().trim() !== '' &amp;&amp; defaultform.handle_CityField.call(obj, (0,plus/* default */.A)(obj).val())) {
          if ((0,plus/* default */.A)(obj).parent().find('.invalidCharsDiv').length === 0) {
            (0,plus/* default */.A)(obj).before(errorForInvalidCharsInCityField);
          } else {
            (0,plus/* default */.A)(obj).parent().find('.invalidCharsDiv').removeClass('hide-errormsg');
          }
          (0,plus/* default */.A)(obj).addClass('errorfield');
          (0,plus/* default */.A)(obj).siblings('.error-message').addClass('hide-errormsg');
          (0,plus/* default */.A)(obj).parent().find('label').find('div').remove();
          (0,plus/* default */.A)(obj).parent().find('label').append(errorForInvalidCharsInCityField);
          return 'false';
        }
      } else if ((0,plus/* default */.A)(obj).val().trim() !== '' &amp;&amp; !defaultform.handle_TextFields.call(obj, (0,plus/* default */.A)(obj).val())) {
        (0,plus/* default */.A)(obj).val(defaultform.sanitize_TextFields.call(obj, (0,plus/* default */.A)(obj).val()));
      } else {
        (0,plus/* default */.A)(obj).removeClass('errorfield');
        (0,plus/* default */.A)(obj).siblings('.invalidCharDiv').remove();
        (0,plus/* default */.A)(obj).siblings('.error-message').addClass('hide-errormsg');
        (0,plus/* default */.A)(obj).parent().find('label').find('div').remove();
      }
    }
  };
  DefaultForm.prototype.formSubmit = function (token) {
    var formTracking = this.formbuilder.trck;
    var email,
      firstname,
      lastname,
      country,
      phone,
      city,
      state,
      company,
      website,
      employeecount,
      role,
      linkedinlink,
      twitterlink,
      customone,
      field1,
      customtwo,
      field2,
      customthree,
      field3,
      customfour,
      field4,
      customfive,
      field5,
      category,
      categoryType,
      records,
      UID,
      UIDSignature,
      signatureTimestamp,
      eventType,
      terms1 = false,
      terms2 = false,
      terms3 = false,
      salutation = '';
    // eslint-disable-next-line @typescript-eslint/no-this-alias
    var defaultform = this;
    var $fields = this.$textFields;
    var $checks = this.$checkbox;
    var emptyFields = [];
    var fastSubscriptionData = {};
    var relatedSubscriptionData = [];
    var privacyPolicy, enableEmailUpdates;
    var site = uniqueid.slice(0, 5);
    var pagePath = pagepath || '';
    var origin = window.location.origin;
    var pageUrl = origin.concat(pagePath.replace('/content/kpmgpublic', '')).concat('.html');
    var countryLocale = personalizationUtils/* default */.A.accountUtils.getLocale();
    var regLocale = "".concat(countryLocale.countryCode, "/").concat(countryLocale.languageCode);
    var photoUrl = origin.concat('/content/dam/kpmg/images/platform/KPMG.png');
    var personObj = personalizationUtils/* default */.A.accountUtils.getInfo();
    var campaignName = campaignname || '';
    var primaryTag = window.kpmgMetaData.KPMG_Primary_Tag_ID || '';
    if (campaignName) {
      campaignName = campaignName.replace(/[#&lt;&gt;,=`%'";&amp;~^!*+?^${}()|[\]\\]/g, '');
    }
    this.relatedSubsElements = this.relatedSubscription.$relatedSubsElements;
    if (personObj) {
      regLocale = null;
    }
    window.digitalData.Register = window.digitalData.Register || {};
    window.digitalData.Register.Preferences = window.digitalData.Register.Preferences || {};
    window.digitalData.form = window.digitalData.form || {};
    $fields.each(function () {
      if ((0,plus/* default */.A)(this).attr('name') === 'Email') {
        email = (0,plus/* default */.A)(this).val();
        var nameOfInputField_email = (0,plus/* default */.A)(this).attr('data-field-name').trim().replace(/[(]+[\w]+[)]+/i, '').trim();
        if (email === '' || email === undefined &amp;&amp; email.indexOf('undefined') === -1) {
          emptyFields.push(nameOfInputField_email);
        }
      }
      if ((0,plus/* default */.A)(this).attr('name') === 'salutation') {
        salutation = (0,plus/* default */.A)(this).val();
        var nameOfInputField_salutation = (0,plus/* default */.A)(this).find('option').eq(0).text().trim().replace(/[(]+[\w]+[)]+/i, '').trim();
        if (salutation === '' || salutation === undefined) {
          emptyFields.push(nameOfInputField_salutation);
        }
      }
      if ((0,plus/* default */.A)(this).attr('name') === 'firstname') {
        firstname = (0,plus/* default */.A)(this).val();
        var nameOfInputField_firstname = (0,plus/* default */.A)(this).attr('data-field-name').trim().replace(/[(]+[\w]+[)]+/i, '').trim();
        if (firstname === '' || firstname === undefined &amp;&amp; firstname.indexOf('undefined') === -1) {
          emptyFields.push(nameOfInputField_firstname);
        }
      }
      if ((0,plus/* default */.A)(this).attr('name') === 'lastname') {
        lastname = (0,plus/* default */.A)(this).val();
        var nameOfInputField_lastname = (0,plus/* default */.A)(this).attr('data-field-name').trim().replace(/[(]+[\w]+[)]+/i, '').trim();
        if (lastname === '' || lastname === undefined &amp;&amp; lastname.indexOf('undefined') === -1) {
          emptyFields.push(nameOfInputField_lastname);
        }
      }
      if ((0,plus/* default */.A)(this).attr('name') === 'country') {
        country = (0,plus/* default */.A)(this).val();
        var nameOfInputField_country = (0,plus/* default */.A)(this).find('option').eq(0).text().trim().replace(/[(]+[\w]+[)]+/i, '').trim();
        if (country === '' || country === undefined &amp;&amp; country.indexOf('undefined') === -1) {
          emptyFields.push(nameOfInputField_country);
        }
      }
      if ((0,plus/* default */.A)(this).attr('name') === 'phone') {
        phone = (0,plus/* default */.A)(this).val();
        var nameOfInputField_phone = (0,plus/* default */.A)(this).attr('data-field-name').trim().replace(/[(]+[\w]+[)]+/i, '').trim();
        if (phone === '' || phone === undefined &amp;&amp; phone.indexOf('undefined') === -1) {
          emptyFields.push(nameOfInputField_phone);
        }
      }
      if ((0,plus/* default */.A)(this).attr('name') === 'city') {
        city = (0,plus/* default */.A)(this).val();
        var nameOfInputField_city = (0,plus/* default */.A)(this).attr('data-field-name').trim().replace(/[(]+[\w]+[)]+/i, '').trim();
        if (city === '' || city === undefined &amp;&amp; city.indexOf('undefined') === -1) {
          emptyFields.push(nameOfInputField_city);
        }
      }
      if ((0,plus/* default */.A)(this).attr('name') === 'state') {
        state = (0,plus/* default */.A)(this).val();
        var nameOfInputField_state = (0,plus/* default */.A)(this).attr('data-field-name').trim().replace(/[(]+[\w]+[)]+/i, '').trim();
        if (state === '' || state === undefined &amp;&amp; state.indexOf('undefined') === -1) {
          emptyFields.push(nameOfInputField_state);
        }
      }
      if ((0,plus/* default */.A)(this).attr('name') === 'company') {
        company = (0,plus/* default */.A)(this).val();
        var nameOfInputField_company = (0,plus/* default */.A)(this).attr('data-field-name').trim().replace(/[(]+[\w]+[)]+/i, '').trim();
        if (company === '' || company === undefined &amp;&amp; company.indexOf('undefined') === -1) {
          emptyFields.push(nameOfInputField_company);
        }
      }
      if ((0,plus/* default */.A)(this).attr('name') === 'website') {
        website = (0,plus/* default */.A)(this).val();
        var nameOfInputField_webbsite = (0,plus/* default */.A)(this).attr('data-field-name').trim().replace(/[(]+[\w]+[)]+/i, '').trim();
        if (website === '' || website === undefined &amp;&amp; website.indexOf('undefined') === -1) {
          emptyFields.push(nameOfInputField_webbsite);
        }
      }
      if ((0,plus/* default */.A)(this).attr('name') === 'employeecount') {
        employeecount = (0,plus/* default */.A)(this).val();
        var nameOfInputField_employeecount = (0,plus/* default */.A)(this).attr('data-field-name').trim().replace(/[(]+[\w]+[)]+/i, '').trim();
        if (employeecount === '' || employeecount === undefined &amp;&amp; employeecount.indexOf('undefined') === -1) {
          emptyFields.push(nameOfInputField_employeecount);
        }
      }
      if ((0,plus/* default */.A)(this).attr('name') === 'role') {
        role = (0,plus/* default */.A)(this).val();
        var nameOfInputField_role = (0,plus/* default */.A)(this).attr('data-field-name').trim().replace(/[(]+[\w]+[)]+/i, '').trim();
        if (role === '' || role === undefined &amp;&amp; role.indexOf('undefined') === -1) {
          emptyFields.push(nameOfInputField_role);
        }
      }
      if ((0,plus/* default */.A)(this).attr('name') === 'linkedinlink') {
        linkedinlink = (0,plus/* default */.A)(this).val();
        var nameOfInputField_linkedinlink = (0,plus/* default */.A)(this).attr('data-field-name').trim().replace(/[(]+[\w]+[)]+/i, '').trim();
        if (linkedinlink === '' || linkedinlink === undefined &amp;&amp; linkedinlink.indexOf('undefined') === -1) {
          emptyFields.push(nameOfInputField_linkedinlink);
        }
      }
      if ((0,plus/* default */.A)(this).attr('name') === 'twitterlink') {
        twitterlink = (0,plus/* default */.A)(this).val();
        var nameOfInputField_twitterlink = (0,plus/* default */.A)(this).attr('data-field-name').trim().replace(/[(]+[\w]+[)]+/i, '').trim();
        if (twitterlink === '' || twitterlink === undefined &amp;&amp; twitterlink.indexOf('undefined') === -1) {
          emptyFields.push(nameOfInputField_twitterlink);
        }
      }
      if ((0,plus/* default */.A)(this).attr('name') === 'customone') {
        if ((0,plus/* default */.A)(this).parent('.radio-group-element').length &gt; 0 &amp;&amp; (0,plus/* default */.A)(this).prop('checked') === true || (0,plus/* default */.A)(this).parent('.radio-group-element').length === 0) {
          customone = (0,plus/* default */.A)(this).val();
          field1 = (0,plus/* default */.A)(this).attr('data-field-name').trim().replace(/[(]+[\w]+[)]+/i, '');
          field1 = field1.trim();
          if (customone === '' || customone === undefined &amp;&amp; customone.indexOf('undefined') === -1) {
            emptyFields.push(field1);
          }
        }
      }
      if ((0,plus/* default */.A)(this).attr('name') === 'customtwo') {
        if ((0,plus/* default */.A)(this).parent('.radio-group-element').length &gt; 0 &amp;&amp; (0,plus/* default */.A)(this).prop('checked') === true || (0,plus/* default */.A)(this).parent('.radio-group-element').length === 0) {
          customtwo = (0,plus/* default */.A)(this).val();
          field2 = (0,plus/* default */.A)(this).attr('data-field-name').trim().replace(/[(]+[\w]+[)]+/i, '');
          field2 = field2.trim();
          if (customtwo === '' || customtwo === undefined &amp;&amp; customtwo.indexOf('undefined') === -1) {
            emptyFields.push(field2);
          }
        }
      }
      if ((0,plus/* default */.A)(this).attr('name') === 'customthree') {
        if ((0,plus/* default */.A)(this).parent('.radio-group-element').length &gt; 0 &amp;&amp; (0,plus/* default */.A)(this).prop('checked') === true || (0,plus/* default */.A)(this).parent('.radio-group-element').length === 0) {
          customthree = (0,plus/* default */.A)(this).val();
          field3 = (0,plus/* default */.A)(this).attr('data-field-name').trim().replace(/[(]+[\w]+[)]+/i, '');
          field3 = field3.trim();
          if (customthree === '' || customthree === undefined &amp;&amp; customthree.indexOf('undefined') === -1) {
            emptyFields.push(field3);
          }
        }
      }
      if ((0,plus/* default */.A)(this).attr('name') === 'customfourth') {
        if ((0,plus/* default */.A)(this).parent('.radio-group-element').length &gt; 0 &amp;&amp; (0,plus/* default */.A)(this).prop('checked') === true || (0,plus/* default */.A)(this).parent('.radio-group-element').length === 0) {
          customfour = (0,plus/* default */.A)(this).val();
          field4 = (0,plus/* default */.A)(this).attr('data-field-name').trim().replace(/[(]+[\w]+[)]+/i, '');
          field4 = field4.trim();
          if (customfour === '' || customfour === undefined &amp;&amp; customfour.indexOf('undefined') === -1) {
            emptyFields.push(field4);
          }
        }
      }
      if ((0,plus/* default */.A)(this).attr('name') === 'customfive') {
        if ((0,plus/* default */.A)(this).parent('.radio-group-element').length &gt; 0 &amp;&amp; (0,plus/* default */.A)(this).prop('checked') === true || (0,plus/* default */.A)(this).parent('.radio-group-element').length === 0) {
          customfive = (0,plus/* default */.A)(this).val();
          field5 = (0,plus/* default */.A)(this).attr('data-field-name').trim().replace(/[(]+[\w]+[)]+/i, '');
          field5 = field5.trim();
          if (customfive === '' || customfive === undefined &amp;&amp; customfive.indexOf('undefined') === -1) {
            emptyFields.push(field5);
          }
        }
      }
    });
    $checks.each(function () {
      if ((0,plus/* default */.A)(this).attr('name') === 'termsAndConditions1') {
        if ((0,plus/* default */.A)(this).get(0).hasAttribute('required')) {
          if ((0,plus/* default */.A)(this).attr('checked') === 'true' || (0,plus/* default */.A)(this).attr('checked') === '') {
            terms1 = 'true';
            privacyPolicy = true;
          } else {
            privacyPolicy = false;
          }
        } else {
          privacyPolicy = true;
          terms1 = true;
        }
      }
      if ((0,plus/* default */.A)(this).attr('name') === 'termsAndConditions2') {
        if (isfastsubscription === 'true' || (0,plus/* default */.A)(this).attr('checked') === 'true' || (0,plus/* default */.A)(this).attr('checked') === '') {
          terms2 = 'true';
          enableEmailUpdates = true;
        } else {
          enableEmailUpdates = false;
        }
      }
      if ((0,plus/* default */.A)(this).attr('name') === 'termsAndConditions3' &amp;&amp; ((0,plus/* default */.A)(this).attr('checked') === 'true' || (0,plus/* default */.A)(this).attr('checked') === '')) {
        terms3 = 'true';
      }
    });
    if (personObj) {
      if (!phone &amp;&amp; personObj.profile.phones) {
        var num = personObj.profile.phones[0].number || '';
        if (num.length &gt; 0) {
          phone = num;
        }
      }
      if (personObj.profile.work) {
        var _title, compSize, comp;
        if (!role &amp;&amp; personObj.profile.work[0]) {
          _title = personObj.profile.work[0].title || '';
          if (_title.length &gt; 0) {
            role = _title;
          }
        }
        if (!employeecount &amp;&amp; personObj.profile.work[0]) {
          compSize = personObj.profile.work[0].companySize || '';
          if (compSize.length &gt; 0) {
            employeecount = compSize;
          }
        }
        if (!company &amp;&amp; personObj.profile.work[0]) {
          comp = personObj.profile.work[0].company || '';
          if (comp.length &gt; 0) {
            company = comp;
          }
        }
      } else if (!role &amp;&amp; personObj.data.roleOrDesignation) {
        role = personObj.data.roleOrDesignation || '';
      }
    }
    var emailUniqueId = emailuniqueid;
    var locale = pagePath.slice(19, 25);
    var missingValues = emptyFields.join(',');
    window.digitalData.Register.Preferences.privacyPolicy = privacyPolicy;
    window.digitalData.Register.Preferences.enableEmailUpdates = enableEmailUpdates;
    window.digitalData.form.missingValues = missingValues;
    var gigyaApiKey = window.gigya.apiKey;
    var relatedSubsTitle = '',
      relatedSubsCount = 0;
    this.relatedSubsElements.each(function () {
      var $this = (0,plus/* default */.A)(this),
        relatedSubsObjt = {};
      if ($this.hasClass('active')) {
        relatedSubsCount++;
        relatedSubsObjt.subscriptionMappingId = $this.data('subscription-id');
        relatedSubsObjt.externalId = $this.data('external-id');
        relatedSubsObjt.subscriptionFrequency = $this.data('frequency');
        relatedSubsObjt.subscriptionLocale = site;
        relatedSubsObjt.subscriptionTitle = $this.data('title');
        relatedSubscriptionData.push(relatedSubsObjt);
        if (relatedSubsCount &gt; 1) {
          relatedSubsTitle = "".concat(relatedSubsTitle, " | ").concat($this.data('title'));
        } else {
          relatedSubsTitle = $this.data('title');
        }
      }
    });
    if (relatedSubsTitle !== '') {
      window.digitalData.page.category.subscription = window.digitalData.page.category.subscription || {};
      window.digitalData.page.category.subscription.relatedsubscriptions = relatedSubsTitle;
    }
    if (isgatedcontent === 'true') {
      category = 'GC';
      categoryType = 'Gated Content';
      records = {
        senderEmailAddressLabel: senderemailaddresslabel,
        email: email,
        gigyaApiKey: gigyaApiKey,
        profileData: {
          firstName: firstname,
          lastName: lastname,
          country: country,
          work: [{
            title: role,
            company: company,
            companySize: employeecount
          }],
          phones: [{
            number: phone
          }],
          city: city,
          state: state
        },
        extendedUserData: {
          websiteURL: website,
          linkedInProfile: linkedinlink,
          twitterProfile: twitterlink,
          roleOrDesignation: role,
          terms: this.validateRegex(terms1) ? false : terms1,
          termsone: this.validateRegex(terms2) ? false : terms2,
          termstwo: this.validateRegex(terms3) ? false : terms3,
          salutation: salutation
        },
        relatedSubscriptionData: relatedSubscriptionData,
        customPreferencesData: {
          gatedContentAsset: gatedcontentasset,
          customFields: {
            customField1: "".concat(field1, ":").concat(customone),
            customField2: "".concat(field2, ":").concat(customtwo),
            customField3: "".concat(field3, ":").concat(customthree),
            customField4: "".concat(field4, ":").concat(customfour),
            customField5: "".concat(field5, ":").concat(customfive)
          },
          formCategory: category,
          formCategoryType: categoryType,
          requestedLocale: locale,
          uniqueIdentifier: uniqueid,
          contentTitle: ctatitle,
          contentPath: pagePath,
          xfAuthoredPagePath: '',
          campaignName: campaignName,
          primaryTag: primaryTag
        },
        captchaToken: token ? token : null,
        emailUniqueId: emailUniqueId
      };
    } else if (isfastsubscription === 'true') {
      category = 'FS';
      categoryType = 'Fast Subscription';
      fastSubscriptionData.subscriptionMappingId = gigyamapping || '';
      fastSubscriptionData.externalId = externalid || '';
      fastSubscriptionData.subscriptionFrequency = subscriptionfrequency || '';
      fastSubscriptionData.subscriptionLocale = site;
      fastSubscriptionData.subscriptionTitle = title || '';
      records = {
        senderEmailAddressLabel: senderemailaddresslabel,
        email: email,
        gigyaApiKey: gigyaApiKey,
        profileData: {
          country: country,
          phones: [{
            number: phone
          }],
          firstName: firstname,
          lastName: lastname,
          city: city,
          state: state,
          work: [{
            title: role,
            company: company,
            companySize: employeecount
          }]
        },
        extendedUserData: {
          terms: this.validateRegex(terms1) ? false : terms1,
          websiteURL: website,
          termsone: this.validateRegex(terms2) ? false : terms2,
          linkedInProfile: linkedinlink,
          twitterProfile: twitterlink,
          roleOrDesignation: role,
          termstwo: this.validateRegex(terms3) ? false : terms3,
          salutation: salutation
        },
        subscriptionData: fastSubscriptionData,
        relatedSubscriptionData: relatedSubscriptionData,
        customPreferencesData: {
          customFields: {
            customField1: "".concat(field1, ":").concat(customone),
            customField2: "".concat(field2, ":").concat(customtwo),
            customField3: "".concat(field3, ":").concat(customthree),
            customField4: "".concat(field4, ":").concat(customfour),
            customField5: "".concat(field5, ":").concat(customfive)
          },
          formCategory: category,
          formCategoryType: categoryType,
          requestedLocale: locale,
          uniqueIdentifier: uniqueid,
          contentTitle: ctatitle,
          contentPath: pagePath,
          xfAuthoredPagePath: '',
          campaignName: campaignName,
          primaryTag: primaryTag
        },
        captchaToken: token ? token : null
      };
    } else if (iseventregistration === 'true') {
      category = 'ER';
      categoryType = 'Event Registration';
      eventType = eventtype;
      records = {
        senderEmailAddressLabel: senderemailaddresslabel,
        email: email,
        gigyaApiKey: gigyaApiKey,
        profileData: {
          firstName: firstname,
          lastName: lastname,
          country: country,
          phones: [{
            number: phone
          }],
          city: city,
          state: state,
          work: [{
            title: role,
            company: company,
            companySize: employeecount
          }]
        },
        extendedUserData: {
          terms: this.validateRegex(terms1) ? false : terms1,
          termsone: this.validateRegex(terms2) ? false : terms2,
          termstwo: this.validateRegex(terms3) ? false : terms3,
          websiteURL: website,
          linkedInProfile: linkedinlink,
          twitterProfile: twitterlink,
          roleOrDesignation: role,
          salutation: salutation
        },
        relatedSubscriptionData: relatedSubscriptionData,
        customPreferencesData: {
          customFields: {
            customField1: "".concat(field1, ":").concat(customone),
            customField2: "".concat(field2, ":").concat(customtwo),
            customField3: "".concat(field3, ":").concat(customthree),
            customField4: "".concat(field4, ":").concat(customfour),
            customField5: "".concat(field5, ":").concat(customfive)
          },
          formCategory: category,
          formCategoryType: categoryType,
          requestedLocale: locale,
          uniqueIdentifier: uniqueid,
          contentTitle: ctatitle,
          contentPath: pagePath,
          xfAuthoredPagePath: '',
          eventEndDate: eventenddate,
          eventType: eventType,
          campaignName: campaignName,
          primaryTag: primaryTag
        },
        captchaToken: token ? token : null,
        emailUniqueId: emailUniqueId
      };
    }
    if ((0,esm_typeof/* default */.A)(records) === 'object' &amp;&amp; !personalizationUtils/* default */.A.accountUtils.isLoggedIn()) {
      records.regSource = pageUrl;
      records.profileData.photoURL = photoUrl;
      records.profileData.profileURL = photoUrl;
      records.profileData.thumbnailURL = photoUrl;
      records.extendedUserData.registeredLocale = regLocale;
    }
    if (personObj) {
      UID = encodeURIComponent(personObj.UID);
      UIDSignature = encodeURIComponent(personObj.UIDSignature);
      signatureTimestamp = personObj.signatureTimestamp;
    } else {
      UID = null;
      UIDSignature = null;
      signatureTimestamp = null;
    }
    var url = "/userdata/userdataService/requestfge?uid=".concat(this.validateRegex(UID) ? null : UID, "&amp;uidSignature=").concat(UIDSignature, "&amp;signatureTimestamp=").concat(signatureTimestamp);
    (0,plus/* default */.A)('.loading-spinner').show();
    plus/* default */.A.ajax({
      url: url,
      type: 'POST',
      data: JSON.stringify(records),
      contentType: 'application/json;charset=UTF-8',
      success: function success(result) {
        if (result.errorCode === 0) {
          if (isgatedcontent === 'true') {
            window.digitalData.page.category.gatedContent = window.digitalData.page.category.gatedContent || {};
            window.digitalData.page.category.gatedContent.type = contenttype || 'pdf';
          }
          formTracking.track('FGE_Congratulations');
          defaultform.congratsModel.call(defaultform, result);
          //window.digitalData.form.missingValues = emptyFields;
          // analytics code- throws cosole error

          window.digitalData.user = window.digitalData.user || {};
          window.digitalData.user.gigyaID = result.UID;

          //already logged-in user has subscribed successfully
          if (UID) {
            window.digitalData.FGEName = ctatitle;
            formTracking.track('FGE_Log_User');
          }
        } else {
          genericErrorDialog/* default */.A.showDialog(result.status);
          (0,plus/* default */.A)('#' + genericErrorDialog/* default */.A.id).on('hidden.bs.modal', function () {
            (0,plus/* default */.A)('.module-formbuilder .submit-form:visible').focus();
          });
        }
        if (isgatedcontent === 'true') {
          window.digitalData.page.category.gatedContent = window.digitalData.page.category.gatedContent || {};
          window.digitalData.page.category.gatedContent.type = contenttype || 'pdf';
          if (contenttype === 'pdf' || contenttype === '') {
            window.digitalData.download = window.digitalData.download || {};
            window.digitalData.download.name = ctatitle;
          }
        }
        formTracking.track('FGE_Submit');
        var isGCPdf = contenttype === 'pdf' || contenttype === '' ? true : false;
        if (isgatedcontent === 'true' &amp;&amp; isGCPdf &amp;&amp; window.digitalData.download) {
          common_utils/* default */.A.clearObjectProperties([{
            currentObject: window.digitalData.download,
            removeProp: 'name'
          }]);
        }
      },
      error: function error(_error) {
        genericErrorDialog/* default */.A.showDialog(_error);
      }
    }).always(function () {
      (0,plus/* default */.A)('.loading-spinner').hide();
    });
  };
  var displayVideoMarkup = function displayVideoMarkup(data) {
    return /*#__PURE__*/(0,jsx_runtime.jsx)(fgevideo/* default */.A, {
      data: data
    });
  };
  function initializeFGEVideo(element) {
    var videoElement = element,
      audioVideoContainer = (0,plus/* default */.A)(videoElement).find('.gated-audiovideo-container'),
      ctaLinkObj = (0,plus/* default */.A)(videoElement).find('.cta-link'),
      mediaid = (0,plus/* default */.A)(videoElement).attr('data-mediaid'),
      readtoken = (0,plus/* default */.A)(videoElement).attr('data-readtoken'),
      playerkey = (0,plus/* default */.A)(videoElement).attr('data-playerkey'),
      pagelocale = (0,plus/* default */.A)(videoElement).attr('data-pagelocale');
    var data = {
      mediaid: mediaid,
      readtoken: readtoken,
      playerkey: playerkey,
      pagelocale: pagelocale,
      videoTitle: title
    };
    var videomarkup = displayVideoMarkup(data);
    if (videomarkup) {
      audioVideoContainer.html(server_browser.renderToStaticMarkup(videomarkup));
      setVideocheck(true);
      videoelem.current = videoElement;
    }
    (0,plus/* default */.A)(ctaLinkObj).remove();
  }
  (0,react.useEffect)(function () {
    if (videocheck === true) {
      var videoElement = videoelem.current,
        mediaid = (0,plus/* default */.A)(videoElement).attr('data-mediaid'),
        readtoken = (0,plus/* default */.A)(videoElement).attr('data-readtoken'),
        playerkey = (0,plus/* default */.A)(videoElement).attr('data-playerkey'),
        pagelocale = (0,plus/* default */.A)(videoElement).attr('data-pagelocale'),
        hidebctitle = (0,plus/* default */.A)(videoElement).attr('data-hidebctitle'),
        hidebcdesc = (0,plus/* default */.A)(videoElement).attr('data-hidebcdesc');
      initializeBrightcove(mediaid, readtoken, playerkey, pagelocale, videoElement, hidebctitle, hidebcdesc);
    }
    function initializeBrightcove(mediaId, readToken, playerKey, pageLocale, videoElement, hidebctitle, hidebcdesc) {
      var elementID = "audiovideo_".concat(mediaId);
      var brightCovePlayer = '';
      var videoName = '';
      var videoDescription = '';
      var brightCoveUrl = '';
      if (readToken) {
        brightCoveUrl = "//players.brightcove.net/".concat(readToken, "/").concat(playerKey, "_default/index.min");
        window.require.config({
          paths: {
            bcAudioVideo: brightCoveUrl
          }
        });
        window.require(['bcAudioVideo'], function () {
          var vTag = document.getElementById(elementID);
          if (vTag) {
            vTag.setAttribute('data-account', readToken);
            vTag.setAttribute('data-player', playerKey);
            vTag.setAttribute('data-video-id', mediaId);
          }
          // Use the bc() method to initialize the Brightcove Player

          bc(vTag);
          videojs(elementID).ready(function () {
            brightCovePlayer = this;
            //mediainfo available only after loadstart event
            brightCovePlayer.on('loadstart', function () {
              populateMediaInfo(brightCovePlayer.mediainfo);
            });
          });
        });
      }
      function populateMediaInfo(_ref2) {
        var name = _ref2.name,
          description = _ref2.description;
        videoName = name;
        videoDescription = description;
        brightCovePlayer.language(pageLocale);
        (0,plus/* default */.A)('.vjs-big-play-button', videoElement).attr('aria-label', videoName);
        if (videoName === null || videoName === undefined || videoName === '' || hidebctitle === 'true') {
          (0,plus/* default */.A)('.audiovideo-title', videoElement).remove();
        } else {
          (0,plus/* default */.A)('.audiovideo-title', videoElement).text(videoName);
        }
        if (videoDescription === null || videoDescription === undefined || videoDescription === '' || hidebcdesc === 'true') {
          (0,plus/* default */.A)('.audiovideo-description', videoElement).remove();
        } else {
          (0,plus/* default */.A)('.audiovideo-description', videoElement).text(videoDescription);
        }
      }
    }
  }, [videocheck]);
  var displayVideoGalleryMarkup = function displayVideoGalleryMarkup(data) {
    return /*#__PURE__*/(0,jsx_runtime.jsx)(fgevideogallery/* default */.A, {
      data: data
    });
  };
  function initializeFGEVideoGallery(element) {
    var videoGalleryContainer = (0,plus/* default */.A)(element).find('.gated-videogallery-container'),
      experienceId = (0,plus/* default */.A)(element).attr('data-experienceid'),
      accountId = (0,plus/* default */.A)(element).attr('data-account'),
      data = {
        experienceId: experienceId,
        readToken: accountId
      };
    var videogallerymarkup = displayVideoGalleryMarkup(data);
    if (videogallerymarkup) {
      videoGalleryContainer.html(server_browser.renderToStaticMarkup(videogallerymarkup));
    }
    (0,plus/* default */.A)('.cta-link', element).remove();
    if (accountId) {
      initializeBrightcoveGallery(experienceId, accountId);
    }
  }
  function initializeBrightcoveGallery(experienceId, accountId) {
    var brightCoveUrl = "//players.brightcove.net/".concat(accountId, "/experience_").concat(experienceId, "/live.js"),
      brightCoveScript = document.createElement('script');
    brightCoveScript.src = brightCoveUrl;
    document.body.appendChild(brightCoveScript);
    var galleryPlayer = (0,plus/* default */.A)("#bc-embed-".concat(experienceId));
    galleryPlayer.on('DOMSubtreeModified', function () {
      (0,plus/* default */.A)(this).parent().find('.web-spinner').hide();
    });
  }
  DefaultForm.prototype.congratsModel = function (result) {
    this.formbuilder.handle_cancelButtonClicked();
    var modalCheck = false;
    var url = window.kpmgPersonalize.urlmapping.fgeCongrats,
      $kpmgModalInstance;
    url = window.kpmgPersonalize.misc.isAuthor ? url : url.replace('/content/kpmgpublic', '');
    window.kpmg.modalOpenerUrl = url;
    (0,plus/* default */.A)('html, body').animate({
      scrollTop: 0
    }, 'slow', function () {
      if (!modalCheck) {
        $kpmgModalInstance = bootstrap5/* default */.A.Modal.getOrInitInstance((0,plus/* default */.A)('#kpmgModal').get(0), {
          backdrop: 'static',
          keyboard: false
        });
        $kpmgModalInstance.remote(url);
        (0,plus/* default */.A)('#kpmgModal').data('modalUrl', url);
      }
      modalCheck = true;
    });
    (0,plus/* default */.A)('#kpmgModal').on('show.bs.modal', function () {
      (0,plus/* default */.A)('#kpmgModal').attr({
        'aria-labelledby': 'congrats-title-header',
        'aria-describedby': 'congrats-description-header'
      });
    });
    (0,plus/* default */.A)('#kpmgModal').on('shown.bs.modal', function () {
      setTimeout(function () {
        (0,plus/* default */.A)('#kpmgModal').on('click', function (e) {
          if (!(0,plus/* default */.A)(e.target).closest('.modal-content').length) {
            (0,plus/* default */.A)('.fge-congratulations-modal').parents('.modal-content').find('.btn-close').trigger('click');
          }
        });
        (0,plus/* default */.A)('#kpmgModal').on('keydown', function (e) {
          if (e.which === 27) {
            (0,plus/* default */.A)('.fge-congratulations-modal').parents('.modal-content').find('.btn-close').trigger('click');
          }
        });
        (0,plus/* default */.A)('.fge-congratulations-modal .congrats-close').css('display', 'block');
        (0,plus/* default */.A)('.fge-congratulations-modal').parents('.modal-content').find('.btn-close').on('blur', function (e) {
          (0,plus/* default */.A)(e.target).removeClass('focusOutline');
        }).on('focus', function (e) {
          (0,plus/* default */.A)(e.target).addClass('focusOutline');
        }).focus().addClass('congrats-close-button');
      }, 300);
    });
    (0,plus/* default */.A)('#kpmgModal').on('hide.bs.modal', function () {
      (0,plus/* default */.A)('#kpmgModal').removeAttr('aria-labelledby aria-describedby');
    });
    (0,plus/* default */.A)('#kpmgModal').on('hidden.bs.modal', function () {
      (0,plus/* default */.A)('.desktop-navbar-component .logo-image-component').focus();
    });
    if (navigator.userAgent.indexOf('Trident/') &gt; -1) {
      (0,plus/* default */.A)("body[class*='navigation-v2']").attr('style', 'position: relative !important');
    }
    if (result.fgeId) {
      var ctaid = ".".concat(result.fgeId),
        isGatedContent = isgatedcontent === 'true' ? true : false,
        gatedContentType = contenttype,
        isGatedVideo = gatedContentType === 'video' ? true : false,
        isGatedVideoGallery = gatedContentType === 'videogallery' ? true : false,
        isGatedOtherAssets = gatedContentType === 'otherassets' ? true : false,
        isGatedPDF = isGatedContent &amp;&amp; (gatedContentType === 'pdf' || gatedContentType === '') ? true : false;
      (0,plus/* default */.A)(ctaid).find('.registered').show();
      (0,plus/* default */.A)(ctaid).find('.componentTitle').removeClass('line-clamp').hide();
      if (personalizationUtils/* default */.A.accountUtils.isLoggedIn() &amp;&amp; isfastsubscription) {
        (0,plus/* default */.A)(ctaid).find('.subscriptionslink').show();
        (0,plus/* default */.A)(ctaid).removeAttr('role');
        (0,plus/* default */.A)(ctaid).removeAttr('tabindex');
        (0,plus/* default */.A)(ctaid).find('.contentContainer').attr('aria-hidden', 'false');
      }
      var personObj = personalizationUtils/* default */.A.accountUtils.getInfo();
      if (isGatedContent) {
        if (personObj) {
          if (personObj.isVerified) {
            var _element = (0,plus/* default */.A)(ctaid).parents('.module-fge-cta');
            if (isGatedPDF) {
              (0,plus/* default */.A)(ctaid).find('.downloadnow').show();
            }
            if (isGatedOtherAssets) {
              var assetsTitle = (0,plus/* default */.A)(ctaid).attr('aria-label') || '',
                otherAssetsDivElement = (0,plus/* default */.A)(ctaid).find('.contentContainer');
              otherAssetsDivElement.replaceWith("&lt;a href=\"javascript:void(0)\" class=\"contentContainer\" title=\"".concat(assetsTitle, "\"&gt;").concat(otherAssetsDivElement.html(), "&lt;/a&gt;"));
              (0,plus/* default */.A)(ctaid).find('.viewContent').show();
            }
            if (isGatedVideo) {
              initializeFGEVideo(_element);
            }
            if (isGatedVideoGallery) {
              initializeFGEVideoGallery(_element);
            }
            (0,plus/* default */.A)(ctaid).find('.registered').hide();
            (0,plus/* default */.A)(ctaid).find('.componentTitle').hide();
            (0,plus/* default */.A)(ctaid).css('cursor', 'pointer');
            (0,plus/* default */.A)(ctaid).attr('gcuserverified', 'true');
            window.digitalData.user.hasToken = 'True';
          } else {
            (0,plus/* default */.A)(ctaid).off('click keydown focus');
            (0,plus/* default */.A)(ctaid).css('cursor', 'default');
          }
        } else {
          (0,plus/* default */.A)(ctaid).off('click keydown focus');
          (0,plus/* default */.A)(ctaid).css('cursor', 'default');
        }
      } else {
        (0,plus/* default */.A)(ctaid).off('click keydown focus');
        (0,plus/* default */.A)(ctaid).css('cursor', 'default');
      }
      common_utils/* default */.A.runTimeClampLines((0,plus/* default */.A)(ctaid).parents('.module-fge-cta'));
      if (personObj) {
        var me = this.formbuilder;
        window.gigya.accounts.getAccountInfo({
          include: personalizationUtils/* default */.A.constants.UserAccountIncludes.join(','),
          extraProfileFields: personalizationUtils/* default */.A.constants.IPGFilter.join(','),
          callback: function callback(response) {
            if (response.errorCode === 0) {
              var IPGFilteredData = personalizationUtils/* default */.A.accountUtils.IPGFilter(response);
              window.gigya.accounts.setAccountInfo({
                profile: lodash_default().extend(IPGFilteredData.profile, {
                  photoURL: "".concat(window.location.origin, "/content/dam/kpmg/images/platform/KPMG.png"),
                  profileURL: "".concat(window.location.origin, "/content/dam/kpmg/images/platform/KPMG.png"),
                  thumbnailURL: "".concat(window.location.origin, "/content/dam/kpmg/images/platform/KPMG.png")
                }),
                callback: function callback(setAccResponse) {
                  if (setAccResponse.errorCode === 0) {
                    personalizationUtils/* default */.A.accountUtils.setInfo(IPGFilteredData);
                    me.setUserLibrary(IPGFilteredData, function (response) {
                      if (response.responseCode === 200) {
                        personalizationUtils/* default */.A.storeUtils.setUserLibrary(response);
                      } else {
                        genericErrorDialog/* default */.A.showDialog(response);
                      }
                    });
                  } else {
                    genericErrorDialog/* default */.A.showDialog(response);
                  }
                }
              });
            } else {
              genericErrorDialog/* default */.A.showDialog();
            }
          }
        });
      }
      if (sessionStorage.getItem('ctaids')) {
        var ctas = sessionStorage.getItem('ctaids') || '[]';
        var ctaids = JSON.parse(ctas);
        ctaids.push(result.fgeId);
        sessionStorage.setItem('ctaids', JSON.stringify(ctaids));
      }
    }
  };
  DefaultForm.prototype.setup_eventHandlers = function () {
    var _this4 = this;
    this.$submitButton.on('click', this.validate.bind(this));
    this.$textFields.on('blur', this.validateTheVisitedInputFields.bind(this));
    this.$submitButton.on('keydown', function (e) {
      if (e.keyCode == 13 || e.keyCode == 32) {
        _this4.$submitButton.trigger('click');
      }
    });
    this.$radioFields.on('click', this.radioClick.bind(this));
    this.$radioFields.on('keyup', function (evt) {
      (0,plus/* default */.A)(evt.target).next().addClass('focusOutline');
    }).on('blur', function (evt) {
      (0,plus/* default */.A)(evt.target).next().removeClass('focusOutline');
    });
    (0,plus/* default */.A)('.first-fge-trap').on('focus', function () {
      (0,plus/* default */.A)('.submit-form:visible').focus();
    });
    this.$lastTrap.on('focus', function () {
      return (0,plus/* default */.A)('.cancelButton:visible').find('button').focus();
    });
  };
  DefaultForm.prototype.autofill_dataFields = function (data) {
    // eslint-disable-next-line @typescript-eslint/no-this-alias
    var me = this;
    this.$formFields.each(function () {
      if (this.name === 'salutation' &amp;&amp; data.salutation) {
        var salutationValues = salutation;
        salutationValues = salutationValues.replace(/[\[\]\s]/g, '').split(',');
        if (salutationValues.indexOf(data.salutation) &gt; -1) {
          me.autoFillCount++;
          (0,plus/* default */.A)(this).val(data.salutation).trigger('change');
        }
      }
      if (this.name === 'website' &amp;&amp; data.websiteURL) {
        me.autoFillCount++;
        this.value = data.websiteURL;
      }
      if (this.name === 'linkedinlink' &amp;&amp; data.linkedInProfile) {
        me.autoFillCount++;
        this.value = data.linkedInProfile;
      }
      if (this.name === 'twitterlink' &amp;&amp; data.twitterProfile) {
        me.autoFillCount++;
        this.value = data.twitterProfile;
      }
      if (this.name === 'role' &amp;&amp; data.roleOrDesignation) {
        me.autoFillCount++;
        this.value = data.roleOrDesignation;
      }
      (0,plus/* default */.A)(this).trigger('input');
      var $input = (0,plus/* default */.A)(this),
        hasValue = $input.val(),
        isRequired = $input.get(0).required,
        errorClass = 'errorfield',
        hideErrorMessageClass = 'hide-errormsg',
        $errorDiv = $input.siblings('.error-message');
      if (isRequired &amp;&amp; hasValue) {
        $input.removeClass(errorClass);
        $errorDiv.addClass(hideErrorMessageClass);
      } else if (isRequired &amp;&amp; !hasValue) {
        $input.addClass(errorClass);
        $errorDiv.removeClass(hideErrorMessageClass);
      }
    });
  };
  DefaultForm.prototype.autofill_profileFields = function (profile) {
    // eslint-disable-next-line @typescript-eslint/no-this-alias
    var me = this;
    this.$formFields.each(function () {
      if (this.type === 'email' &amp;&amp; profile.email) {
        me.autoFillCount++;
        this.value = profile.email;
      }
      if (this.name === 'country' &amp;&amp; profile.country) {
        me.autoFillCount++;
        (0,plus/* default */.A)(this).val(profile.country).trigger('change');
      }
      if (this.name === 'firstname' &amp;&amp; profile.firstName) {
        me.autoFillCount++;
        this.value = profile.firstName;
      }
      if (this.name === 'lastname' &amp;&amp; profile.lastName) {
        me.autoFillCount++;
        this.value = profile.lastName;
      }
      if (this.name === 'city' &amp;&amp; profile.city) {
        me.autoFillCount++;
        if (profile.city === 'NA') {
          this.value = '';
        } else {
          this.value = profile.city;
        }
      }
      if (this.name === 'state' &amp;&amp; profile.state) {
        me.autoFillCount++;
        if (profile.state === 'NA') {
          this.value = '';
        } else {
          this.value = profile.state;
        }
      }
      if (profile.phones) {
        if (this.name === 'phone' &amp;&amp; profile.phones[0].number) {
          me.autoFillCount++;
          this.value = profile.phones[0].number;
        }
      }
      if (profile.work) {
        if (this.name === 'company' &amp;&amp; profile.work[0].company) {
          me.autoFillCount++;
          this.value = profile.work[0].company;
        }
        if (this.name === 'employeecount' &amp;&amp; profile.work[0].companySize) {
          me.autoFillCount++;
          this.value = profile.work[0].companySize;
        }
        if (this.name === 'role' &amp;&amp; profile.work[0].title) {
          me.autoFillCount++;
          this.value = profile.work[0].title;
        }
      }
      (0,plus/* default */.A)(this).trigger('input');
      var $input = (0,plus/* default */.A)(this),
        hasVal = $input.val(),
        isRequired = $input.get(0).required,
        errorClass = 'errorfield',
        hideErrorMessageClass = 'hide-errormsg',
        $errorDiv = $input.siblings('.error-message');
      if (isRequired &amp;&amp; hasVal) {
        $input.removeClass(errorClass);
        $errorDiv.addClass(hideErrorMessageClass);
      } else if (isRequired &amp;&amp; !hasVal) {
        $input.addClass(errorClass);
        $errorDiv.removeClass(hideErrorMessageClass);
      }
    });
  };
  DefaultForm.prototype.autofill_subscriptions = function (subscriptions) {
    var pagePath = pagepath;
    var locale = pagePath.slice(19, 25);
    var site = locale.slice(1, 3);
    var lang = locale.slice(4);
    var terms, termsone, termstwo;
    for (var key in subscriptions) {
      if (key === site) {
        var _loop = function _loop() {
          if (loc === lang) {
            var obj = subscriptions[key][loc];
            Object.keys(obj).map(function (key) {
              if (key === 'terms') {
                terms = obj[key].email.isSubscribed;
              } else if (key === 'subscription_opt_in') {
                termsone = obj[key].email.isSubscribed;
              } else if (key === 'communication_opt_in') {
                termstwo = obj[key].email.isSubscribed;
              }
            });
          }
        };
        for (var loc in subscriptions[key]) {
          _loop();
        }
      }
    }
    this.$checkbox.each(function () {
      if (this.name === 'termsAndConditions1' &amp;&amp; terms === true) {
        (0,plus/* default */.A)(this).attr('checked', true);
        (0,plus/* default */.A)(this).parent().empty();
      }
      if (this.name === 'termsAndConditions2' &amp;&amp; termsone === true) {
        (0,plus/* default */.A)(this).attr('checked', true);
        (0,plus/* default */.A)(this).parent().empty();
      }
      if (this.name === 'termsAndConditions3' &amp;&amp; termstwo === true) {
        (0,plus/* default */.A)(this).attr('checked', true);
        (0,plus/* default */.A)(this).parent().empty();
      }
    });
  };
  DefaultForm.prototype.autofill = function () {
    try {
      var accountInfo = this.formbuilder.FGEUser.accountInfo;
      var data = accountInfo.data;
      var profile = accountInfo.profile;
      var subscriptions = accountInfo.subscriptions;
      if (profile) this.autofill_profileFields.call(this, profile);
      if (data) this.autofill_dataFields.call(this, data);
      if (subscriptions) this.autofill_subscriptions.call(this, subscriptions);
    } catch (e) {
      console.log('error in ', this.constructor.name, e);
    }
  };
  DefaultForm.prototype.slideIn = function () {
    this.$elem.addClass('slideInRight').removeClass('slideOutLeft');
  };
  DefaultForm.prototype.disable_emailField = function () {
    this.$emailField.get(0).disabled = true;
  };
  DefaultForm.prototype.setup_dynamicSelectCountryFields = function (idx, elem) {
    this.dynamicSelectCountryFields = this.dynamicSelectCountryFields || {};
    this.dynamicSelectCountryFields[idx] = new DynamicSelectCountryField(elem, this);
    this.dynamicSelectCountryFields[idx].init();
  };
  DefaultForm.prototype.setup_formForRegisteredUser = function () {
    this.slideIn();
    //this.kpmgGrecaptcha.show();
    this.disable_emailField();
    this.autofill();
    this.focus_firstTextField();
    this.validateTheVisitedInputFields();
  };
  DefaultForm.prototype.setup_customCheckboxes = function (idx, checkboxElem) {
    this.customCheckboxes = this.customChekboxes || {};
    this.customCheckboxes[idx] = new CustomCheckbox(checkboxElem, this);
    this.customCheckboxes[idx].init();
  };
  var CustomPlaceholder = function CustomPlaceholder(el) {
    this.el = el;
    this.$el = (0,plus/* default */.A)(el);
    this.$placeholder = (0,plus/* default */.A)('.custom-placeholder', el);
    this.init();
  };
  CustomPlaceholder.prototype.init = function () {
    this.$el.on('input', this.handle_inputEvt.bind(this));
  };
  CustomPlaceholder.prototype.handle_inputEvt = function (evt) {
    if (evt.target.value) this.$placeholder.hide();else this.$placeholder.show();
  };
  var CustomCheckbox = function CustomCheckbox(elem, defaultForm) {
    var $customCheckbox = (0,plus/* default */.A)(elem);
    this.elem = elem;
    this.defaultForm = defaultForm;
    this.$checkbox = $customCheckbox.find('input[type=checkbox]');
    this.$checkboxButton = $customCheckbox.find('button.custom-checkbox');
    this.$iconCheckmark = $customCheckbox.find('span.icon-checkmark');
  };
  CustomCheckbox.prototype.isChecked = function () {
    try {
      var isChecked = this.$checkbox.attr('checked') === '' || this.$checkbox.attr('checked') === 'true' ? true : false;
      return isChecked;
    } catch (e) {
      console.log("error in isChecked".concat(e));
    }
  };
  CustomCheckbox.prototype.setInitialStateOfCheckbox = function () {
    if (this.isChecked()) this.$iconCheckmark.show();else this.$iconCheckmark.hide();
    var txt = this.$checkboxButton.attr('aria-label') ? this.$checkboxButton.attr('aria-label').replace(/(&lt;([^&gt;]+)&gt;)/gi, '').trim() : '';
    if (txt) {
      this.$checkboxButton.attr('aria-label', txt);
    }
  };
  CustomCheckbox.prototype.handle_checkboxClicked = function () {
    var $checkbox = this.$checkbox;
    if (this.isChecked()) {
      $checkbox.attr('checked', false);
      (0,plus/* default */.A)(this.$checkboxButton).attr('aria-checked', 'false');
      if ($checkbox.prop('required')) {
        this.$checkboxButton.addClass('errorField');
        this.$checkboxButton.parent().prev().removeClass('hide-errormsg');
        if ($checkbox.attr('name') === 'termsAndConditions1') {
          this.$checkboxButton.parent().prev().html(window.kpmgPersonalize.i18n.gigyaMsgs.kpmg_error_tc_authored_msg_tc1);
        }
        if ($checkbox.attr('name') === 'termsAndConditions2') {
          this.$checkboxButton.parent().prev().html(window.kpmgPersonalize.i18n.gigyaMsgs.kpmg_error_tc_authored_msg_tc2);
        }
        if ($checkbox.attr('name') === 'termsAndConditions3') {
          this.$checkboxButton.parent().prev().html(window.kpmgPersonalize.i18n.gigyaMsgs.kpmg_error_tc_authored_msg_tc3);
        }
      }
      this.$iconCheckmark.hide();
    } else {
      $checkbox.attr('checked', true);
      (0,plus/* default */.A)(this.$checkboxButton).attr('aria-checked', 'true');
      this.$checkboxButton.removeClass('errorField');
      this.$checkboxButton.parent().prev().addClass('hide-errormsg');
      this.$checkboxButton.parent().prev().html('');
      this.$iconCheckmark.show();
    }
  };
  CustomCheckbox.prototype.init = function () {
    this.$checkboxButton.click(this.handle_checkboxClicked.bind(this));
    this.setInitialStateOfCheckbox();
  };
  var DynamicSelectCountryField = function DynamicSelectCountryField(elem, defaultform) {
    this.elem = elem;
    this.parent = this.defaultForm = defaultform;
    this.$select = (0,plus/* default */.A)(this.elem);
  };
  DynamicSelectCountryField.prototype.init = function () {
    // eslint-disable-next-line @typescript-eslint/no-this-alias
    var dynamicSelect = this;
    dynamicSelect.setup_placeholderStyles();
    this.promise_countryList().then(dynamicSelect.setDynamicOptions.bind(this));
  };
  DynamicSelectCountryField.prototype.refine_countriesList = function (countriesList) {
    try {
      countriesList = lodash_default().map(countriesList.category[0].category, 'category');
      countriesList = function (finalList) {
        countriesList.forEach(function (item) {
          finalList = finalList.concat(item);
        });
        finalList = lodash_default().sortBy(finalList, 'name');
        finalList = lodash_default().map(finalList, function (item) {
          return {
            sitecode: item.isoCode,
            isocode: item.isoCode,
            countryname: item.name
          };
        });
        return finalList;
      }([]);
      return countriesList;
    } catch (e) {
      console.log('error in refine_countriesList', e);
    }
  };
  DynamicSelectCountryField.prototype.promise_countryList = function () {
    var languageCode = window.kpmgPersonalize &amp;&amp; window.kpmgPersonalize.snp &amp;&amp; window.kpmgPersonalize.snp.params &amp;&amp; window.kpmgPersonalize.snp.params.languageCode || '';
    var countriesListURL = '/bin/kpmg/listAllCountries.'.concat(languageCode).concat('.json');
    return plus/* default */.A.ajax({
      url: countriesListURL
    });
  };
  DynamicSelectCountryField.prototype.setup_placeholderStyles = function () {
    var $select = (0,plus/* default */.A)(this.elem);
    this.set_selectElemColorBasedOnValue.call(this);
    $select.on('change', this.set_selectElemColorBasedOnValue.bind(this));
  };
  DynamicSelectCountryField.prototype.setDynamicOptions = function (optionValues) {
    optionValues.forEach(this.iterate_optionValues.bind(this));
    this.try_toUpdateCountryField();
  };
  DynamicSelectCountryField.prototype.iterate_optionValues = function (optionObj) {
    var option = "&lt;option value=\"".concat(optionObj.countryname, "\"&gt;").concat(optionObj.countryname, "&lt;/option&gt;");
    (0,plus/* default */.A)(this.$select).append(option);
  };
  DynamicSelectCountryField.prototype.try_toUpdateCountryField = function () {
    try {
      var userCountry = this.defaultForm.formbuilder.FGEUser.accountInfo.profile.country;
      if (userCountry &amp;&amp; this.$select.attr('name') === 'country') {
        this.$select.val(userCountry).trigger('change');
        this.$select.removeClass('errorfield');
        this.$select.siblings('.error-message').addClass('hide-errormsg');
      }
    } catch (e) {
      if (e.message === "Cannot read property 'country' of undefined") return;else console.log('error in : ', this.constructor.name, e);
    }
  };
  DynamicSelectCountryField.prototype.set_elemColor = function (color) {
    (0,plus/* default */.A)(this.elem).css({
      color: color
    });
  };
  DynamicSelectCountryField.prototype.set_selectElemColorBasedOnValue = function () {
    var color = {
      black: '#000',
      gray: '#ccc'
    };
    if (this.elem.value) this.set_elemColor.call(this, color.black);else this.set_elemColor.call(this, color.gray);
  };
  var ExistingUserLoginForm = function ExistingUserLoginForm(elem, loginID, formbuilder) {
    var recaptchaContainerID = 'formbuilder-loginform-g-recaptcha-container';
    this.elem = elem;
    this.parent = this.formbuilder = formbuilder;
    this.$elem = (0,plus/* default */.A)(elem);
    this.loginID = loginID;
    this.$emailField = (0,plus/* default */.A)('[type=email]', elem);
    this.$passwordField = (0,plus/* default */.A)('[type=password][name=password]', elem);
    this.$passwordWrapper = (0,plus/* default */.A)('.password-field', elem);
    this.$passwordValidationDiv = (0,plus/* default */.A)('.password-field .validation-message', elem);
    this.$passwordValidationData = (0,plus/* default */.A)('.password-field .validation-message', elem).data();
    this.$cancelButton = (0,plus/* default */.A)(elem).find('.cancelButton');
    this.$loginButtons = (0,plus/* default */.A)(elem).find('.login-button');
    this.$siteLoginButton = (0,plus/* default */.A)(elem).find('.login-button[data-provider=site] button', elem);
    // remove existing if available and set a new container on initialization.
    (0,plus/* default */.A)('#' + 'formbuilder-loginform-g-recaptcha-container').remove();
    this.$recaptchaContainer = (0,plus/* default */.A)('&lt;div&gt;', {
      id: recaptchaContainerID
    }).appendTo('body');
  };
  ExistingUserLoginForm.prototype.init = function () {
    // const kpmgGrecaptcha = this.parent.defaultForm.kpmgGrecaptcha
    this.autofill_loingID();
    this.setup_loginButtons();
    this.$passwordValidationDiv.hide();
    var defaultForm = new DefaultForm(this.formbuilder, this);
    (0,plus/* default */.A)('.custom-placeholder-wrapper, .custom-placeholder-wrapper-textarea', this.elem).each(defaultForm.setup_customPlaceholders.bind(this));
    setTimeout(function () {
      (0,plus/* default */.A)('[type="password"][name="password"]:visible').focus();
    }, 0);
    this.$passwordField.on('keyup', this.handle_keyUp.bind(this));
  };
  ExistingUserLoginForm.prototype.handle_keyUp = function (evt) {
    if (evt.keyCode === 13) {
      evt.preventDefault();
      this.$siteLoginButton.click();
    }
  };
  ExistingUserLoginForm.prototype.autofill_loingID = function () {
    this.$emailField.val(this.loginID);
  };
  ExistingUserLoginForm.prototype.setup_loginButtons = function () {
    this.$loginButtons.each(this.iterateLoginButtons.bind(this));
  };
  ExistingUserLoginForm.prototype.iterateLoginButtons = function (idx, elem) {
    new LoginButton(elem, this);
  };
  var LoginButton = function LoginButton(elem, existingUserLoginForm) {
    this.$el = (0,plus/* default */.A)(elem);
    this.parent = this.existingUserLoginForm = existingUserLoginForm;
    this.$button = (0,plus/* default */.A)('button', elem);
    this.provider = (0,plus/* default */.A)(elem).attr('data-provider');
    this.$button.on('click', this.handle_loginCTAClick.bind(this));
    (0,plus/* default */.A)('.forgotPasswordLink', this.parent.elem).on('keyup', function (e) {
      if (e.keyCode === 13) {
        (0,plus/* default */.A)(e.currentTarget).trigger('click');
      }
      (0,plus/* default */.A)(e.currentTarget).addClass('focusOutline');
    }).on('blur', function (e) {
      (0,plus/* default */.A)(e.currentTarget).removeClass('focusOutline');
    });
  };
  LoginButton.prototype.handle_loginCTAClick = function () {
    if (this.provider !== 'site') this.initialize_socialLogin();else if (this.provider == 'site') this.initialize_siteLogin();
  };
  LoginButton.prototype.initialize_socialLogin = function () {
    window.gigya.accounts.socialLogin({
      provider: this.provider
      //callback: this.handle_userLoginCallback.bind(this)
    });
    (0,plus/* default */.A)(document).on('click', '.mygigya-link.privacy-statement', function (e) {
      e.preventDefault();
      var path = '/' + window.countryCode + '/' + window.langCode;
      window.open(path + '/home/misc/privacy.html', '_blank');
    });
    //analytics code:
    window.digitalData.Profile = window.digitalData.Profile || {};
    var signInMethod;
    if (this.provider.indexOf('linkedin') &gt; -1) signInMethod = 'LinkedIn';else if (this.provider.toLowerCase().indexOf('twitter') &gt; -1) signInMethod = 'Twitter';else if (this.provider.toLowerCase().indexOf('google') &gt; -1) signInMethod = 'GooglePlus';else if (this.provider.toLowerCase().indexOf('facebook') &gt; -1) signInMethod = 'Facebook';
    window.digitalData.Profile.SignInMethod = signInMethod;
  };
  LoginButton.prototype.initialize_siteLogin = function () {
    var config = {
      loginID: this.existingUserLoginForm.$emailField.val(),
      password: this.existingUserLoginForm.$passwordField.val(),
      callback: this.handle_userLoginCallback.bind(this)
    };
    window.gigya.accounts.login(config);

    //analytics code:
    window.digitalData.Profile = window.digitalData.Profile || {};
    var signInMethod = 'Login Form';
    window.digitalData.Profile.SignInMethod = signInMethod;
  };
  LoginButton.prototype.handle_userLoginCallback = function (res) {
    try {
      var $kpmgModal = (0,plus/* default */.A)('#kpmgModal');
      var $kpmgModalInstance;
      var url = window.kpmgPersonalize.urlmapping.fgeError;
      url = window.kpmgPersonalize.misc.isAuthor ? url : url.replace('/content/kpmgpublic', '');
      if (res &amp;&amp; res.status === 'FAIL') {
        if (res.errorCode === 403120 &amp;&amp; this.existingUserLoginForm.$passwordValidationData.accountLocked) {
          this.existingUserLoginForm.$passwordValidationDiv.html(this.existingUserLoginForm.$passwordValidationData.accountLocked);
          $kpmgModal.data('account-locked', true);
          window.kpmg.modalOpenerUrl = url;
          (0,plus/* default */.A)('html, body').animate({
            scrollTop: 0
          }, 'slow', function () {
            $kpmgModalInstance = bootstrap5/* default */.A.Modal.getOrInitInstance($kpmgModal.get(0), {
              backdrop: 'static',
              keyboard: false
            });
            $kpmgModalInstance.remote(url);
            $kpmgModal.data('modalUrl', url);
          });
          (0,plus/* default */.A)('#kpmgModal').on('shown.bs.modal', function () {
            setTimeout(function () {
              (0,plus/* default */.A)('#kpmgModal').on('click', function (e) {
                if (!(0,plus/* default */.A)(e.target).closest('.modal-content').length) {
                  (0,plus/* default */.A)('.module-fge-error-modal').parents('.modal-content').find('.btn-close').trigger('click');
                }
              });
              (0,plus/* default */.A)('#kpmgModal').on('keydown', function (e) {
                if (e.which === 27) {
                  (0,plus/* default */.A)('.module-fge-error-modal').parents('.modal-content').find('.btn-close').trigger('click');
                }
              });
              (0,plus/* default */.A)('.module-fge-error-modal .congrats-close').css('display', 'block');
              (0,plus/* default */.A)('.module-fge-error-modal').parents('.modal-content').find('.btn-close').on('blur', function (e) {
                (0,plus/* default */.A)(e.target).removeClass('focusOutline');
              });
              (0,plus/* default */.A)('.module-fge-error-modal').parents('.modal-content').find('.btn-close').on('focus', function (e) {
                (0,plus/* default */.A)(e.target).addClass('focusOutline');
              });
              (0,plus/* default */.A)('.module-fge-error-modal').parents('.modal-content').find('.btn-close').addClass('error-close-button').focus();
            }, 500);
          });
        } else if (res.errorCode === 403041 &amp;&amp; this.existingUserLoginForm.$passwordValidationData.accountDisabled) {
          this.existingUserLoginForm.$passwordValidationDiv.html(this.existingUserLoginForm.$passwordValidationData.accountDisabled);
        } else if (this.existingUserLoginForm.$passwordValidationData.wrongPassword) {
          this.existingUserLoginForm.$passwordValidationDiv.html(this.existingUserLoginForm.$passwordValidationData.wrongPassword);
        }
        this.existingUserLoginForm.$passwordValidationDiv.css({
          visibility: 'visible',
          display: 'block'
        });
        this.existingUserLoginForm.$passwordValidationDiv.nextAll('input').focus();
      }
    } catch (e) {
      console.log('Error in handling_userLoginCallback ', this.constructor.name, e);
    }
  };
  relatedSubscription.prototype.init = function () {
    var isSubscribed = true;
    // eslint-disable-next-line @typescript-eslint/no-this-alias
    var _self = this;
    var subscriptionId = '';
    var localeSubscriptions = [];
    if (this.$relatedSubsContainer.length &amp;&amp; !!this.$relatedSubsIds) {
      this.$relatedSubsIdArray = !!this.$relatedSubsIds ? this.$relatedSubsIds.split(',') : [];
      _self.getAllSubscriptionsData(function (response) {
        if (response.status === 200 &amp;&amp; response.data) {
          if (Array.isArray(response.data.subscription)) {
            localeSubscriptions = response.data.subscription;
          } else if (Array.isArray(response.data.groupList)) {
            localeSubscriptions = response.data.groupList.reduce(function (accumulator, val) {
              if (Array.isArray(val.subscriptions)) {
                accumulator = accumulator.concat(val.subscriptions);
              }
              return accumulator;
            }, []);
          }
          plus/* default */.A.each(_self.$relatedSubsIdArray, function (index, value) {
            subscriptionId = value.trim();
            isSubscribed = _self.isAlreadySubscribed(subscriptionId);
            if (!isSubscribed) {
              _self.relatedSubscriptionArray(subscriptionId, localeSubscriptions);
            }
          });
          _self.createRelatedSubsHTML();
        }
      });
    }
  };
  relatedSubscription.prototype.createRelatedSubsHTML = function () {
    this.$relatedSubsObject.results = this.$relatedSubsArray;
    if (this.$relatedSubsObject.results.length &gt; 0) {
      var markup = '';
      this.$relatedSubsObject.results.forEach(function (item) {
        markup += "&lt;div class=\"related-subscription\" data-subscription-id=\"".concat(item.gigyaMapping, "\" data-external-id=\"").concat(item.externalid, "\" data-frequency=\"").concat(item.frequency, "\" data-title=\"").concat(item.title, "\" tabindex=\"0\" aria-checked=\"false\" role=\"checkbox\"&gt;&lt;span class=\"icon-close\"&gt;&lt;/span&gt;&lt;div class=\"subscription-title\"&gt;").concat(item.title, "&lt;/div&gt;&lt;div class=\"subscription-desc\"&gt;").concat(item.description, "&lt;/div&gt;&lt;/div&gt;");
      });
      this.$relatedSubsContainer.append(markup);
    }
    this.$relatedSubsElements = this.$relatedSubsContainer.find('.related-subscription');
    if (this.$relatedSubsElements.length &gt; 0) {
      this.$relatedSubsElements.last().addClass('last');
      this.$relatedSubsElements.on('click', this.handle_relatedSubsClick.bind(this));
      this.$relatedSubsElements.on('keypress', function (e) {
        var keyCode = e.which || e.keyCode;
        if (keyCode === 13) {
          (0,plus/* default */.A)(this).trigger('click');
        }
      });
    } else {
      this.$relatedSubsContainer.hide();
    }
  };
  relatedSubscription.prototype.relatedSubscriptionArray = function (subid, subData) {
    var relatedSubscriptionData = subData,
      // eslint-disable-next-line @typescript-eslint/no-this-alias
      _self = this;
    plus/* default */.A.each(relatedSubscriptionData, function (index, subs) {
      if (subs.gigyamapping) {
        subs.gigyaMapping = subs.gigyamapping;
      }
      if (subs.gigyaMapping === subid) {
        _self.$relatedSubsArray.push(subs);
      }
    });
  };
  relatedSubscription.prototype.getAllSubscriptionsData = function (cb) {
    var languageCode = window.langCode,
      countryCode = window.countryCode,
      localeStr = ".".concat(countryCode, ".").concat(languageCode),
      ajaxUrl = "/bin/kpmg/subscriptions".concat(localeStr, ".json");
    plus/* default */.A.ajax({
      dataType: 'json',
      url: ajaxUrl,
      success: cb,
      error: function error(obj, msg, err) {
        console.log('could not fetch locale subscriptions ', err.message, err);
      }
    });
  };
  relatedSubscription.prototype.isAlreadySubscribed = function (subId) {
    var userInfo = this.$parent.FGEUser.accountInfo;
    var userSubscriptions;
    var langCode = window.langCode;
    var countryCode = window.countryCode;
    var subscriptionId = subId;
    var subscriptionIdExist = false;
    var subscriptionsAvailable = false;
    var userSubsData;
    var userSubsLocaleData;
    if (userInfo.hasOwnProperty('subscriptions')) {
      userSubsData = userInfo.subscriptions;
      if (userSubsData.hasOwnProperty(countryCode)) {
        userSubsLocaleData = userSubsData[countryCode];
        subscriptionsAvailable = userSubsLocaleData.hasOwnProperty(langCode) ? true : false;
      }
      if (subscriptionsAvailable) {
        userSubscriptions = userInfo.subscriptions[countryCode][langCode];
        if (!plus/* default */.A.isEmptyObject(userSubscriptions)) {
          plus/* default */.A.each(userSubscriptions, function (id, subs) {
            if (id === subscriptionId &amp;&amp; subs.email.isSubscribed === true) {
              subscriptionIdExist = true;
            }
          });
        }
      }
    }
    return subscriptionIdExist;
  };
  relatedSubscription.prototype.handle_relatedSubsClick = function (elem) {
    var relSub = (0,plus/* default */.A)(elem.currentTarget);
    var $checkbox = this.$checkbox;
    var subscriptionOptInVal = false;
    relSub.toggleClass('active');
    this.$relatedSubsElements.each(function () {
      if ((0,plus/* default */.A)(this).hasClass('active')) {
        (0,plus/* default */.A)(this).attr('aria-checked', 'true');
        subscriptionOptInVal = true;
      } else {
        (0,plus/* default */.A)(this).attr('aria-checked', 'false');
      }
    });
    $checkbox.each(function () {
      if (this.name === 'termsAndConditions2') {
        if (subscriptionOptInVal) {
          (0,plus/* default */.A)(this).prop('required', true);
        } else {
          (0,plus/* default */.A)(this).removeAttr('required');
          (0,plus/* default */.A)(this).parents('.custom-tc').find('button.custom-checkbox').removeClass('errorField');
          (0,plus/* default */.A)(this).parents('.custom-tc').find('.error-message').addClass('hide-errormsg').html('');
        }
      }
    });
  };
  FormBuilder.prototype.addGigyaListeners = function () {
    // eslint-disable-next-line @typescript-eslint/no-this-alias
    var me = this;
    window.gigya.accounts.addEventHandlers({
      onLogin: function onLogin(response) {
        window.digitalData.user = window.digitalData.user || {};
        window.digitalData.user.gigyaID = response.UID;
        window.gigya.accounts.getAccountInfo({
          include: personalizationUtils/* default */.A.constants.UserAccountIncludes.join(','),
          callback: function callback(response) {
            var loginprovider = response.loginProvider,
              emailvalue = response.profile.email;
            var company = '',
              linkedInUserStatus = 'newuser',
              verifyCopyData = false;
            if (response.data &amp;&amp; (0,esm_typeof/* default */.A)(response.data.oldAccountInfo) === 'object') {
              verifyCopyData = true;
            }
            if (loginprovider === 'linkedin' &amp;&amp; emailvalue &amp;&amp; !verifyCopyData) {
              var UID = encodeURIComponent(response.UID),
                UIDSignature = encodeURIComponent(response.UIDSignature),
                signatureTimestamp = response.signatureTimestamp,
                registeredLocale = window.countryCode + '/' + window.langCode,
                url = '/userdata/userdataService/getDuplicateAccountForSocialLogin?uid=' + UID + '&amp;uidSignature=' + UIDSignature + '&amp;signatureTimestamp=' + signatureTimestamp + '&amp;profileEmail=' + emailvalue + '&amp;loginProvider=linkedin&amp;registeredLocale=' + registeredLocale;
              if (response.profile.work &amp;&amp; response.profile.work[0] &amp;&amp; response.profile.work[0].company) {
                var _response$profile$wor;
                company = (_response$profile$wor = response.profile.work[0]) === null || _response$profile$wor === void 0 ? void 0 : _response$profile$wor.company;
              }
              plus/* default */.A.ajax({
                url: url,
                type: 'POST',
                contentType: 'application/json;charset=UTF-8',
                success: function success(result) {
                  if (result.status === 'oldUser') {
                    linkedInUserStatus = 'olduser';
                    var _registeredLocale = window.countryCode + '/' + window.langCode,
                      _url = '/userdata/userdataService/copyAccountDataForSocialLogin?uid=' + UID + '&amp;uidSignature=' + UIDSignature + '&amp;signatureTimestamp=' + signatureTimestamp + '&amp;profileEmail=' + emailvalue + '&amp;loginProvider=linkedin' + '&amp;page=fge&amp;company=' + company + '&amp;registeredLocale=' + _registeredLocale;
                    plus/* default */.A.ajax({
                      url: _url,
                      type: 'POST',
                      contentType: 'application/json;charset=UTF-8',
                      success: function success(result) {
                        if (result.statusCode === 200) {
                          me.setAccountInfoAndReload();
                          personalizationUtils/* default */.A.privacyUtils.checkAndSetCookie();
                          console.log(linkedInUserStatus);
                        } else {
                          linkedInUserStatus = 'newuser';
                          me.setAccountInfoAndReload();
                          personalizationUtils/* default */.A.privacyUtils.checkAndSetCookie();
                          console.log(linkedInUserStatus);
                        }
                      },
                      error: function error() {
                        linkedInUserStatus = 'newuser';
                        me.setAccountInfoAndReload();
                        personalizationUtils/* default */.A.privacyUtils.checkAndSetCookie();
                        console.log(linkedInUserStatus);
                      }
                    });
                  } else {
                    linkedInUserStatus = 'newuser';
                    me.setAccountInfoAndReload();
                    personalizationUtils/* default */.A.privacyUtils.checkAndSetCookie();
                    console.log(linkedInUserStatus);
                  }
                },
                error: function error() {
                  me.setAccountInfoAndReload();
                  personalizationUtils/* default */.A.privacyUtils.checkAndSetCookie();
                }
              });
            } else {
              me.setAccountInfoAndReload();
              personalizationUtils/* default */.A.privacyUtils.checkAndSetCookie();
            }
          }
        });
      }
    });
  };
  FormBuilder.prototype.setAccountInfoAndReload = function () {
    if (isgatedcontent === 'true') {
      window.digitalData.page.category.gatedContent = window.digitalData.page.category.gatedContent || {};
      window.digitalData.page.category.gatedContent.type = contenttype || 'pdf';
      if (contenttype === 'pdf' || contenttype === '') {
        window.digitalData.download = window.digitalData.download || {};
        window.digitalData.download.name = ctatitle;
      }
    }
    if (!this.analyticsLogged) {
      this.trck.track('FGE_Log');
      this.analyticsLogged = true;
    }
    var gcPDFCheck = contenttype === 'pdf' || contenttype === '' ? true : false;
    if (isgatedcontent === 'true' &amp;&amp; gcPDFCheck &amp;&amp; window.digitalData.download) {
      common_utils/* default */.A.clearObjectProperties([{
        currentObject: window.digitalData.download,
        removeProp: 'name'
      }]);
    }
    // eslint-disable-next-line @typescript-eslint/no-this-alias
    var me = this;
    (0,plus/* default */.A)('.loading-spinner').show();
    window.gigya.accounts.getAccountInfo({
      include: personalizationUtils/* default */.A.constants.UserAccountIncludes.join(','),
      extraProfileFields: personalizationUtils/* default */.A.constants.IPGFilter.join(','),
      callback: function callback(response) {
        if (response.errorCode === 0) {
          var IPGFiltered = personalizationUtils/* default */.A.accountUtils.IPGFilter(response);
          window.gigya.accounts.setAccountInfo({
            profile: lodash_default().extend(IPGFiltered.profile, {
              photoURL: "".concat(window.location.origin, "/content/dam/kpmg/images/platform/KPMG.png"),
              profileURL: "".concat(window.location.origin, "/content/dam/kpmg/images/platform/KPMG.png"),
              thumbnailURL: "".concat(window.location.origin, "/content/dam/kpmg/images/platform/KPMG.png")
            }),
            callback: function callback(setAccResponse) {
              if (setAccResponse.errorCode === 0) {
                personalizationUtils/* default */.A.accountUtils.setInfo(IPGFiltered);
                me.setUserLibrary(IPGFiltered, function (response) {
                  if (response.responseCode === 200) {
                    personalizationUtils/* default */.A.storeUtils.setUserLibrary(response);
                    me.setFormDataAndReload();
                  } else {
                    (0,plus/* default */.A)('.loading-spinner').hide();
                    genericErrorDialog/* default */.A.showDialog(response);
                  }
                });
              } else {
                (0,plus/* default */.A)('.loading-spinner').hide();
                genericErrorDialog/* default */.A.showDialog(response);
              }
            }
          });
        } else {
          (0,plus/* default */.A)('.loading-spinner').hide();
          genericErrorDialog/* default */.A.showDialog();
        }
      }
    });
  };
  FormBuilder.prototype.setUserLibrary = function (userInfo, cb) {
    var localeObj = personalizationUtils/* default */.A.accountUtils.getLocale(),
      localeStr = "/".concat(localeObj.countryCode, "/").concat(localeObj.languageCode);
    plus/* default */.A.ajax({
      method: 'POST',
      data: {
        locale: localeStr,
        uid: encodeURIComponent(userInfo.UID),
        UIDSignature: encodeURIComponent(userInfo.UIDSignature),
        signatureTimestamp: userInfo.signatureTimestamp
      },
      url: personalizationUtils/* default */.A.constants.getUserLibraryServiceURL,
      success: cb,
      error: function error(obj, msg, err) {
        (0,plus/* default */.A)('.loading-spinner').hide();
        console.log('could not fetch user library information', err.message, err);
      }
    });
  };
  FormBuilder.prototype.setFormDataAndReload = function () {
    sessionStorage.setItem('fge-form', this.FGESubscription.id);
    var personObj;
    var UIDSignature;
    var signatureTimestamp;
    // eslint-disable-next-line @typescript-eslint/no-this-alias
    var formbuilder = this;
    if (personalizationUtils/* default */.A.accountUtils.isLoggedIn()) {
      personObj = personalizationUtils/* default */.A.accountUtils.getInfo();
      UIDSignature = encodeURIComponent(personObj.UIDSignature);
      signatureTimestamp = personObj.signatureTimestamp;
      if (!sessionStorage.getItem('ctaids')) {
        var url = "/userdata/userdataService/requestcta?uid=".concat(encodeURIComponent(personObj.UID), "&amp;uidSignature=").concat(UIDSignature, "&amp;signatureTimestamp=").concat(signatureTimestamp);
        plus/* default */.A.ajax({
          url: url,
          method: 'POST',
          success: function success(result) {
            if (result &amp;&amp; result.length &gt; 0) {
              sessionStorage.setItem('ctaids', JSON.stringify(result));
              if (formbuilder.FGESubscription.isFastSubscription === 'true') {
                var ctas = sessionStorage.getItem('ctaids') || '[]';
                var ctaids = JSON.parse(ctas),
                  ctaid = formbuilder.FGESubscription.id,
                  subscId = formbuilder.FGESubscription.gigyaMapping,
                  pagePath = formbuilder.FGESubscription.pagePath,
                  locale = pagePath.slice(19, 25),
                  site = locale.slice(1, 3),
                  lang = locale.slice(4),
                  subscriptionIdsArray = [],
                  unsubscriptionIdsArray = [],
                  subscriptions = JSON.parse(localStorage.accountInfo).subscriptions;
                for (var key in subscriptions) {
                  if (key === site) {
                    var _loop2 = function _loop2() {
                      if (loc === lang) {
                        var obj = subscriptions[key][loc];
                        Object.keys(obj).map(function (key) {
                          if (obj[key].email.isSubscribed === true) {
                            subscriptionIdsArray.push(key);
                          } else {
                            unsubscriptionIdsArray.push(key);
                          }
                        });
                      }
                    };
                    for (var loc in subscriptions[key]) {
                      _loop2();
                    }
                  }
                }
                if (subscriptionIdsArray.length &gt; 0 &amp;&amp; subscriptionIdsArray.indexOf(subscId) &gt; -1) {
                  if (ctaids.length &gt;= 0 &amp;&amp; ctaids.indexOf(ctaid) === -1) {
                    ctaids.push(ctaid);
                  }
                  sessionStorage.setItem('ctaids', JSON.stringify(ctaids));
                }
                if (unsubscriptionIdsArray.length &gt; 0 &amp;&amp; unsubscriptionIdsArray.indexOf(subscId) &gt; -1) {
                  var index = ctaids.indexOf(ctaid);
                  if (index &gt; -1) {
                    ctaids.splice(index, 1);
                  }
                  sessionStorage.setItem('ctaids', JSON.stringify(ctaids));
                }
              }
            }
          }
        }).always(function () {
          (0,plus/* default */.A)('.loading-spinner').hide();
          formbuilder.reloadPage();
        });
      }
    }
  };
  FormBuilder.prototype.reloadPage = function () {
    window.location.reload();
  };
  FormBuilder.setup_recaptchaContainer();
  (0,react.useEffect)(function () {
    var parent = (0,plus/* default */.A)(element.current).parent();
    new FormBuilder(parent);
  });
  return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
    ref: element,
    children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
      tabIndex: 0,
      className: "first-fge-trap"
    }), /*#__PURE__*/(0,jsx_runtime.jsx)(loginform, {
      close: close,
      emailvalidation1: emailvalidation1,
      emailvalidation2: emailvalidation2,
      emailisincorrect: emailisincorrect,
      uniqueid: uniqueid,
      emaillabel: emaillabel,
      accountlocked: accountlocked,
      accountdisabled: accountdisabled,
      invalidloginpassword: invalidloginpassword,
      passwordisincorrect: passwordisincorrect,
      passwordlabel: passwordlabel,
      forgotpassword: forgotpassword,
      loginbutton: loginbutton,
      or: or,
      socialaccount: socialaccount,
      linkedin: linkedin,
      google: google,
      twitter: twitter
    }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
      className: "default-form animated",
      children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
        className: "title-and-cancel-button mobile-only",
        children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
          className: "cancelButton",
          children: /*#__PURE__*/(0,jsx_runtime.jsx)("button", {
            children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
              className: "icon-close",
              children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
                className: "sr-only",
                children: close
              })
            })
          })
        })
      }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
        className: "cancelButton desktop-only",
        children: /*#__PURE__*/(0,jsx_runtime.jsx)("button", {
          children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
            className: "icon-close",
            children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
              className: "sr-only",
              children: close
            })
          })
        })
      }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
        className: "registeredUser",
        children: [/*#__PURE__*/(0,jsx_runtime.jsx)("p", {
          children: staticdesc1
        }), /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
          children: staticdesc2
        })]
      }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
        className: "instructions",
        children: /*#__PURE__*/(0,jsx_runtime.jsx)("p", {
          children: defaultinsmessage
        })
      }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
        className: "formDiv",
        children: /*#__PURE__*/(0,jsx_runtime.jsxs)("form", {
          autoComplete: "off",
          children: [(0,lib/* default */.Ay)(formfieldouterwrapper), isrelsubscriptions === 'true' &amp;&amp; /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
            className: "related-subscriptions-container",
            "data-relatedSubscriptionIds": relatedsubids,
            children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
              className: "related-subscriptions-title-container",
              children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
                className: "title line-clamp line-clamp-2",
                children: relsubscriptiontitle
              })
            })
          }), /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
            className: "terms-and-conditions",
            children: [termscondtext2 &amp;&amp; /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
              className: "custom-tc",
              children: [ischeckboxvisible2 === 'true' &amp;&amp; /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
                children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
                  className: "error-message checkbox-error hide-errormsg",
                  id: uniqueid + 'msg-termsAndConditions2'
                }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
                  className: "checkbox-cell",
                  children: /*#__PURE__*/(0,jsx_runtime.jsx)("button", {
                    type: "button",
                    className: "custom-checkbox",
                    role: "checkbox",
                    "aria-checked": ischeckedterms2 === 'true' ? true : false,
                    "aria-label": termscondtext2,
                    "aria-describedby": uniqueid + 'msg-termsAndConditions2',
                    children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
                      className: "icon-checkmark"
                    })
                  })
                })]
              }), /*#__PURE__*/(0,jsx_runtime.jsx)("label", {
                htmlFor: uniqueid + '-termsAndConditions2',
                className: "sr-only",
                children: termscondtext2
              }), /*#__PURE__*/(0,jsx_runtime.jsx)("input", {
                type: "checkbox",
                hidden: true,
                name: "termsAndConditions2",
                id: uniqueid + '-termsAndConditions2',
                value: termscondtext2,
                checked: ischeckedterms2 === 'true' ? true : false
              }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
                className: "tc-cell",
                children: (0,lib/* default */.Ay)(termscondtext2)
              })]
            }), termscondtext3 &amp;&amp; /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
              className: "custom-tc",
              children: [ischeckboxvisible3 === 'true' &amp;&amp; /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
                children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
                  className: "error-message checkbox-error hide-errormsg",
                  id: uniqueid + 'msg-termsAndConditions3'
                }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
                  className: "checkbox-cell",
                  children: /*#__PURE__*/(0,jsx_runtime.jsx)("button", {
                    type: "button",
                    className: "custom-checkbox",
                    role: "checkbox",
                    "aria-checked": ischeckedterms3 === 'true' ? true : false,
                    "aria-label": termscondtext3,
                    "aria-describedby": uniqueid + 'msg-termsAndConditions3',
                    children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
                      className: "icon-checkmark"
                    })
                  })
                })]
              }), /*#__PURE__*/(0,jsx_runtime.jsx)("label", {
                htmlFor: uniqueid + '-termsAndConditions3',
                className: "sr-only",
                children: termscondtext3
              }), /*#__PURE__*/(0,jsx_runtime.jsx)("input", {
                type: "checkbox",
                hidden: true,
                name: "termsAndConditions3",
                id: uniqueid + '-termsAndConditions3',
                value: termscondtext3,
                checked: ischeckedterms3 === 'true' ? true : false
              }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
                className: "tc-cell",
                children: (0,lib/* default */.Ay)(termscondtext3)
              })]
            }), termscondtext1 &amp;&amp; /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
              className: "custom-tc",
              children: [ischeckboxvisible1 === 'true' &amp;&amp; /*#__PURE__*/(0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {
                children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
                  className: "error-message checkbox-error hide-errormsg",
                  id: uniqueid + 'msg-termsAndConditions1'
                }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
                  className: "checkbox-cell",
                  children: /*#__PURE__*/(0,jsx_runtime.jsx)("button", {
                    type: "button",
                    className: "custom-checkbox",
                    role: "checkbox",
                    "aria-checked": ischeckedterms1 === 'true' ? true : false,
                    "aria-label": termscondtext1,
                    "aria-describedby": uniqueid + 'msg-termsAndConditions1',
                    children: /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
                      className: "icon-checkmark"
                    })
                  })
                })]
              }), /*#__PURE__*/(0,jsx_runtime.jsx)("label", {
                htmlFor: uniqueid + '-termsAndConditions1',
                className: "sr-only",
                children: termscondtext1
              }), /*#__PURE__*/(0,jsx_runtime.jsx)("input", {
                type: "checkbox",
                hidden: true,
                name: "termsAndConditions1",
                id: uniqueid + '-termsAndConditions1',
                value: termscondtext1,
                checked: ischeckedterms1 === 'true' ? true : false,
                required: ischeckboxvisible1 === 'true' ? true : false
              }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
                className: "tc-cell note-statement",
                children: (0,lib/* default */.Ay)(termscondtext1)
              })]
            })]
          }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
            className: "optional-statement",
            children: optionalstmt
          }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
            className: "form-cta-button-wrapper",
            children: /*#__PURE__*/(0,jsx_runtime.jsxs)("button", {
              className: "submit-form",
              type: "submit",
              children: [ctabtnlabel &amp;&amp; ctabtnlabel, !ctabtnlabel &amp;&amp; (iseventregistration === 'true' &amp;&amp; formeventlabel || isgatedcontent === 'true' &amp;&amp; formgatedlabel || isfastsubscription === 'true' &amp;&amp; formsubscriptionlabel)]
            })
          }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
            tabIndex: 0,
            className: "last-fge-trap"
          })]
        })
      })]
    })]
  });
};
/* harmony default export */ const fgeformbuilder = (FGEFormbuilder);
;// CONCATENATED MODULE: ./src/kpmg-components/fgeformbuilder/fgeformbuilder.index.tsx



var fgeFormElement = document.querySelectorAll('.wrapper-fgeformbuilder');
fgeFormElement.forEach(function (eachElement) {
  var _eachElement$getEleme;
  var formfieldouterwrapper = (_eachElement$getEleme = eachElement.getElementsByClassName('form-field-outer-wrapper')[0]) === null || _eachElement$getEleme === void 0 ? void 0 : _eachElement$getEleme.outerHTML;
  var fgeFormElementprop = eachElement.dataset ? eachElement.dataset : {};
  react_dom.render(/*#__PURE__*/(0,jsx_runtime.jsx)(fgeformbuilder, {
    formfieldouterwrapper: formfieldouterwrapper ? formfieldouterwrapper : null,
    title: fgeFormElementprop.title ? fgeFormElementprop.title : '',
    uniqueid: fgeFormElementprop.uniqueid ? fgeFormElementprop.uniqueid : '',
    isgatedcontent: fgeFormElementprop.isgatedcontent ? fgeFormElementprop.isgatedcontent : '',
    isfastsubscription: fgeFormElementprop.isfastsubscription ? fgeFormElementprop.isfastsubscription : '',
    iseventregistration: fgeFormElementprop.iseventregistration ? fgeFormElementprop.iseventregistration : '',
    ctatitle: fgeFormElementprop.ctatitle ? fgeFormElementprop.ctatitle : '',
    senderemailaddresslabel: fgeFormElementprop.senderemailaddresslabel ? fgeFormElementprop.senderemailaddresslabel : '',
    campaignname: fgeFormElementprop.campaignname ? fgeFormElementprop.campaignname : '',
    eventenddate: fgeFormElementprop.eventenddate ? fgeFormElementprop.eventenddate : '',
    eventtype: fgeFormElementprop.eventtype ? fgeFormElementprop.eventtype : '',
    gigyamapping: fgeFormElementprop.gigyamapping ? fgeFormElementprop.gigyamapping : '',
    privateflag: fgeFormElementprop.privateflag ? fgeFormElementprop.privateflag : '',
    externalid: fgeFormElementprop.externalid ? fgeFormElementprop.externalid : '',
    subscriptionfrequency: fgeFormElementprop.subscriptionfrequency ? fgeFormElementprop.subscriptionfrequency : '',
    pagepath: fgeFormElementprop.pagepath ? fgeFormElementprop.pagepath : '',
    emailuniqueid: fgeFormElementprop.emailuniqueid ? fgeFormElementprop.emailuniqueid : '',
    gatedcontentasset: fgeFormElementprop.gatedcontentasset ? fgeFormElementprop.gatedcontentasset : '',
    contenttype: fgeFormElementprop.contenttype ? fgeFormElementprop.contenttype : '',
    salutation: fgeFormElementprop.salutation ? fgeFormElementprop.salutation : '',
    salutationcheck: fgeFormElementprop.salutationcheck ? fgeFormElementprop.salutationcheck : '',
    issalutationmandatory: fgeFormElementprop.issalutationmandatory ? fgeFormElementprop.issalutationmandatory : '',
    close: fgeFormElementprop.close ? fgeFormElementprop.close : '',
    emailvalidation1: fgeFormElementprop.emailvalidation1 ? fgeFormElementprop.emailvalidation1 : '',
    emailvalidation2: fgeFormElementprop.emailvalidation2 ? fgeFormElementprop.emailvalidation2 : '',
    emailisincorrect: fgeFormElementprop.emailisincorrect ? fgeFormElementprop.emailisincorrect : '',
    emaillabel: fgeFormElementprop.emaillabel ? fgeFormElementprop.emaillabel : '',
    accountlocked: fgeFormElementprop.accountlocked ? fgeFormElementprop.accountlocked : '',
    accountdisabled: fgeFormElementprop.accountdisabled ? fgeFormElementprop.accountdisabled : '',
    invalidloginpassword: fgeFormElementprop.invalidloginpassword ? fgeFormElementprop.invalidloginpassword : '',
    passwordisincorrect: fgeFormElementprop.passwordisincorrect ? fgeFormElementprop.passwordisincorrect : '',
    passwordlabel: fgeFormElementprop.passwordlabel ? fgeFormElementprop.passwordlabel : '',
    forgotpassword: fgeFormElementprop.forgotpassword ? fgeFormElementprop.forgotpassword : '',
    loginbutton: fgeFormElementprop.loginbutton ? fgeFormElementprop.loginbutton : '',
    or: fgeFormElementprop.or ? fgeFormElementprop.or : '',
    socialaccount: fgeFormElementprop.socialaccount ? fgeFormElementprop.socialaccount : '',
    linkedin: fgeFormElementprop.linkedin ? fgeFormElementprop.linkedin : '',
    google: fgeFormElementprop.google ? fgeFormElementprop.google : '',
    twitter: fgeFormElementprop.twitter ? fgeFormElementprop.twitter : '',
    staticdesc1: fgeFormElementprop.staticdesc1 ? fgeFormElementprop.staticdesc1 : '',
    staticdesc2: fgeFormElementprop.staticdesc2 ? fgeFormElementprop.staticdesc2 : '',
    defaultinsmessage: fgeFormElementprop.defaultinsmessage ? fgeFormElementprop.defaultinsmessage : '',
    corporate: fgeFormElementprop.corporate ? fgeFormElementprop.corporate : '',
    isrelsubscriptions: fgeFormElementprop.isrelsubscriptions ? fgeFormElementprop.isrelsubscriptions : '',
    relatedsubids: fgeFormElementprop.relatedsubids ? fgeFormElementprop.relatedsubids : '',
    relsubscriptiontitle: fgeFormElementprop.relsubscriptiontitle ? fgeFormElementprop.relsubscriptiontitle : '',
    termscondtext2: fgeFormElementprop.termscondtext2 ? fgeFormElementprop.termscondtext2 : '',
    ischeckboxvisible2: fgeFormElementprop.ischeckboxvisible2 ? fgeFormElementprop.ischeckboxvisible2 : '',
    ischeckedterms2: fgeFormElementprop.ischeckedterms2 ? fgeFormElementprop.ischeckedterms2 : '',
    termscondtext3: fgeFormElementprop.termscondtext3 ? fgeFormElementprop.termscondtext3 : '',
    ischeckboxvisible3: fgeFormElementprop.ischeckboxvisible3 ? fgeFormElementprop.ischeckboxvisible3 : '',
    ischeckedterms3: fgeFormElementprop.ischeckedterms3 ? fgeFormElementprop.ischeckedterms3 : '',
    termscondtext1: fgeFormElementprop.termscondtext1 ? fgeFormElementprop.termscondtext1 : '',
    ischeckboxvisible1: fgeFormElementprop.ischeckboxvisible1 ? fgeFormElementprop.ischeckboxvisible1 : '',
    ischeckedterms1: fgeFormElementprop.ischeckedterms1 ? fgeFormElementprop.ischeckedterms1 : '',
    optionalstmt: fgeFormElementprop.optionalstmt ? fgeFormElementprop.optionalstmt : '',
    ctabtnlabel: fgeFormElementprop.ctabtnlabel ? fgeFormElementprop.ctabtnlabel : '',
    formeventlabel: fgeFormElementprop.formeventlabel ? fgeFormElementprop.formeventlabel : '',
    formgatedlabel: fgeFormElementprop.formgatedlabel ? fgeFormElementprop.formgatedlabel : '',
    formsubscriptionlabel: fgeFormElementprop.formsubscriptionlabel ? fgeFormElementprop.formsubscriptionlabel : ''
  }), eachElement);
});

/***/ }),

/***/ 5358:
/***/ ((module, __unused_webpack_exports, __webpack_require__) =&gt; {

var map = {
	"./af": 5177,
	"./af.js": 5177,
	"./ar": 1509,
	"./ar-dz": 1488,
	"./ar-dz.js": 1488,
	"./ar-kw": 8676,
	"./ar-kw.js": 8676,
	"./ar-ly": 2353,
	"./ar-ly.js": 2353,
	"./ar-ma": 4496,
	"./ar-ma.js": 4496,
	"./ar-ps": 6947,
	"./ar-ps.js": 6947,
	"./ar-sa": 2682,
	"./ar-sa.js": 2682,
	"./ar-tn": 9756,
	"./ar-tn.js": 9756,
	"./ar.js": 1509,
	"./az": 5533,
	"./az.js": 5533,
	"./be": 8959,
	"./be.js": 8959,
	"./bg": 7777,
	"./bg.js": 7777,
	"./bm": 4903,
	"./bm.js": 4903,
	"./bn": 1290,
	"./bn-bd": 7357,
	"./bn-bd.js": 7357,
	"./bn.js": 1290,
	"./bo": 1545,
	"./bo.js": 1545,
	"./br": 1470,
	"./br.js": 1470,
	"./bs": 4429,
	"./bs.js": 4429,
	"./ca": 7306,
	"./ca.js": 7306,
	"./cs": 6464,
	"./cs.js": 6464,
	"./cv": 3635,
	"./cv.js": 3635,
	"./cy": 4226,
	"./cy.js": 4226,
	"./da": 3601,
	"./da.js": 3601,
	"./de": 7853,
	"./de-at": 6111,
	"./de-at.js": 6111,
	"./de-ch": 4697,
	"./de-ch.js": 4697,
	"./de.js": 7853,
	"./dv": 708,
	"./dv.js": 708,
	"./el": 4691,
	"./el.js": 4691,
	"./en-au": 3872,
	"./en-au.js": 3872,
	"./en-ca": 8298,
	"./en-ca.js": 8298,
	"./en-gb": 6195,
	"./en-gb.js": 6195,
	"./en-ie": 6584,
	"./en-ie.js": 6584,
	"./en-il": 5543,
	"./en-il.js": 5543,
	"./en-in": 9033,
	"./en-in.js": 9033,
	"./en-nz": 9402,
	"./en-nz.js": 9402,
	"./en-sg": 3004,
	"./en-sg.js": 3004,
	"./eo": 2934,
	"./eo.js": 2934,
	"./es": 7650,
	"./es-do": 838,
	"./es-do.js": 838,
	"./es-mx": 7730,
	"./es-mx.js": 7730,
	"./es-us": 6575,
	"./es-us.js": 6575,
	"./es.js": 7650,
	"./et": 3035,
	"./et.js": 3035,
	"./eu": 3508,
	"./eu.js": 3508,
	"./fa": 119,
	"./fa.js": 119,
	"./fi": 527,
	"./fi.js": 527,
	"./fil": 5995,
	"./fil.js": 5995,
	"./fo": 2477,
	"./fo.js": 2477,
	"./fr": 5498,
	"./fr-ca": 6435,
	"./fr-ca.js": 6435,
	"./fr-ch": 7892,
	"./fr-ch.js": 7892,
	"./fr.js": 5498,
	"./fy": 7071,
	"./fy.js": 7071,
	"./ga": 1734,
	"./ga.js": 1734,
	"./gd": 217,
	"./gd.js": 217,
	"./gl": 7329,
	"./gl.js": 7329,
	"./gom-deva": 2124,
	"./gom-deva.js": 2124,
	"./gom-latn": 3383,
	"./gom-latn.js": 3383,
	"./gu": 5050,
	"./gu.js": 5050,
	"./he": 1713,
	"./he.js": 1713,
	"./hi": 3861,
	"./hi.js": 3861,
	"./hr": 6308,
	"./hr.js": 6308,
	"./hu": 609,
	"./hu.js": 609,
	"./hy-am": 7160,
	"./hy-am.js": 7160,
	"./id": 4063,
	"./id.js": 4063,
	"./is": 9374,
	"./is.js": 9374,
	"./it": 8383,
	"./it-ch": 1827,
	"./it-ch.js": 1827,
	"./it.js": 8383,
	"./ja": 3827,
	"./ja.js": 3827,
	"./jv": 9722,
	"./jv.js": 9722,
	"./ka": 1794,
	"./ka.js": 1794,
	"./kk": 7088,
	"./kk.js": 7088,
	"./km": 6870,
	"./km.js": 6870,
	"./kn": 4451,
	"./kn.js": 4451,
	"./ko": 3164,
	"./ko.js": 3164,
	"./ku": 8174,
	"./ku-kmr": 6181,
	"./ku-kmr.js": 6181,
	"./ku.js": 8174,
	"./ky": 8474,
	"./ky.js": 8474,
	"./lb": 9680,
	"./lb.js": 9680,
	"./lo": 5867,
	"./lo.js": 5867,
	"./lt": 5766,
	"./lt.js": 5766,
	"./lv": 9532,
	"./lv.js": 9532,
	"./me": 8076,
	"./me.js": 8076,
	"./mi": 1848,
	"./mi.js": 1848,
	"./mk": 306,
	"./mk.js": 306,
	"./ml": 3739,
	"./ml.js": 3739,
	"./mn": 9053,
	"./mn.js": 9053,
	"./mr": 6169,
	"./mr.js": 6169,
	"./ms": 3386,
	"./ms-my": 2297,
	"./ms-my.js": 2297,
	"./ms.js": 3386,
	"./mt": 7075,
	"./mt.js": 7075,
	"./my": 2264,
	"./my.js": 2264,
	"./nb": 2274,
	"./nb.js": 2274,
	"./ne": 8235,
	"./ne.js": 8235,
	"./nl": 2572,
	"./nl-be": 3784,
	"./nl-be.js": 3784,
	"./nl.js": 2572,
	"./nn": 4566,
	"./nn.js": 4566,
	"./oc-lnc": 9330,
	"./oc-lnc.js": 9330,
	"./pa-in": 9849,
	"./pa-in.js": 9849,
	"./pl": 4418,
	"./pl.js": 4418,
	"./pt": 9834,
	"./pt-br": 8303,
	"./pt-br.js": 8303,
	"./pt.js": 9834,
	"./ro": 4457,
	"./ro.js": 4457,
	"./ru": 2271,
	"./ru.js": 2271,
	"./sd": 1221,
	"./sd.js": 1221,
	"./se": 3478,
	"./se.js": 3478,
	"./si": 7538,
	"./si.js": 7538,
	"./sk": 5784,
	"./sk.js": 5784,
	"./sl": 6637,
	"./sl.js": 6637,
	"./sq": 6794,
	"./sq.js": 6794,
	"./sr": 5719,
	"./sr-cyrl": 3322,
	"./sr-cyrl.js": 3322,
	"./sr.js": 5719,
	"./ss": 6000,
	"./ss.js": 6000,
	"./sv": 1011,
	"./sv.js": 1011,
	"./sw": 748,
	"./sw.js": 748,
	"./ta": 1025,
	"./ta.js": 1025,
	"./te": 1885,
	"./te.js": 1885,
	"./tet": 8861,
	"./tet.js": 8861,
	"./tg": 6571,
	"./tg.js": 6571,
	"./th": 5802,
	"./th.js": 5802,
	"./tk": 9527,
	"./tk.js": 9527,
	"./tl-ph": 9231,
	"./tl-ph.js": 9231,
	"./tlh": 1052,
	"./tlh.js": 1052,
	"./tr": 5096,
	"./tr.js": 5096,
	"./tzl": 9846,
	"./tzl.js": 9846,
	"./tzm": 1765,
	"./tzm-latn": 7711,
	"./tzm-latn.js": 7711,
	"./tzm.js": 1765,
	"./ug-cn": 8414,
	"./ug-cn.js": 8414,
	"./uk": 6618,
	"./uk.js": 6618,
	"./ur": 158,
	"./ur.js": 158,
	"./uz": 7609,
	"./uz-latn": 2475,
	"./uz-latn.js": 2475,
	"./uz.js": 7609,
	"./vi": 1135,
	"./vi.js": 1135,
	"./x-pseudo": 4051,
	"./x-pseudo.js": 4051,
	"./yo": 2218,
	"./yo.js": 2218,
	"./zh-cn": 2648,
	"./zh-cn.js": 2648,
	"./zh-hk": 1632,
	"./zh-hk.js": 1632,
	"./zh-mo": 1541,
	"./zh-mo.js": 1541,
	"./zh-tw": 304,
	"./zh-tw.js": 304
};


function webpackContext(req) {
	var id = webpackContextResolve(req);
	return __webpack_require__(id);
}
function webpackContextResolve(req) {
	if(!__webpack_require__.o(map, req)) {
		var e = new Error("Cannot find module '" + req + "'");
		e.code = 'MODULE_NOT_FOUND';
		throw e;
	}
	return map[req];
}
webpackContext.keys = function webpackContextKeys() {
	return Object.keys(map);
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
webpackContext.id = 5358;

/***/ }),

/***/ 5098:
/***/ (() =&gt; {

/* (ignored) */

/***/ })

},
/******/ __webpack_require__ =&gt; { // webpackRuntimeModules
/******/ var __webpack_exec__ = (moduleId) =&gt; (__webpack_require__(__webpack_require__.s = moduleId))
/******/ __webpack_require__.O(0, [502], () =&gt; (__webpack_exec__(200)));
/******/ var __webpack_exports__ = __webpack_require__.O();
/******/ }
]);</pre></body></html>