{"version":3,"file":"index.mjs","sources":["index.mjs"],"sourcesContent":["/*!\n * Font Awesome Free 7.2.0 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n * Copyright 2026 Fonticons, Inc.\n */\nfunction _arrayLikeToArray(r, a) {\n  (null == a || a > r.length) && (a = r.length);\n  for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n  return n;\n}\nfunction _arrayWithHoles(r) {\n  if (Array.isArray(r)) return r;\n}\nfunction _arrayWithoutHoles(r) {\n  if (Array.isArray(r)) return _arrayLikeToArray(r);\n}\nfunction _classCallCheck(a, n) {\n  if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction _defineProperties(e, r) {\n  for (var t = 0; t < r.length; t++) {\n    var o = r[t];\n    o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o);\n  }\n}\nfunction _createClass(e, r, t) {\n  return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n    writable: !1\n  }), e;\n}\nfunction _createForOfIteratorHelper(r, e) {\n  var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n  if (!t) {\n    if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) {\n      t && (r = t);\n      var n = 0,\n        F = function () {};\n      return {\n        s: F,\n        n: function () {\n          return n >= r.length ? {\n            done: !0\n          } : {\n            done: !1,\n            value: r[n++]\n          };\n        },\n        e: function (r) {\n          throw r;\n        },\n        f: F\n      };\n    }\n    throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n  }\n  var o,\n    a = !0,\n    u = !1;\n  return {\n    s: function () {\n      t = t.call(r);\n    },\n    n: function () {\n      var r = t.next();\n      return a = r.done, r;\n    },\n    e: function (r) {\n      u = !0, o = r;\n    },\n    f: function () {\n      try {\n        a || null == t.return || t.return();\n      } finally {\n        if (u) throw o;\n      }\n    }\n  };\n}\nfunction _defineProperty(e, r, t) {\n  return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n    value: t,\n    enumerable: !0,\n    configurable: !0,\n    writable: !0\n  }) : e[r] = t, e;\n}\nfunction _inherits(t, e) {\n  if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n  t.prototype = Object.create(e && e.prototype, {\n    constructor: {\n      value: t,\n      writable: !0,\n      configurable: !0\n    }\n  }), Object.defineProperty(t, \"prototype\", {\n    writable: !1\n  }), e && _setPrototypeOf(t, e);\n}\nfunction _iterableToArray(r) {\n  if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nfunction _iterableToArrayLimit(r, l) {\n  var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n  if (null != t) {\n    var e,\n      n,\n      i,\n      u,\n      a = [],\n      f = !0,\n      o = !1;\n    try {\n      if (i = (t = t.call(r)).next, 0 === l) {\n        if (Object(t) !== t) return;\n        f = !1;\n      } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n    } catch (r) {\n      o = !0, n = r;\n    } finally {\n      try {\n        if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;\n      } finally {\n        if (o) throw n;\n      }\n    }\n    return a;\n  }\n}\nfunction _nonIterableRest() {\n  throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _nonIterableSpread() {\n  throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction ownKeys(e, r) {\n  var t = Object.keys(e);\n  if (Object.getOwnPropertySymbols) {\n    var o = Object.getOwnPropertySymbols(e);\n    r && (o = o.filter(function (r) {\n      return Object.getOwnPropertyDescriptor(e, r).enumerable;\n    })), t.push.apply(t, o);\n  }\n  return t;\n}\nfunction _objectSpread2(e) {\n  for (var r = 1; r < arguments.length; r++) {\n    var t = null != arguments[r] ? arguments[r] : {};\n    r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n      _defineProperty(e, r, t[r]);\n    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n      Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n    });\n  }\n  return e;\n}\nfunction _setPrototypeOf(t, e) {\n  return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n    return t.__proto__ = e, t;\n  }, _setPrototypeOf(t, e);\n}\nfunction _slicedToArray(r, e) {\n  return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();\n}\nfunction _toConsumableArray(r) {\n  return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread();\n}\nfunction _toPrimitive(t, r) {\n  if (\"object\" != typeof t || !t) return t;\n  var e = t[Symbol.toPrimitive];\n  if (void 0 !== e) {\n    var i = e.call(t, r || \"default\");\n    if (\"object\" != typeof i) return i;\n    throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n  }\n  return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n  var i = _toPrimitive(t, \"string\");\n  return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _typeof(o) {\n  \"@babel/helpers - typeof\";\n\n  return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n    return typeof o;\n  } : function (o) {\n    return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n  }, _typeof(o);\n}\nfunction _unsupportedIterableToArray(r, a) {\n  if (r) {\n    if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n    var t = {}.toString.call(r).slice(8, -1);\n    return \"Object\" === t && r.constructor && (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;\n  }\n}\nfunction _wrapRegExp() {\n  _wrapRegExp = function (e, r) {\n    return new BabelRegExp(e, void 0, r);\n  };\n  var e = RegExp.prototype,\n    r = new WeakMap();\n  function BabelRegExp(e, t, p) {\n    var o = RegExp(e, t);\n    return r.set(o, p || r.get(e)), _setPrototypeOf(o, BabelRegExp.prototype);\n  }\n  function buildGroups(e, t) {\n    var p = r.get(t);\n    return Object.keys(p).reduce(function (r, t) {\n      var o = p[t];\n      if (\"number\" == typeof o) r[t] = e[o];else {\n        for (var i = 0; void 0 === e[o[i]] && i + 1 < o.length;) i++;\n        r[t] = e[o[i]];\n      }\n      return r;\n    }, Object.create(null));\n  }\n  return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (r) {\n    var t = e.exec.call(this, r);\n    if (t) {\n      t.groups = buildGroups(t, this);\n      var p = t.indices;\n      p && (p.groups = buildGroups(p, this));\n    }\n    return t;\n  }, BabelRegExp.prototype[Symbol.replace] = function (t, p) {\n    if (\"string\" == typeof p) {\n      var o = r.get(this);\n      return e[Symbol.replace].call(this, t, p.replace(/\\$<([^>]+)(>|$)/g, function (e, r, t) {\n        if (\"\" === t) return e;\n        var p = o[r];\n        return Array.isArray(p) ? \"$\" + p.join(\"$\") : \"number\" == typeof p ? \"$\" + p : \"\";\n      }));\n    }\n    if (\"function\" == typeof p) {\n      var i = this;\n      return e[Symbol.replace].call(this, t, function () {\n        var e = arguments;\n        return \"object\" != typeof e[e.length - 1] && (e = [].slice.call(e)).push(buildGroups(e, i)), p.apply(this, e);\n      });\n    }\n    return e[Symbol.replace].call(this, t, p);\n  }, _wrapRegExp.apply(this, arguments);\n}\n\nvar noop = function noop() {};\nvar _WINDOW = {};\nvar _DOCUMENT = {};\nvar _MUTATION_OBSERVER = null;\nvar _PERFORMANCE = {\n  mark: noop,\n  measure: noop\n};\ntry {\n  if (typeof window !== 'undefined') _WINDOW = window;\n  if (typeof document !== 'undefined') _DOCUMENT = document;\n  if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;\n  if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {} // eslint-disable-line no-empty\n\nvar _ref = _WINDOW.navigator || {},\n  _ref$userAgent = _ref.userAgent,\n  userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;\nvar WINDOW = _WINDOW;\nvar DOCUMENT = _DOCUMENT;\nvar MUTATION_OBSERVER = _MUTATION_OBSERVER;\nvar PERFORMANCE = _PERFORMANCE;\nvar IS_BROWSER = !!WINDOW.document;\nvar IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nvar IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar _ht;\nvar G = /fa(k|kd|s|r|l|t|d|dr|dl|dt|b|slr|slpr|wsb|tl|ns|nds|es|gt|jr|jfr|jdr|usb|ufsb|udsb|cr|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\\-\\ ]/,\n  M = /Font ?Awesome ?([567 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit|Notdog Duo|Notdog|Chisel|Etch|Graphite|Thumbprint|Jelly Fill|Jelly Duo|Jelly|Utility|Utility Fill|Utility Duo|Slab Press|Slab|Whiteboard)?.*/i;\nvar Q = {\n    classic: {\n      fa: \"solid\",\n      fas: \"solid\",\n      \"fa-solid\": \"solid\",\n      far: \"regular\",\n      \"fa-regular\": \"regular\",\n      fal: \"light\",\n      \"fa-light\": \"light\",\n      fat: \"thin\",\n      \"fa-thin\": \"thin\",\n      fab: \"brands\",\n      \"fa-brands\": \"brands\"\n    },\n    duotone: {\n      fa: \"solid\",\n      fad: \"solid\",\n      \"fa-solid\": \"solid\",\n      \"fa-duotone\": \"solid\",\n      fadr: \"regular\",\n      \"fa-regular\": \"regular\",\n      fadl: \"light\",\n      \"fa-light\": \"light\",\n      fadt: \"thin\",\n      \"fa-thin\": \"thin\"\n    },\n    sharp: {\n      fa: \"solid\",\n      fass: \"solid\",\n      \"fa-solid\": \"solid\",\n      fasr: \"regular\",\n      \"fa-regular\": \"regular\",\n      fasl: \"light\",\n      \"fa-light\": \"light\",\n      fast: \"thin\",\n      \"fa-thin\": \"thin\"\n    },\n    \"sharp-duotone\": {\n      fa: \"solid\",\n      fasds: \"solid\",\n      \"fa-solid\": \"solid\",\n      fasdr: \"regular\",\n      \"fa-regular\": \"regular\",\n      fasdl: \"light\",\n      \"fa-light\": \"light\",\n      fasdt: \"thin\",\n      \"fa-thin\": \"thin\"\n    },\n    slab: {\n      \"fa-regular\": \"regular\",\n      faslr: \"regular\"\n    },\n    \"slab-press\": {\n      \"fa-regular\": \"regular\",\n      faslpr: \"regular\"\n    },\n    thumbprint: {\n      \"fa-light\": \"light\",\n      fatl: \"light\"\n    },\n    whiteboard: {\n      \"fa-semibold\": \"semibold\",\n      fawsb: \"semibold\"\n    },\n    notdog: {\n      \"fa-solid\": \"solid\",\n      fans: \"solid\"\n    },\n    \"notdog-duo\": {\n      \"fa-solid\": \"solid\",\n      fands: \"solid\"\n    },\n    etch: {\n      \"fa-solid\": \"solid\",\n      faes: \"solid\"\n    },\n    graphite: {\n      \"fa-thin\": \"thin\",\n      fagt: \"thin\"\n    },\n    jelly: {\n      \"fa-regular\": \"regular\",\n      fajr: \"regular\"\n    },\n    \"jelly-fill\": {\n      \"fa-regular\": \"regular\",\n      fajfr: \"regular\"\n    },\n    \"jelly-duo\": {\n      \"fa-regular\": \"regular\",\n      fajdr: \"regular\"\n    },\n    chisel: {\n      \"fa-regular\": \"regular\",\n      facr: \"regular\"\n    },\n    utility: {\n      \"fa-semibold\": \"semibold\",\n      fausb: \"semibold\"\n    },\n    \"utility-duo\": {\n      \"fa-semibold\": \"semibold\",\n      faudsb: \"semibold\"\n    },\n    \"utility-fill\": {\n      \"fa-semibold\": \"semibold\",\n      faufsb: \"semibold\"\n    }\n  },\n  X = {\n    GROUP: \"duotone-group\",\n    SWAP_OPACITY: \"swap-opacity\",\n    PRIMARY: \"primary\",\n    SECONDARY: \"secondary\"\n  },\n  Z = [\"fa-classic\", \"fa-duotone\", \"fa-sharp\", \"fa-sharp-duotone\", \"fa-thumbprint\", \"fa-whiteboard\", \"fa-notdog\", \"fa-notdog-duo\", \"fa-chisel\", \"fa-etch\", \"fa-graphite\", \"fa-jelly\", \"fa-jelly-fill\", \"fa-jelly-duo\", \"fa-slab\", \"fa-slab-press\", \"fa-utility\", \"fa-utility-duo\", \"fa-utility-fill\"];\nvar i = \"classic\",\n  t = \"duotone\",\n  d = \"sharp\",\n  l = \"sharp-duotone\",\n  f = \"chisel\",\n  h = \"etch\",\n  n = \"graphite\",\n  g = \"jelly\",\n  o = \"jelly-duo\",\n  u = \"jelly-fill\",\n  m = \"notdog\",\n  e = \"notdog-duo\",\n  y = \"slab\",\n  p = \"slab-press\",\n  s = \"thumbprint\",\n  w = \"utility\",\n  a = \"utility-duo\",\n  x = \"utility-fill\",\n  b = \"whiteboard\",\n  c = \"Classic\",\n  I = \"Duotone\",\n  F = \"Sharp\",\n  v = \"Sharp Duotone\",\n  S = \"Chisel\",\n  A = \"Etch\",\n  P = \"Graphite\",\n  j = \"Jelly\",\n  B = \"Jelly Duo\",\n  N = \"Jelly Fill\",\n  k = \"Notdog\",\n  D = \"Notdog Duo\",\n  T = \"Slab\",\n  C = \"Slab Press\",\n  W = \"Thumbprint\",\n  K = \"Utility\",\n  R = \"Utility Duo\",\n  L = \"Utility Fill\",\n  U = \"Whiteboard\",\n  dt = [i, t, d, l, f, h, n, g, o, u, m, e, y, p, s, w, a, x, b],\n  ht = (_ht = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_ht, i, c), t, I), d, F), l, v), f, S), h, A), n, P), g, j), o, B), u, N), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_ht, m, k), e, D), y, T), p, C), s, W), w, K), a, R), x, L), b, U));\nvar yt = {\n    classic: {\n      900: \"fas\",\n      400: \"far\",\n      normal: \"far\",\n      300: \"fal\",\n      100: \"fat\"\n    },\n    duotone: {\n      900: \"fad\",\n      400: \"fadr\",\n      300: \"fadl\",\n      100: \"fadt\"\n    },\n    sharp: {\n      900: \"fass\",\n      400: \"fasr\",\n      300: \"fasl\",\n      100: \"fast\"\n    },\n    \"sharp-duotone\": {\n      900: \"fasds\",\n      400: \"fasdr\",\n      300: \"fasdl\",\n      100: \"fasdt\"\n    },\n    slab: {\n      400: \"faslr\"\n    },\n    \"slab-press\": {\n      400: \"faslpr\"\n    },\n    whiteboard: {\n      600: \"fawsb\"\n    },\n    thumbprint: {\n      300: \"fatl\"\n    },\n    notdog: {\n      900: \"fans\"\n    },\n    \"notdog-duo\": {\n      900: \"fands\"\n    },\n    etch: {\n      900: \"faes\"\n    },\n    graphite: {\n      100: \"fagt\"\n    },\n    chisel: {\n      400: \"facr\"\n    },\n    jelly: {\n      400: \"fajr\"\n    },\n    \"jelly-fill\": {\n      400: \"fajfr\"\n    },\n    \"jelly-duo\": {\n      400: \"fajdr\"\n    },\n    utility: {\n      600: \"fausb\"\n    },\n    \"utility-duo\": {\n      600: \"faudsb\"\n    },\n    \"utility-fill\": {\n      600: \"faufsb\"\n    }\n  };\nvar Kt = {\n    \"Font Awesome 7 Free\": {\n      900: \"fas\",\n      400: \"far\"\n    },\n    \"Font Awesome 7 Pro\": {\n      900: \"fas\",\n      400: \"far\",\n      normal: \"far\",\n      300: \"fal\",\n      100: \"fat\"\n    },\n    \"Font Awesome 7 Brands\": {\n      400: \"fab\",\n      normal: \"fab\"\n    },\n    \"Font Awesome 7 Duotone\": {\n      900: \"fad\",\n      400: \"fadr\",\n      normal: \"fadr\",\n      300: \"fadl\",\n      100: \"fadt\"\n    },\n    \"Font Awesome 7 Sharp\": {\n      900: \"fass\",\n      400: \"fasr\",\n      normal: \"fasr\",\n      300: \"fasl\",\n      100: \"fast\"\n    },\n    \"Font Awesome 7 Sharp Duotone\": {\n      900: \"fasds\",\n      400: \"fasdr\",\n      normal: \"fasdr\",\n      300: \"fasdl\",\n      100: \"fasdt\"\n    },\n    \"Font Awesome 7 Jelly\": {\n      400: \"fajr\",\n      normal: \"fajr\"\n    },\n    \"Font Awesome 7 Jelly Fill\": {\n      400: \"fajfr\",\n      normal: \"fajfr\"\n    },\n    \"Font Awesome 7 Jelly Duo\": {\n      400: \"fajdr\",\n      normal: \"fajdr\"\n    },\n    \"Font Awesome 7 Slab\": {\n      400: \"faslr\",\n      normal: \"faslr\"\n    },\n    \"Font Awesome 7 Slab Press\": {\n      400: \"faslpr\",\n      normal: \"faslpr\"\n    },\n    \"Font Awesome 7 Thumbprint\": {\n      300: \"fatl\",\n      normal: \"fatl\"\n    },\n    \"Font Awesome 7 Notdog\": {\n      900: \"fans\",\n      normal: \"fans\"\n    },\n    \"Font Awesome 7 Notdog Duo\": {\n      900: \"fands\",\n      normal: \"fands\"\n    },\n    \"Font Awesome 7 Etch\": {\n      900: \"faes\",\n      normal: \"faes\"\n    },\n    \"Font Awesome 7 Graphite\": {\n      100: \"fagt\",\n      normal: \"fagt\"\n    },\n    \"Font Awesome 7 Chisel\": {\n      400: \"facr\",\n      normal: \"facr\"\n    },\n    \"Font Awesome 7 Whiteboard\": {\n      600: \"fawsb\",\n      normal: \"fawsb\"\n    },\n    \"Font Awesome 7 Utility\": {\n      600: \"fausb\",\n      normal: \"fausb\"\n    },\n    \"Font Awesome 7 Utility Duo\": {\n      600: \"faudsb\",\n      normal: \"faudsb\"\n    },\n    \"Font Awesome 7 Utility Fill\": {\n      600: \"faufsb\",\n      normal: \"faufsb\"\n    }\n  };\nvar Et = new Map([[\"classic\", {\n    defaultShortPrefixId: \"fas\",\n    defaultStyleId: \"solid\",\n    styleIds: [\"solid\", \"regular\", \"light\", \"thin\", \"brands\"],\n    futureStyleIds: [],\n    defaultFontWeight: 900\n  }], [\"duotone\", {\n    defaultShortPrefixId: \"fad\",\n    defaultStyleId: \"solid\",\n    styleIds: [\"solid\", \"regular\", \"light\", \"thin\"],\n    futureStyleIds: [],\n    defaultFontWeight: 900\n  }], [\"sharp\", {\n    defaultShortPrefixId: \"fass\",\n    defaultStyleId: \"solid\",\n    styleIds: [\"solid\", \"regular\", \"light\", \"thin\"],\n    futureStyleIds: [],\n    defaultFontWeight: 900\n  }], [\"sharp-duotone\", {\n    defaultShortPrefixId: \"fasds\",\n    defaultStyleId: \"solid\",\n    styleIds: [\"solid\", \"regular\", \"light\", \"thin\"],\n    futureStyleIds: [],\n    defaultFontWeight: 900\n  }], [\"chisel\", {\n    defaultShortPrefixId: \"facr\",\n    defaultStyleId: \"regular\",\n    styleIds: [\"regular\"],\n    futureStyleIds: [],\n    defaultFontWeight: 400\n  }], [\"etch\", {\n    defaultShortPrefixId: \"faes\",\n    defaultStyleId: \"solid\",\n    styleIds: [\"solid\"],\n    futureStyleIds: [],\n    defaultFontWeight: 900\n  }], [\"graphite\", {\n    defaultShortPrefixId: \"fagt\",\n    defaultStyleId: \"thin\",\n    styleIds: [\"thin\"],\n    futureStyleIds: [],\n    defaultFontWeight: 100\n  }], [\"jelly\", {\n    defaultShortPrefixId: \"fajr\",\n    defaultStyleId: \"regular\",\n    styleIds: [\"regular\"],\n    futureStyleIds: [],\n    defaultFontWeight: 400\n  }], [\"jelly-duo\", {\n    defaultShortPrefixId: \"fajdr\",\n    defaultStyleId: \"regular\",\n    styleIds: [\"regular\"],\n    futureStyleIds: [],\n    defaultFontWeight: 400\n  }], [\"jelly-fill\", {\n    defaultShortPrefixId: \"fajfr\",\n    defaultStyleId: \"regular\",\n    styleIds: [\"regular\"],\n    futureStyleIds: [],\n    defaultFontWeight: 400\n  }], [\"notdog\", {\n    defaultShortPrefixId: \"fans\",\n    defaultStyleId: \"solid\",\n    styleIds: [\"solid\"],\n    futureStyleIds: [],\n    defaultFontWeight: 900\n  }], [\"notdog-duo\", {\n    defaultShortPrefixId: \"fands\",\n    defaultStyleId: \"solid\",\n    styleIds: [\"solid\"],\n    futureStyleIds: [],\n    defaultFontWeight: 900\n  }], [\"slab\", {\n    defaultShortPrefixId: \"faslr\",\n    defaultStyleId: \"regular\",\n    styleIds: [\"regular\"],\n    futureStyleIds: [],\n    defaultFontWeight: 400\n  }], [\"slab-press\", {\n    defaultShortPrefixId: \"faslpr\",\n    defaultStyleId: \"regular\",\n    styleIds: [\"regular\"],\n    futureStyleIds: [],\n    defaultFontWeight: 400\n  }], [\"thumbprint\", {\n    defaultShortPrefixId: \"fatl\",\n    defaultStyleId: \"light\",\n    styleIds: [\"light\"],\n    futureStyleIds: [],\n    defaultFontWeight: 300\n  }], [\"utility\", {\n    defaultShortPrefixId: \"fausb\",\n    defaultStyleId: \"semibold\",\n    styleIds: [\"semibold\"],\n    futureStyleIds: [],\n    defaultFontWeight: 600\n  }], [\"utility-duo\", {\n    defaultShortPrefixId: \"faudsb\",\n    defaultStyleId: \"semibold\",\n    styleIds: [\"semibold\"],\n    futureStyleIds: [],\n    defaultFontWeight: 600\n  }], [\"utility-fill\", {\n    defaultShortPrefixId: \"faufsb\",\n    defaultStyleId: \"semibold\",\n    styleIds: [\"semibold\"],\n    futureStyleIds: [],\n    defaultFontWeight: 600\n  }], [\"whiteboard\", {\n    defaultShortPrefixId: \"fawsb\",\n    defaultStyleId: \"semibold\",\n    styleIds: [\"semibold\"],\n    futureStyleIds: [],\n    defaultFontWeight: 600\n  }]]),\n  Mt = {\n    chisel: {\n      regular: \"facr\"\n    },\n    classic: {\n      brands: \"fab\",\n      light: \"fal\",\n      regular: \"far\",\n      solid: \"fas\",\n      thin: \"fat\"\n    },\n    duotone: {\n      light: \"fadl\",\n      regular: \"fadr\",\n      solid: \"fad\",\n      thin: \"fadt\"\n    },\n    etch: {\n      solid: \"faes\"\n    },\n    graphite: {\n      thin: \"fagt\"\n    },\n    jelly: {\n      regular: \"fajr\"\n    },\n    \"jelly-duo\": {\n      regular: \"fajdr\"\n    },\n    \"jelly-fill\": {\n      regular: \"fajfr\"\n    },\n    notdog: {\n      solid: \"fans\"\n    },\n    \"notdog-duo\": {\n      solid: \"fands\"\n    },\n    sharp: {\n      light: \"fasl\",\n      regular: \"fasr\",\n      solid: \"fass\",\n      thin: \"fast\"\n    },\n    \"sharp-duotone\": {\n      light: \"fasdl\",\n      regular: \"fasdr\",\n      solid: \"fasds\",\n      thin: \"fasdt\"\n    },\n    slab: {\n      regular: \"faslr\"\n    },\n    \"slab-press\": {\n      regular: \"faslpr\"\n    },\n    thumbprint: {\n      light: \"fatl\"\n    },\n    utility: {\n      semibold: \"fausb\"\n    },\n    \"utility-duo\": {\n      semibold: \"faudsb\"\n    },\n    \"utility-fill\": {\n      semibold: \"faufsb\"\n    },\n    whiteboard: {\n      semibold: \"fawsb\"\n    }\n  };\nvar Ht = [\"fak\", \"fa-kit\", \"fakd\", \"fa-kit-duotone\"],\n  Qt = {\n    kit: {\n      fak: \"kit\",\n      \"fa-kit\": \"kit\"\n    },\n    \"kit-duotone\": {\n      fakd: \"kit-duotone\",\n      \"fa-kit-duotone\": \"kit-duotone\"\n    }\n  },\n  Xt = [\"kit\"];\nvar J = \"kit\",\n  r = \"kit-duotone\",\n  E = \"Kit\",\n  _ = \"Kit Duotone\",\n  ll = _defineProperty(_defineProperty({}, J, E), r, _);\nvar sl = {\n  kit: {\n    \"fa-kit\": \"fak\"\n  },\n  \"kit-duotone\": {\n    \"fa-kit-duotone\": \"fakd\"\n  }\n};\nvar hl = {\n    \"Font Awesome Kit\": {\n      400: \"fak\",\n      normal: \"fak\"\n    },\n    \"Font Awesome Kit Duotone\": {\n      400: \"fakd\",\n      normal: \"fakd\"\n    }\n  },\n  nl = {\n    kit: {\n      fak: \"fa-kit\"\n    },\n    \"kit-duotone\": {\n      fakd: \"fa-kit-duotone\"\n    }\n  };\nvar ml = {\n    kit: {\n      kit: \"fak\"\n    },\n    \"kit-duotone\": {\n      \"kit-duotone\": \"fakd\"\n    }\n  };\n\nvar _wt;\nvar t$1 = {\n    GROUP: \"duotone-group\",\n    SWAP_OPACITY: \"swap-opacity\",\n    PRIMARY: \"primary\",\n    SECONDARY: \"secondary\"\n  },\n  f$1 = [\"fa-classic\", \"fa-duotone\", \"fa-sharp\", \"fa-sharp-duotone\", \"fa-thumbprint\", \"fa-whiteboard\", \"fa-notdog\", \"fa-notdog-duo\", \"fa-chisel\", \"fa-etch\", \"fa-graphite\", \"fa-jelly\", \"fa-jelly-fill\", \"fa-jelly-duo\", \"fa-slab\", \"fa-slab-press\", \"fa-utility\", \"fa-utility-duo\", \"fa-utility-fill\"];\nvar h$1 = \"classic\",\n  o$1 = \"duotone\",\n  n$1 = \"sharp\",\n  s$1 = \"sharp-duotone\",\n  u$1 = \"chisel\",\n  g$1 = \"etch\",\n  y$1 = \"graphite\",\n  m$1 = \"jelly\",\n  a$1 = \"jelly-duo\",\n  p$1 = \"jelly-fill\",\n  w$1 = \"notdog\",\n  e$1 = \"notdog-duo\",\n  b$1 = \"slab\",\n  c$1 = \"slab-press\",\n  r$1 = \"thumbprint\",\n  x$1 = \"utility\",\n  i$1 = \"utility-duo\",\n  I$1 = \"utility-fill\",\n  F$1 = \"whiteboard\",\n  v$1 = \"Classic\",\n  S$1 = \"Duotone\",\n  A$1 = \"Sharp\",\n  P$1 = \"Sharp Duotone\",\n  j$1 = \"Chisel\",\n  B$1 = \"Etch\",\n  N$1 = \"Graphite\",\n  k$1 = \"Jelly\",\n  D$1 = \"Jelly Duo\",\n  C$1 = \"Jelly Fill\",\n  T$1 = \"Notdog\",\n  L$1 = \"Notdog Duo\",\n  W$1 = \"Slab\",\n  R$1 = \"Slab Press\",\n  K$1 = \"Thumbprint\",\n  U$1 = \"Utility\",\n  J$1 = \"Utility Duo\",\n  E$1 = \"Utility Fill\",\n  _$1 = \"Whiteboard\",\n  wt$1 = (_wt = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_wt, h$1, v$1), o$1, S$1), n$1, A$1), s$1, P$1), u$1, j$1), g$1, B$1), y$1, N$1), m$1, k$1), a$1, D$1), p$1, C$1), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_wt, w$1, T$1), e$1, L$1), b$1, W$1), c$1, R$1), r$1, K$1), x$1, U$1), i$1, J$1), I$1, E$1), F$1, _$1));\nvar G$1 = \"kit\",\n  d$1 = \"kit-duotone\",\n  M$1 = \"Kit\",\n  O = \"Kit Duotone\",\n  dl$1 = _defineProperty(_defineProperty({}, G$1, M$1), d$1, O);\nvar Hl = {\n    classic: {\n      \"fa-brands\": \"fab\",\n      \"fa-duotone\": \"fad\",\n      \"fa-light\": \"fal\",\n      \"fa-regular\": \"far\",\n      \"fa-solid\": \"fas\",\n      \"fa-thin\": \"fat\"\n    },\n    duotone: {\n      \"fa-regular\": \"fadr\",\n      \"fa-light\": \"fadl\",\n      \"fa-thin\": \"fadt\"\n    },\n    sharp: {\n      \"fa-solid\": \"fass\",\n      \"fa-regular\": \"fasr\",\n      \"fa-light\": \"fasl\",\n      \"fa-thin\": \"fast\"\n    },\n    \"sharp-duotone\": {\n      \"fa-solid\": \"fasds\",\n      \"fa-regular\": \"fasdr\",\n      \"fa-light\": \"fasdl\",\n      \"fa-thin\": \"fasdt\"\n    },\n    slab: {\n      \"fa-regular\": \"faslr\"\n    },\n    \"slab-press\": {\n      \"fa-regular\": \"faslpr\"\n    },\n    whiteboard: {\n      \"fa-semibold\": \"fawsb\"\n    },\n    thumbprint: {\n      \"fa-light\": \"fatl\"\n    },\n    notdog: {\n      \"fa-solid\": \"fans\"\n    },\n    \"notdog-duo\": {\n      \"fa-solid\": \"fands\"\n    },\n    etch: {\n      \"fa-solid\": \"faes\"\n    },\n    graphite: {\n      \"fa-thin\": \"fagt\"\n    },\n    jelly: {\n      \"fa-regular\": \"fajr\"\n    },\n    \"jelly-fill\": {\n      \"fa-regular\": \"fajfr\"\n    },\n    \"jelly-duo\": {\n      \"fa-regular\": \"fajdr\"\n    },\n    chisel: {\n      \"fa-regular\": \"facr\"\n    },\n    utility: {\n      \"fa-semibold\": \"fausb\"\n    },\n    \"utility-duo\": {\n      \"fa-semibold\": \"faudsb\"\n    },\n    \"utility-fill\": {\n      \"fa-semibold\": \"faufsb\"\n    }\n  },\n  Y$1 = {\n    classic: [\"fas\", \"far\", \"fal\", \"fat\", \"fad\"],\n    duotone: [\"fadr\", \"fadl\", \"fadt\"],\n    sharp: [\"fass\", \"fasr\", \"fasl\", \"fast\"],\n    \"sharp-duotone\": [\"fasds\", \"fasdr\", \"fasdl\", \"fasdt\"],\n    slab: [\"faslr\"],\n    \"slab-press\": [\"faslpr\"],\n    whiteboard: [\"fawsb\"],\n    thumbprint: [\"fatl\"],\n    notdog: [\"fans\"],\n    \"notdog-duo\": [\"fands\"],\n    etch: [\"faes\"],\n    graphite: [\"fagt\"],\n    jelly: [\"fajr\"],\n    \"jelly-fill\": [\"fajfr\"],\n    \"jelly-duo\": [\"fajdr\"],\n    chisel: [\"facr\"],\n    utility: [\"fausb\"],\n    \"utility-duo\": [\"faudsb\"],\n    \"utility-fill\": [\"faufsb\"]\n  },\n  Xl = {\n    classic: {\n      fab: \"fa-brands\",\n      fad: \"fa-duotone\",\n      fal: \"fa-light\",\n      far: \"fa-regular\",\n      fas: \"fa-solid\",\n      fat: \"fa-thin\"\n    },\n    duotone: {\n      fadr: \"fa-regular\",\n      fadl: \"fa-light\",\n      fadt: \"fa-thin\"\n    },\n    sharp: {\n      fass: \"fa-solid\",\n      fasr: \"fa-regular\",\n      fasl: \"fa-light\",\n      fast: \"fa-thin\"\n    },\n    \"sharp-duotone\": {\n      fasds: \"fa-solid\",\n      fasdr: \"fa-regular\",\n      fasdl: \"fa-light\",\n      fasdt: \"fa-thin\"\n    },\n    slab: {\n      faslr: \"fa-regular\"\n    },\n    \"slab-press\": {\n      faslpr: \"fa-regular\"\n    },\n    whiteboard: {\n      fawsb: \"fa-semibold\"\n    },\n    thumbprint: {\n      fatl: \"fa-light\"\n    },\n    notdog: {\n      fans: \"fa-solid\"\n    },\n    \"notdog-duo\": {\n      fands: \"fa-solid\"\n    },\n    etch: {\n      faes: \"fa-solid\"\n    },\n    graphite: {\n      fagt: \"fa-thin\"\n    },\n    jelly: {\n      fajr: \"fa-regular\"\n    },\n    \"jelly-fill\": {\n      fajfr: \"fa-regular\"\n    },\n    \"jelly-duo\": {\n      fajdr: \"fa-regular\"\n    },\n    chisel: {\n      facr: \"fa-regular\"\n    },\n    utility: {\n      fausb: \"fa-semibold\"\n    },\n    \"utility-duo\": {\n      faudsb: \"fa-semibold\"\n    },\n    \"utility-fill\": {\n      faufsb: \"fa-semibold\"\n    }\n  },\n  V$1 = [\"fa-solid\", \"fa-regular\", \"fa-light\", \"fa-thin\", \"fa-duotone\", \"fa-brands\", \"fa-semibold\"],\n  lo = [\"fa\", \"fas\", \"far\", \"fal\", \"fat\", \"fad\", \"fadr\", \"fadl\", \"fadt\", \"fab\", \"fass\", \"fasr\", \"fasl\", \"fast\", \"fasds\", \"fasdr\", \"fasdl\", \"fasdt\", \"faslr\", \"faslpr\", \"fawsb\", \"fatl\", \"fans\", \"fands\", \"faes\", \"fagt\", \"fajr\", \"fajfr\", \"fajdr\", \"facr\", \"fausb\", \"faudsb\", \"faufsb\"].concat(f$1, V$1),\n  $ = [\"solid\", \"regular\", \"light\", \"thin\", \"duotone\", \"brands\", \"semibold\"],\n  z$1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n  q$1 = z$1.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]),\n  H$1 = [\"aw\", \"fw\", \"pull-left\", \"pull-right\"],\n  so = [].concat(_toConsumableArray(Object.keys(Y$1)), $, H$1, [\"2xs\", \"xs\", \"sm\", \"lg\", \"xl\", \"2xl\", \"beat\", \"border\", \"fade\", \"beat-fade\", \"bounce\", \"flip-both\", \"flip-horizontal\", \"flip-vertical\", \"flip\", \"inverse\", \"layers\", \"layers-bottom-left\", \"layers-bottom-right\", \"layers-counter\", \"layers-text\", \"layers-top-left\", \"layers-top-right\", \"li\", \"pull-end\", \"pull-start\", \"pulse\", \"rotate-180\", \"rotate-270\", \"rotate-90\", \"rotate-by\", \"shake\", \"spin-pulse\", \"spin-reverse\", \"spin\", \"stack-1x\", \"stack-2x\", \"stack\", \"ul\", \"width-auto\", \"width-fixed\", t$1.GROUP, t$1.SWAP_OPACITY, t$1.PRIMARY, t$1.SECONDARY]).concat(z$1.map(function (l) {\n    return \"\".concat(l, \"x\");\n  })).concat(q$1.map(function (l) {\n    return \"w-\".concat(l);\n  }));\nvar fo = {\n    \"Font Awesome 5 Free\": {\n      900: \"fas\",\n      400: \"far\"\n    },\n    \"Font Awesome 5 Pro\": {\n      900: \"fas\",\n      400: \"far\",\n      normal: \"far\",\n      300: \"fal\"\n    },\n    \"Font Awesome 5 Brands\": {\n      400: \"fab\",\n      normal: \"fab\"\n    },\n    \"Font Awesome 5 Duotone\": {\n      900: \"fad\"\n    }\n  };\n\nvar NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nvar UNITS_IN_GRID = 16;\nvar DEFAULT_CSS_PREFIX = 'fa';\nvar DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nvar DATA_FA_I2SVG = 'data-fa-i2svg';\nvar DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nvar DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nvar DATA_PREFIX = 'data-prefix';\nvar DATA_ICON = 'data-icon';\nvar HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nvar MUTATION_APPROACH_ASYNC = 'async';\nvar TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\nvar PSEUDO_ELEMENTS = ['::before', '::after', ':before', ':after'];\nvar PRODUCTION = function () {\n  try {\n    return process.env.NODE_ENV === 'production';\n  } catch (e$$1) {\n    return false;\n  }\n}();\nfunction familyProxy(obj) {\n  // Defaults to the classic family if family is not available\n  return new Proxy(obj, {\n    get: function get(target, prop) {\n      return prop in target ? target[prop] : target[i];\n    }\n  });\n}\nvar _PREFIX_TO_STYLE = _objectSpread2({}, Q);\n\n// We changed FACSSClassesToStyleId in the icons repo to be canonical and as such, \"classic\" family does not have any\n// duotone styles.  But we do still need duotone in _PREFIX_TO_STYLE below, so we are manually adding\n// {'fa-duotone': 'duotone'}\n_PREFIX_TO_STYLE[i] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n  'fa-duotone': 'duotone'\n}), Q[i]), Qt['kit']), Qt['kit-duotone']);\nvar PREFIX_TO_STYLE = familyProxy(_PREFIX_TO_STYLE);\nvar _STYLE_TO_PREFIX = _objectSpread2({}, Mt);\n\n// We changed FAStyleIdToShortPrefixId in the icons repo to be canonical and as such, \"classic\" family does not have any\n// duotone styles.  But we do still need duotone in _STYLE_TO_PREFIX below, so we are manually adding {duotone: 'fad'}\n_STYLE_TO_PREFIX[i] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n  duotone: 'fad'\n}), _STYLE_TO_PREFIX[i]), ml['kit']), ml['kit-duotone']);\nvar STYLE_TO_PREFIX = familyProxy(_STYLE_TO_PREFIX);\nvar _PREFIX_TO_LONG_STYLE = _objectSpread2({}, Xl);\n_PREFIX_TO_LONG_STYLE[i] = _objectSpread2(_objectSpread2({}, _PREFIX_TO_LONG_STYLE[i]), nl['kit']);\nvar PREFIX_TO_LONG_STYLE = familyProxy(_PREFIX_TO_LONG_STYLE);\nvar _LONG_STYLE_TO_PREFIX = _objectSpread2({}, Hl);\n_LONG_STYLE_TO_PREFIX[i] = _objectSpread2(_objectSpread2({}, _LONG_STYLE_TO_PREFIX[i]), sl['kit']);\nvar LONG_STYLE_TO_PREFIX = familyProxy(_LONG_STYLE_TO_PREFIX);\nvar ICON_SELECTION_SYNTAX_PATTERN = G;\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = M;\nvar _FONT_WEIGHT_TO_PREFIX = _objectSpread2({}, yt);\nvar FONT_WEIGHT_TO_PREFIX = familyProxy(_FONT_WEIGHT_TO_PREFIX);\nvar ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nvar DUOTONE_CLASSES = X;\nvar RESERVED_CLASSES = [].concat(_toConsumableArray(Xt), _toConsumableArray(so));\n\nvar initial = WINDOW.FontAwesomeConfig || {};\nfunction getAttrConfig(attr) {\n  var element = DOCUMENT.querySelector('script[' + attr + ']');\n  if (element) {\n    return element.getAttribute(attr);\n  }\n}\nfunction coerce(val) {\n  // Getting an empty string will occur if the attribute is set on the HTML tag but without a value\n  // We'll assume that this is an indication that it should be toggled to true\n  if (val === '') return true;\n  if (val === 'false') return false;\n  if (val === 'true') return true;\n  return val;\n}\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n  var attrs = [['data-family-prefix', 'familyPrefix'], ['data-css-prefix', 'cssPrefix'], ['data-family-default', 'familyDefault'], ['data-style-default', 'styleDefault'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-search-pseudo-elements-warnings', 'searchPseudoElementsWarnings'], ['data-search-pseudo-elements-full-scan', 'searchPseudoElementsFullScan'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n  attrs.forEach(function (_ref) {\n    var _ref2 = _slicedToArray(_ref, 2),\n      attr = _ref2[0],\n      key = _ref2[1];\n    var val = coerce(getAttrConfig(attr));\n    if (val !== undefined && val !== null) {\n      initial[key] = val;\n    }\n  });\n}\nvar _default = {\n  styleDefault: 'solid',\n  familyDefault: i,\n  cssPrefix: DEFAULT_CSS_PREFIX,\n  replacementClass: DEFAULT_REPLACEMENT_CLASS,\n  autoReplaceSvg: true,\n  autoAddCss: true,\n  searchPseudoElements: false,\n  searchPseudoElementsWarnings: true,\n  searchPseudoElementsFullScan: false,\n  observeMutations: true,\n  mutateApproach: 'async',\n  keepOriginalSource: true,\n  measurePerformance: false,\n  showMissingIcons: true\n};\n\n// familyPrefix is deprecated but we must still support it if present\nif (initial.familyPrefix) {\n  initial.cssPrefix = initial.familyPrefix;\n}\nvar _config = _objectSpread2(_objectSpread2({}, _default), initial);\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\nvar config = {};\nObject.keys(_default).forEach(function (key) {\n  Object.defineProperty(config, key, {\n    enumerable: true,\n    set: function set(val) {\n      _config[key] = val;\n      _onChangeCb.forEach(function (cb) {\n        return cb(config);\n      });\n    },\n    get: function get() {\n      return _config[key];\n    }\n  });\n});\n\n// familyPrefix is deprecated as of 6.2.0 and should be removed in 7.0.0\nObject.defineProperty(config, 'familyPrefix', {\n  enumerable: true,\n  set: function set(val) {\n    _config.cssPrefix = val;\n    _onChangeCb.forEach(function (cb) {\n      return cb(config);\n    });\n  },\n  get: function get() {\n    return _config.cssPrefix;\n  }\n});\nWINDOW.FontAwesomeConfig = config;\nvar _onChangeCb = [];\nfunction onChange(cb) {\n  _onChangeCb.push(cb);\n  return function () {\n    _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);\n  };\n}\n\nvar d$2 = UNITS_IN_GRID;\nvar meaninglessTransform = {\n  size: 16,\n  x: 0,\n  y: 0,\n  rotate: 0,\n  flipX: false,\n  flipY: false\n};\nfunction insertCss(css) {\n  if (!css || !IS_DOM) {\n    return;\n  }\n  var style = DOCUMENT.createElement('style');\n  style.setAttribute('type', 'text/css');\n  style.innerHTML = css;\n  var headChildren = DOCUMENT.head.childNodes;\n  var beforeChild = null;\n  for (var i = headChildren.length - 1; i > -1; i--) {\n    var child = headChildren[i];\n    var tagName = (child.tagName || '').toUpperCase();\n    if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n      beforeChild = child;\n    }\n  }\n  DOCUMENT.head.insertBefore(style, beforeChild);\n  return css;\n}\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n  var size = 12;\n  var id = '';\n  while (size-- > 0) {\n    id += idPool[Math.random() * 62 | 0];\n  }\n  return id;\n}\nfunction toArray(obj) {\n  var array = [];\n  for (var i = (obj || []).length >>> 0; i--;) {\n    array[i] = obj[i];\n  }\n  return array;\n}\nfunction classArray(node) {\n  if (node.classList) {\n    return toArray(node.classList);\n  } else {\n    return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n      return i;\n    });\n  }\n}\nfunction htmlEscape(str) {\n  return \"\".concat(str).replace(/&/g, '&amp;').replace(/\"/g, '&quot;').replace(/'/g, '&#39;').replace(/</g, '&lt;').replace(/>/g, '&gt;');\n}\nfunction joinAttributes(attributes) {\n  return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n    return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n  }, '').trim();\n}\nfunction joinStyles(styles) {\n  return Object.keys(styles || {}).reduce(function (acc, styleName) {\n    return acc + \"\".concat(styleName, \": \").concat(styles[styleName].trim(), \";\");\n  }, '');\n}\nfunction transformIsMeaningful(transform) {\n  return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\nfunction transformForSvg(_ref) {\n  var transform = _ref.transform,\n    containerWidth = _ref.containerWidth,\n    iconWidth = _ref.iconWidth;\n  var outer = {\n    transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n  };\n  var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n  var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n  var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n  var inner = {\n    transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n  };\n  var path = {\n    transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n  };\n  return {\n    outer: outer,\n    inner: inner,\n    path: path\n  };\n}\nfunction transformForCss(_ref2) {\n  var transform = _ref2.transform,\n    _ref2$width = _ref2.width,\n    width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n    _ref2$height = _ref2.height,\n    height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n    _ref2$startCentered = _ref2.startCentered,\n    startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n  var val = '';\n  if (startCentered && IS_IE) {\n    val += \"translate(\".concat(transform.x / d$2 - width / 2, \"em, \").concat(transform.y / d$2 - height / 2, \"em) \");\n  } else if (startCentered) {\n    val += \"translate(calc(-50% + \".concat(transform.x / d$2, \"em), calc(-50% + \").concat(transform.y / d$2, \"em)) \");\n  } else {\n    val += \"translate(\".concat(transform.x / d$2, \"em, \").concat(transform.y / d$2, \"em) \");\n  }\n  val += \"scale(\".concat(transform.size / d$2 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d$2 * (transform.flipY ? -1 : 1), \") \");\n  val += \"rotate(\".concat(transform.rotate, \"deg) \");\n  return val;\n}\n\nvar baseStyles = \":root, :host {\\n  --fa-font-solid: normal 900 1em/1 'Font Awesome 7 Free';\\n  --fa-font-regular: normal 400 1em/1 'Font Awesome 7 Free';\\n  --fa-font-light: normal 300 1em/1 'Font Awesome 7 Pro';\\n  --fa-font-thin: normal 100 1em/1 'Font Awesome 7 Pro';\\n  --fa-font-duotone: normal 900 1em/1 'Font Awesome 7 Duotone';\\n  --fa-font-duotone-regular: normal 400 1em/1 'Font Awesome 7 Duotone';\\n  --fa-font-duotone-light: normal 300 1em/1 'Font Awesome 7 Duotone';\\n  --fa-font-duotone-thin: normal 100 1em/1 'Font Awesome 7 Duotone';\\n  --fa-font-brands: normal 400 1em/1 'Font Awesome 7 Brands';\\n  --fa-font-sharp-solid: normal 900 1em/1 'Font Awesome 7 Sharp';\\n  --fa-font-sharp-regular: normal 400 1em/1 'Font Awesome 7 Sharp';\\n  --fa-font-sharp-light: normal 300 1em/1 'Font Awesome 7 Sharp';\\n  --fa-font-sharp-thin: normal 100 1em/1 'Font Awesome 7 Sharp';\\n  --fa-font-sharp-duotone-solid: normal 900 1em/1 'Font Awesome 7 Sharp Duotone';\\n  --fa-font-sharp-duotone-regular: normal 400 1em/1 'Font Awesome 7 Sharp Duotone';\\n  --fa-font-sharp-duotone-light: normal 300 1em/1 'Font Awesome 7 Sharp Duotone';\\n  --fa-font-sharp-duotone-thin: normal 100 1em/1 'Font Awesome 7 Sharp Duotone';\\n  --fa-font-slab-regular: normal 400 1em/1 'Font Awesome 7 Slab';\\n  --fa-font-slab-press-regular: normal 400 1em/1 'Font Awesome 7 Slab Press';\\n  --fa-font-whiteboard-semibold: normal 600 1em/1 'Font Awesome 7 Whiteboard';\\n  --fa-font-thumbprint-light: normal 300 1em/1 'Font Awesome 7 Thumbprint';\\n  --fa-font-notdog-solid: normal 900 1em/1 'Font Awesome 7 Notdog';\\n  --fa-font-notdog-duo-solid: normal 900 1em/1 'Font Awesome 7 Notdog Duo';\\n  --fa-font-etch-solid: normal 900 1em/1 'Font Awesome 7 Etch';\\n  --fa-font-graphite-thin: normal 100 1em/1 'Font Awesome 7 Graphite';\\n  --fa-font-jelly-regular: normal 400 1em/1 'Font Awesome 7 Jelly';\\n  --fa-font-jelly-fill-regular: normal 400 1em/1 'Font Awesome 7 Jelly Fill';\\n  --fa-font-jelly-duo-regular: normal 400 1em/1 'Font Awesome 7 Jelly Duo';\\n  --fa-font-chisel-regular: normal 400 1em/1 'Font Awesome 7 Chisel';\\n  --fa-font-utility-semibold: normal 600 1em/1 'Font Awesome 7 Utility';\\n  --fa-font-utility-duo-semibold: normal 600 1em/1 'Font Awesome 7 Utility Duo';\\n  --fa-font-utility-fill-semibold: normal 600 1em/1 'Font Awesome 7 Utility Fill';\\n}\\n\\n.svg-inline--fa {\\n  box-sizing: content-box;\\n  display: var(--fa-display, inline-block);\\n  height: 1em;\\n  overflow: visible;\\n  vertical-align: -0.125em;\\n  width: var(--fa-width, 1.25em);\\n}\\n.svg-inline--fa.fa-2xs {\\n  vertical-align: 0.1em;\\n}\\n.svg-inline--fa.fa-xs {\\n  vertical-align: 0em;\\n}\\n.svg-inline--fa.fa-sm {\\n  vertical-align: -0.0714285714em;\\n}\\n.svg-inline--fa.fa-lg {\\n  vertical-align: -0.2em;\\n}\\n.svg-inline--fa.fa-xl {\\n  vertical-align: -0.25em;\\n}\\n.svg-inline--fa.fa-2xl {\\n  vertical-align: -0.3125em;\\n}\\n.svg-inline--fa.fa-pull-left,\\n.svg-inline--fa .fa-pull-start {\\n  float: inline-start;\\n  margin-inline-end: var(--fa-pull-margin, 0.3em);\\n}\\n.svg-inline--fa.fa-pull-right,\\n.svg-inline--fa .fa-pull-end {\\n  float: inline-end;\\n  margin-inline-start: var(--fa-pull-margin, 0.3em);\\n}\\n.svg-inline--fa.fa-li {\\n  width: var(--fa-li-width, 2em);\\n  inset-inline-start: calc(-1 * var(--fa-li-width, 2em));\\n  inset-block-start: 0.25em; /* syncing vertical alignment with Web Font rendering */\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n  display: inline-block;\\n  position: absolute;\\n  text-align: center;\\n}\\n\\n.fa-layers {\\n  display: inline-block;\\n  height: 1em;\\n  position: relative;\\n  text-align: center;\\n  vertical-align: -0.125em;\\n  width: var(--fa-width, 1.25em);\\n}\\n.fa-layers .svg-inline--fa {\\n  inset: 0;\\n  margin: auto;\\n  position: absolute;\\n  transform-origin: center center;\\n}\\n\\n.fa-layers-text {\\n  left: 50%;\\n  top: 50%;\\n  transform: translate(-50%, -50%);\\n  transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n  background-color: var(--fa-counter-background-color, #ff253a);\\n  border-radius: var(--fa-counter-border-radius, 1em);\\n  box-sizing: border-box;\\n  color: var(--fa-inverse, #fff);\\n  line-height: var(--fa-counter-line-height, 1);\\n  max-width: var(--fa-counter-max-width, 5em);\\n  min-width: var(--fa-counter-min-width, 1.5em);\\n  overflow: hidden;\\n  padding: var(--fa-counter-padding, 0.25em 0.5em);\\n  right: var(--fa-right, 0);\\n  text-overflow: ellipsis;\\n  top: var(--fa-top, 0);\\n  transform: scale(var(--fa-counter-scale, 0.25));\\n  transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n  bottom: var(--fa-bottom, 0);\\n  right: var(--fa-right, 0);\\n  top: auto;\\n  transform: scale(var(--fa-layers-scale, 0.25));\\n  transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n  bottom: var(--fa-bottom, 0);\\n  left: var(--fa-left, 0);\\n  right: auto;\\n  top: auto;\\n  transform: scale(var(--fa-layers-scale, 0.25));\\n  transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n  top: var(--fa-top, 0);\\n  right: var(--fa-right, 0);\\n  transform: scale(var(--fa-layers-scale, 0.25));\\n  transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n  left: var(--fa-left, 0);\\n  right: auto;\\n  top: var(--fa-top, 0);\\n  transform: scale(var(--fa-layers-scale, 0.25));\\n  transform-origin: top left;\\n}\\n\\n.fa-1x {\\n  font-size: 1em;\\n}\\n\\n.fa-2x {\\n  font-size: 2em;\\n}\\n\\n.fa-3x {\\n  font-size: 3em;\\n}\\n\\n.fa-4x {\\n  font-size: 4em;\\n}\\n\\n.fa-5x {\\n  font-size: 5em;\\n}\\n\\n.fa-6x {\\n  font-size: 6em;\\n}\\n\\n.fa-7x {\\n  font-size: 7em;\\n}\\n\\n.fa-8x {\\n  font-size: 8em;\\n}\\n\\n.fa-9x {\\n  font-size: 9em;\\n}\\n\\n.fa-10x {\\n  font-size: 10em;\\n}\\n\\n.fa-2xs {\\n  font-size: calc(10 / 16 * 1em); /* converts a 10px size into an em-based value that's relative to the scale's 16px base */\\n  line-height: calc(1 / 10 * 1em); /* sets the line-height of the icon back to that of it's parent */\\n  vertical-align: calc((6 / 10 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */\\n}\\n\\n.fa-xs {\\n  font-size: calc(12 / 16 * 1em); /* converts a 12px size into an em-based value that's relative to the scale's 16px base */\\n  line-height: calc(1 / 12 * 1em); /* sets the line-height of the icon back to that of it's parent */\\n  vertical-align: calc((6 / 12 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */\\n}\\n\\n.fa-sm {\\n  font-size: calc(14 / 16 * 1em); /* converts a 14px size into an em-based value that's relative to the scale's 16px base */\\n  line-height: calc(1 / 14 * 1em); /* sets the line-height of the icon back to that of it's parent */\\n  vertical-align: calc((6 / 14 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */\\n}\\n\\n.fa-lg {\\n  font-size: calc(20 / 16 * 1em); /* converts a 20px size into an em-based value that's relative to the scale's 16px base */\\n  line-height: calc(1 / 20 * 1em); /* sets the line-height of the icon back to that of it's parent */\\n  vertical-align: calc((6 / 20 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */\\n}\\n\\n.fa-xl {\\n  font-size: calc(24 / 16 * 1em); /* converts a 24px size into an em-based value that's relative to the scale's 16px base */\\n  line-height: calc(1 / 24 * 1em); /* sets the line-height of the icon back to that of it's parent */\\n  vertical-align: calc((6 / 24 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */\\n}\\n\\n.fa-2xl {\\n  font-size: calc(32 / 16 * 1em); /* converts a 32px size into an em-based value that's relative to the scale's 16px base */\\n  line-height: calc(1 / 32 * 1em); /* sets the line-height of the icon back to that of it's parent */\\n  vertical-align: calc((6 / 32 - 0.375) * 1em); /* vertically centers the icon taking into account the surrounding text's descender */\\n}\\n\\n.fa-width-auto {\\n  --fa-width: auto;\\n}\\n\\n.fa-fw,\\n.fa-width-fixed {\\n  --fa-width: 1.25em;\\n}\\n\\n.fa-ul {\\n  list-style-type: none;\\n  margin-inline-start: var(--fa-li-margin, 2.5em);\\n  padding-inline-start: 0;\\n}\\n.fa-ul > li {\\n  position: relative;\\n}\\n\\n.fa-li {\\n  inset-inline-start: calc(-1 * var(--fa-li-width, 2em));\\n  position: absolute;\\n  text-align: center;\\n  width: var(--fa-li-width, 2em);\\n  line-height: inherit;\\n}\\n\\n/* Heads Up: Bordered Icons will not be supported in the future!\\n  - This feature will be deprecated in the next major release of Font Awesome (v8)!\\n  - You may continue to use it in this version *v7), but it will not be supported in Font Awesome v8.\\n*/\\n/* Notes:\\n* --@{v.$css-prefix}-border-width = 1/16 by default (to render as ~1px based on a 16px default font-size)\\n* --@{v.$css-prefix}-border-padding =\\n  ** 3/16 for vertical padding (to give ~2px of vertical whitespace around an icon considering it's vertical alignment)\\n  ** 4/16 for horizontal padding (to give ~4px of horizontal whitespace around an icon)\\n*/\\n.fa-border {\\n  border-color: var(--fa-border-color, #eee);\\n  border-radius: var(--fa-border-radius, 0.1em);\\n  border-style: var(--fa-border-style, solid);\\n  border-width: var(--fa-border-width, 0.0625em);\\n  box-sizing: var(--fa-border-box-sizing, content-box);\\n  padding: var(--fa-border-padding, 0.1875em 0.25em);\\n}\\n\\n.fa-pull-left,\\n.fa-pull-start {\\n  float: inline-start;\\n  margin-inline-end: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-pull-right,\\n.fa-pull-end {\\n  float: inline-end;\\n  margin-inline-start: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-beat {\\n  animation-name: fa-beat;\\n  animation-delay: var(--fa-animation-delay, 0s);\\n  animation-direction: var(--fa-animation-direction, normal);\\n  animation-duration: var(--fa-animation-duration, 1s);\\n  animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n  animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-bounce {\\n  animation-name: fa-bounce;\\n  animation-delay: var(--fa-animation-delay, 0s);\\n  animation-direction: var(--fa-animation-direction, normal);\\n  animation-duration: var(--fa-animation-duration, 1s);\\n  animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n  animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\\n}\\n\\n.fa-fade {\\n  animation-name: fa-fade;\\n  animation-delay: var(--fa-animation-delay, 0s);\\n  animation-direction: var(--fa-animation-direction, normal);\\n  animation-duration: var(--fa-animation-duration, 1s);\\n  animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n  animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-beat-fade {\\n  animation-name: fa-beat-fade;\\n  animation-delay: var(--fa-animation-delay, 0s);\\n  animation-direction: var(--fa-animation-direction, normal);\\n  animation-duration: var(--fa-animation-duration, 1s);\\n  animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n  animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-flip {\\n  animation-name: fa-flip;\\n  animation-delay: var(--fa-animation-delay, 0s);\\n  animation-direction: var(--fa-animation-direction, normal);\\n  animation-duration: var(--fa-animation-duration, 1s);\\n  animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n  animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-shake {\\n  animation-name: fa-shake;\\n  animation-delay: var(--fa-animation-delay, 0s);\\n  animation-direction: var(--fa-animation-direction, normal);\\n  animation-duration: var(--fa-animation-duration, 1s);\\n  animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n  animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin {\\n  animation-name: fa-spin;\\n  animation-delay: var(--fa-animation-delay, 0s);\\n  animation-direction: var(--fa-animation-direction, normal);\\n  animation-duration: var(--fa-animation-duration, 2s);\\n  animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n  animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin-reverse {\\n  --fa-animation-direction: reverse;\\n}\\n\\n.fa-pulse,\\n.fa-spin-pulse {\\n  animation-name: fa-spin;\\n  animation-direction: var(--fa-animation-direction, normal);\\n  animation-duration: var(--fa-animation-duration, 1s);\\n  animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n  animation-timing-function: var(--fa-animation-timing, steps(8));\\n}\\n\\n@media (prefers-reduced-motion: reduce) {\\n  .fa-beat,\\n  .fa-bounce,\\n  .fa-fade,\\n  .fa-beat-fade,\\n  .fa-flip,\\n  .fa-pulse,\\n  .fa-shake,\\n  .fa-spin,\\n  .fa-spin-pulse {\\n    animation: none !important;\\n    transition: none !important;\\n  }\\n}\\n@keyframes fa-beat {\\n  0%, 90% {\\n    transform: scale(1);\\n  }\\n  45% {\\n    transform: scale(var(--fa-beat-scale, 1.25));\\n  }\\n}\\n@keyframes fa-bounce {\\n  0% {\\n    transform: scale(1, 1) translateY(0);\\n  }\\n  10% {\\n    transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\n  }\\n  30% {\\n    transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em));\\n  }\\n  50% {\\n    transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\n  }\\n  57% {\\n    transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n  }\\n  64% {\\n    transform: scale(1, 1) translateY(0);\\n  }\\n  100% {\\n    transform: scale(1, 1) translateY(0);\\n  }\\n}\\n@keyframes fa-fade {\\n  50% {\\n    opacity: var(--fa-fade-opacity, 0.4);\\n  }\\n}\\n@keyframes fa-beat-fade {\\n  0%, 100% {\\n    opacity: var(--fa-beat-fade-opacity, 0.4);\\n    transform: scale(1);\\n  }\\n  50% {\\n    opacity: 1;\\n    transform: scale(var(--fa-beat-fade-scale, 1.125));\\n  }\\n}\\n@keyframes fa-flip {\\n  50% {\\n    transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\n  }\\n}\\n@keyframes fa-shake {\\n  0% {\\n    transform: rotate(-15deg);\\n  }\\n  4% {\\n    transform: rotate(15deg);\\n  }\\n  8%, 24% {\\n    transform: rotate(-18deg);\\n  }\\n  12%, 28% {\\n    transform: rotate(18deg);\\n  }\\n  16% {\\n    transform: rotate(-22deg);\\n  }\\n  20% {\\n    transform: rotate(22deg);\\n  }\\n  32% {\\n    transform: rotate(-12deg);\\n  }\\n  36% {\\n    transform: rotate(12deg);\\n  }\\n  40%, 100% {\\n    transform: rotate(0deg);\\n  }\\n}\\n@keyframes fa-spin {\\n  0% {\\n    transform: rotate(0deg);\\n  }\\n  100% {\\n    transform: rotate(360deg);\\n  }\\n}\\n.fa-rotate-90 {\\n  transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n  transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n  transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n  transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n  transform: scale(1, -1);\\n}\\n\\n.fa-flip-both,\\n.fa-flip-horizontal.fa-flip-vertical {\\n  transform: scale(-1, -1);\\n}\\n\\n.fa-rotate-by {\\n  transform: rotate(var(--fa-rotate-angle, 0));\\n}\\n\\n.svg-inline--fa .fa-primary {\\n  fill: var(--fa-primary-color, currentColor);\\n  opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n  fill: var(--fa-secondary-color, currentColor);\\n  opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n  opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n  opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n  fill: black;\\n}\\n\\n.svg-inline--fa.fa-inverse {\\n  fill: var(--fa-inverse, #fff);\\n}\\n\\n.fa-stack {\\n  display: inline-block;\\n  height: 2em;\\n  line-height: 2em;\\n  position: relative;\\n  vertical-align: middle;\\n  width: 2.5em;\\n}\\n\\n.fa-inverse {\\n  color: var(--fa-inverse, #fff);\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n  --fa-width: 1.25em;\\n  height: 1em;\\n  width: var(--fa-width);\\n}\\n.svg-inline--fa.fa-stack-2x {\\n  --fa-width: 2.5em;\\n  height: 2em;\\n  width: var(--fa-width);\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n  inset: 0;\\n  margin: auto;\\n  position: absolute;\\n  z-index: var(--fa-stack-z-index, auto);\\n}\";\n\nfunction css() {\n  var dcp = DEFAULT_CSS_PREFIX;\n  var drc = DEFAULT_REPLACEMENT_CLASS;\n  var fp = config.cssPrefix;\n  var rc = config.replacementClass;\n  var s = baseStyles;\n  if (fp !== dcp || rc !== drc) {\n    var dPatt = new RegExp(\"\\\\.\".concat(dcp, \"\\\\-\"), 'g');\n    var customPropPatt = new RegExp(\"\\\\--\".concat(dcp, \"\\\\-\"), 'g');\n    var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n    s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n  }\n  return s;\n}\nvar _cssInserted = false;\nfunction ensureCss() {\n  if (config.autoAddCss && !_cssInserted) {\n    insertCss(css());\n    _cssInserted = true;\n  }\n}\nvar InjectCSS = {\n  mixout: function mixout() {\n    return {\n      dom: {\n        css: css,\n        insertCss: ensureCss\n      }\n    };\n  },\n  hooks: function hooks() {\n    return {\n      beforeDOMElementCreation: function beforeDOMElementCreation() {\n        ensureCss();\n      },\n      beforeI2svg: function beforeI2svg() {\n        ensureCss();\n      }\n    };\n  }\n};\n\nvar w$2 = WINDOW || {};\nif (!w$2[NAMESPACE_IDENTIFIER]) w$2[NAMESPACE_IDENTIFIER] = {};\nif (!w$2[NAMESPACE_IDENTIFIER].styles) w$2[NAMESPACE_IDENTIFIER].styles = {};\nif (!w$2[NAMESPACE_IDENTIFIER].hooks) w$2[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w$2[NAMESPACE_IDENTIFIER].shims) w$2[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w$2[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\nvar _listener = function listener() {\n  DOCUMENT.removeEventListener('DOMContentLoaded', _listener);\n  loaded = 1;\n  functions.map(function (fn) {\n    return fn();\n  });\n};\nvar loaded = false;\nif (IS_DOM) {\n  loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n  if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', _listener);\n}\nfunction domready (fn) {\n  if (!IS_DOM) return;\n  loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nfunction toHtml(abstractNodes) {\n  var tag = abstractNodes.tag,\n    _abstractNodes$attrib = abstractNodes.attributes,\n    attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n    _abstractNodes$childr = abstractNodes.children,\n    children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n  if (typeof abstractNodes === 'string') {\n    return htmlEscape(abstractNodes);\n  } else {\n    return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"</\").concat(tag, \">\");\n  }\n}\n\nfunction iconFromMapping(mapping, prefix, iconName) {\n  if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n    return {\n      prefix: prefix,\n      iconName: iconName,\n      icon: mapping[prefix][iconName]\n    };\n  }\n}\n\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n  return function (a, b, c, d) {\n    return func.call(thisContext, a, b, c, d);\n  };\n};\n\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param  {Object}   subject      The object to reduce over.\n * @param  {Function} fn           The reducer function.\n * @param  {mixed}    initialValue The initial value for the reducer, defaults to subject[0].\n * @param  {Object}   thisContext  The context for the reducer.\n * @return {mixed}                 The final result.\n */\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n  var keys = Object.keys(subject),\n    length = keys.length,\n    iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n    i,\n    key,\n    result;\n  if (initialValue === undefined) {\n    i = 1;\n    result = subject[keys[0]];\n  } else {\n    i = 0;\n    result = initialValue;\n  }\n  for (; i < length; i++) {\n    key = keys[i];\n    result = iterator(result, subject[key], key, subject);\n  }\n  return result;\n};\n\n/**\n * Return hexadecimal string for a unicode character\n * Returns `null` when more than one character (not bytes!) are passed\n * For example: 'K' → '7B'\n */\nfunction toHex(unicode) {\n  if (_toConsumableArray(unicode).length !== 1) return null;\n  return unicode.codePointAt(0).toString(16);\n}\n\nfunction normalizeIcons(icons) {\n  return Object.keys(icons).reduce(function (acc, iconName) {\n    var icon = icons[iconName];\n    var expanded = !!icon.icon;\n    if (expanded) {\n      acc[icon.iconName] = icon.icon;\n    } else {\n      acc[iconName] = icon;\n    }\n    return acc;\n  }, {});\n}\nfunction defineIcons(prefix, icons) {\n  var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n  var _params$skipHooks = params.skipHooks,\n    skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n  var normalized = normalizeIcons(icons);\n  if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n    namespace.hooks.addPack(prefix, normalizeIcons(icons));\n  } else {\n    namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), normalized);\n  }\n\n  /**\n   * Font Awesome 4 used the prefix of `fa` for all icons. With the introduction\n   * of new styles we needed to differentiate between them. Prefix `fa` is now an alias\n   * for `fas` so we'll ease the upgrade process for our users by automatically defining\n   * this as well.\n   */\n  if (prefix === 'fas') {\n    defineIcons('fa', icons);\n  }\n}\n\nvar MONO = 0x1;\nvar DUO = 0x2;\n\n// New v7 compatible matchers using the style attribute to determine layer membership\nvar modernMatches = [[DUO, /*#__PURE__*/_wrapRegExp(/path opacity=\"([^\"]*)\".*d=\"([^\"]*)\".*path.*d=\"([^\"]*)\"/, {\n  d2: 2,\n  d1: 3\n})], [DUO, /*#__PURE__*/_wrapRegExp(/path opacity=\"([^\"]*)\".*d=\"([^\"]*)\"/, {\n  d2: 2\n})], [MONO, /*#__PURE__*/_wrapRegExp(/path fill=\"currentColor\".*d=\"([^\"]+)\"/, {\n  d1: 1\n})]];\n\n// Old <= v6 matchers, these should rarely get used.\n//\n// Why are there so many? Over the lifecycle of version 5 and 6 we modified the\n// syntax for our source SVG files several times. These patterns match the\n// historical record and attempt to handle backwards-compatibility in rare edge\n// cases (loading version 6 SVG source files using the version 7 SVG parser)\nvar legacyMatches = [[DUO, /*#__PURE__*/_wrapRegExp(/path class=\"([^\"]*secondary[^\"]*)\".*d=\"([^\"]+)\".*path class=\"([^\"]*primary[^\"]*)\".*d=\"([^\"]+)\"/, {\n  attr2: 1,\n  d2: 2,\n  attr1: 3,\n  d1: 4\n})], [DUO, /*#__PURE__*/_wrapRegExp(/path class=\"([^\"]*primary[^\"]*)\".*d=\"([^\"]+)\".*path class=\"([^\"]*secondary[^\"]*)\".*d=\"([^\"]+)\"/, {\n  attr1: 1,\n  d1: 2,\n  attr2: 3,\n  d2: 4\n})], [DUO, /*#__PURE__*/_wrapRegExp(/path class=\"([^\"]*primary[^\"]*)\".*d=\"([^\"]+)\"/, {\n  attr1: 1,\n  d1: 2\n})], [DUO, /*#__PURE__*/_wrapRegExp(/path class=\"([^\"]*secondary[^\"]*)\".*d=\"([^\"]+)\"/, {\n  attr2: 1,\n  d2: 2\n})], [DUO, /*#__PURE__*/_wrapRegExp(/path d=\"([^\"]+)\".*class=\"([^\"]*secondary[^\"]*)\".*path d=\"([^\"]+)\".*class=\"([^\"]*primary[^\"]*)\"/, {\n  d2: 1,\n  attr2: 2,\n  d1: 3,\n  attr1: 4\n})], [DUO, /*#__PURE__*/_wrapRegExp(/path d=\"([^\"]+)\".*class=\"([^\"]*primary[^\"]*)\".*path d=\"([^\"]+)\".*class=\"([^\"]*secondary[^\"]*)\"/, {\n  d1: 1,\n  attr1: 2,\n  d2: 3,\n  attr2: 4\n})], [DUO, /*#__PURE__*/_wrapRegExp(/path d=\"([^\"]+)\".*class=\"([^\"]*primary[^\"]*)\"/, {\n  d1: 1,\n  attr1: 2\n})], [DUO, /*#__PURE__*/_wrapRegExp(/path d=\"([^\"]+)\".*class=\"([^\"]*secondary[^\"]*)\"/, {\n  d2: 1,\n  attr2: 2\n})], [DUO, /*#__PURE__*/_wrapRegExp(/path d=\"([^\"]+)\".*path d=\"([^\"]+)\"/, {\n  d1: 1,\n  d2: 2\n})], [MONO, /*#__PURE__*/_wrapRegExp(/path d=\"([^\"]+)\"/, {\n  d1: 1\n})], [MONO, /*#__PURE__*/_wrapRegExp(/path style=\"([^\"]+)\".*d=\"([^\"]+)\"/, {\n  attr1: 1,\n  d1: 2\n})]];\n\nvar styles = namespace.styles,\n  shims = namespace.shims;\nvar FAMILY_NAMES = Object.keys(PREFIX_TO_LONG_STYLE);\nvar PREFIXES_FOR_FAMILY = FAMILY_NAMES.reduce(function (acc, familyId) {\n  acc[familyId] = Object.keys(PREFIX_TO_LONG_STYLE[familyId]);\n  return acc;\n}, {});\nvar _defaultUsablePrefix = null;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar _byOldUnicode = {};\nvar _byAlias = {};\nfunction isReserved(name) {\n  return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction getIconName(cssPrefix, cls) {\n  var parts = cls.split('-');\n  var prefix = parts[0];\n  var iconName = parts.slice(1).join('-');\n  if (prefix === cssPrefix && iconName !== '' && !isReserved(iconName)) {\n    return iconName;\n  } else {\n    return null;\n  }\n}\nvar build = function build() {\n  var lookup = function lookup(reducer) {\n    return reduce(styles, function (o$$1, style, prefix) {\n      o$$1[prefix] = reduce(style, reducer, {});\n      return o$$1;\n    }, {});\n  };\n  _byUnicode = lookup(function (acc, icon, iconName) {\n    if (icon[3]) {\n      acc[icon[3]] = iconName;\n    }\n    if (icon[2]) {\n      var aliases = icon[2].filter(function (a$$1) {\n        return typeof a$$1 === 'number';\n      });\n      aliases.forEach(function (alias) {\n        acc[alias.toString(16)] = iconName;\n      });\n    }\n    return acc;\n  });\n  _byLigature = lookup(function (acc, icon, iconName) {\n    acc[iconName] = iconName;\n    if (icon[2]) {\n      var aliases = icon[2].filter(function (a$$1) {\n        return typeof a$$1 === 'string';\n      });\n      aliases.forEach(function (alias) {\n        acc[alias] = iconName;\n      });\n    }\n    return acc;\n  });\n  _byAlias = lookup(function (acc, icon, iconName) {\n    var aliases = icon[2];\n    acc[iconName] = iconName;\n    aliases.forEach(function (alias) {\n      acc[alias] = iconName;\n    });\n    return acc;\n  });\n\n  // If we have a Kit, we can't determine if regular is available since we\n  // could be auto-fetching it. We'll have to assume that it is available.\n  var hasRegular = 'far' in styles || config.autoFetchSvg;\n  var shimLookups = reduce(shims, function (acc, shim) {\n    var maybeNameMaybeUnicode = shim[0];\n    var prefix = shim[1];\n    var iconName = shim[2];\n    if (prefix === 'far' && !hasRegular) {\n      prefix = 'fas';\n    }\n    if (typeof maybeNameMaybeUnicode === 'string') {\n      acc.names[maybeNameMaybeUnicode] = {\n        prefix: prefix,\n        iconName: iconName\n      };\n    }\n    if (typeof maybeNameMaybeUnicode === 'number') {\n      acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {\n        prefix: prefix,\n        iconName: iconName\n      };\n    }\n    return acc;\n  }, {\n    names: {},\n    unicodes: {}\n  });\n  _byOldName = shimLookups.names;\n  _byOldUnicode = shimLookups.unicodes;\n  _defaultUsablePrefix = getCanonicalPrefix(config.styleDefault, {\n    family: config.familyDefault\n  });\n};\nonChange(function (c$$1) {\n  _defaultUsablePrefix = getCanonicalPrefix(c$$1.styleDefault, {\n    family: config.familyDefault\n  });\n});\nbuild();\nfunction byUnicode(prefix, unicode) {\n  return (_byUnicode[prefix] || {})[unicode];\n}\nfunction byLigature(prefix, ligature) {\n  return (_byLigature[prefix] || {})[ligature];\n}\nfunction byAlias(prefix, alias) {\n  return (_byAlias[prefix] || {})[alias];\n}\nfunction byOldName(name) {\n  return _byOldName[name] || {\n    prefix: null,\n    iconName: null\n  };\n}\nfunction byOldUnicode(unicode) {\n  var oldUnicode = _byOldUnicode[unicode];\n  var newUnicode = byUnicode('fas', unicode);\n  return oldUnicode || (newUnicode ? {\n    prefix: 'fas',\n    iconName: newUnicode\n  } : null) || {\n    prefix: null,\n    iconName: null\n  };\n}\nfunction getDefaultUsablePrefix() {\n  return _defaultUsablePrefix;\n}\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n  return {\n    prefix: null,\n    iconName: null,\n    rest: []\n  };\n};\nfunction getFamilyId(values) {\n  var family = i;\n  var famProps = FAMILY_NAMES.reduce(function (acc, familyId) {\n    acc[familyId] = \"\".concat(config.cssPrefix, \"-\").concat(familyId);\n    return acc;\n  }, {});\n  dt.forEach(function (familyId) {\n    if (values.includes(famProps[familyId]) || values.some(function (v$$1) {\n      return PREFIXES_FOR_FAMILY[familyId].includes(v$$1);\n    })) {\n      family = familyId;\n    }\n  });\n  return family;\n}\nfunction getCanonicalPrefix(styleOrPrefix) {\n  var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _params$family = params.family,\n    family = _params$family === void 0 ? i : _params$family;\n  var style = PREFIX_TO_STYLE[family][styleOrPrefix];\n\n  // handles the exception of passing in only a family of 'duotone' with no style\n  if (family === t && !styleOrPrefix) {\n    return 'fad';\n  }\n  var prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];\n  var defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;\n  var result = prefix || defined || null;\n  return result;\n}\nfunction moveNonFaClassesToRest(classNames) {\n  var rest = [];\n  var iconName = null;\n  classNames.forEach(function (cls) {\n    var result = getIconName(config.cssPrefix, cls);\n    if (result) {\n      iconName = result;\n    } else if (cls) {\n      rest.push(cls);\n    }\n  });\n  return {\n    iconName: iconName,\n    rest: rest\n  };\n}\nfunction sortedUniqueValues(arr) {\n  return arr.sort().filter(function (value, index, arr) {\n    return arr.indexOf(value) === index;\n  });\n}\nvar _faCombinedClasses = lo.concat(Ht);\nfunction getCanonicalIcon(values) {\n  var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _params$skipLookups = params.skipLookups,\n    skipLookups = _params$skipLookups === void 0 ? false : _params$skipLookups;\n  var givenPrefix = null;\n  var faStyleOrFamilyClasses = sortedUniqueValues(values.filter(function (cls) {\n    return _faCombinedClasses.includes(cls);\n  }));\n  var nonStyleOrFamilyClasses = sortedUniqueValues(values.filter(function (cls) {\n    return !_faCombinedClasses.includes(cls);\n  }));\n  var faStyles = faStyleOrFamilyClasses.filter(function (cls) {\n    givenPrefix = cls;\n    return !Z.includes(cls);\n  });\n  var _faStyles = _slicedToArray(faStyles, 1),\n    _faStyles$ = _faStyles[0],\n    styleFromValues = _faStyles$ === void 0 ? null : _faStyles$;\n  var family = getFamilyId(faStyleOrFamilyClasses);\n  var canonical = _objectSpread2(_objectSpread2({}, moveNonFaClassesToRest(nonStyleOrFamilyClasses)), {}, {\n    prefix: getCanonicalPrefix(styleFromValues, {\n      family: family\n    })\n  });\n  return _objectSpread2(_objectSpread2(_objectSpread2({}, canonical), getDefaultCanonicalPrefix({\n    values: values,\n    family: family,\n    styles: styles,\n    config: config,\n    canonical: canonical,\n    givenPrefix: givenPrefix\n  })), applyShimAndAlias(skipLookups, givenPrefix, canonical));\n}\nfunction applyShimAndAlias(skipLookups, givenPrefix, canonical) {\n  var prefix = canonical.prefix,\n    iconName = canonical.iconName;\n  if (skipLookups || !prefix || !iconName) {\n    return {\n      prefix: prefix,\n      iconName: iconName\n    };\n  }\n  var shim = givenPrefix === 'fa' ? byOldName(iconName) : {};\n  var aliasIconName = byAlias(prefix, iconName);\n  iconName = shim.iconName || aliasIconName || iconName;\n  prefix = shim.prefix || prefix;\n  if (prefix === 'far' && !styles['far'] && styles['fas'] && !config.autoFetchSvg) {\n    // Allow a fallback from the regular style to solid if regular is not available\n    // but only if we aren't auto-fetching SVGs\n    prefix = 'fas';\n  }\n  return {\n    prefix: prefix,\n    iconName: iconName\n  };\n}\nvar newCanonicalFamilies = dt.filter(function (familyId) {\n  return familyId !== i || familyId !== t;\n});\nvar newCanonicalStyles = Object.keys(Xl).filter(function (key) {\n  return key !== i;\n}).map(function (key) {\n  return Object.keys(Xl[key]);\n}).flat();\nfunction getDefaultCanonicalPrefix(prefixOptions) {\n  var values = prefixOptions.values,\n    family = prefixOptions.family,\n    canonical = prefixOptions.canonical,\n    _prefixOptions$givenP = prefixOptions.givenPrefix,\n    givenPrefix = _prefixOptions$givenP === void 0 ? '' : _prefixOptions$givenP,\n    _prefixOptions$styles = prefixOptions.styles,\n    styles = _prefixOptions$styles === void 0 ? {} : _prefixOptions$styles,\n    _prefixOptions$config = prefixOptions.config,\n    config$$1 = _prefixOptions$config === void 0 ? {} : _prefixOptions$config;\n  var isDuotoneFamily = family === t;\n  var valuesHasDuotone = values.includes('fa-duotone') || values.includes('fad');\n  var defaultFamilyIsDuotone = config$$1.familyDefault === 'duotone';\n  var canonicalPrefixIsDuotone = canonical.prefix === 'fad' || canonical.prefix === 'fa-duotone';\n  if (!isDuotoneFamily && (valuesHasDuotone || defaultFamilyIsDuotone || canonicalPrefixIsDuotone)) {\n    canonical.prefix = 'fad';\n  }\n  if (values.includes('fa-brands') || values.includes('fab')) {\n    canonical.prefix = 'fab';\n  }\n  if (!canonical.prefix && newCanonicalFamilies.includes(family)) {\n    var validPrefix = Object.keys(styles).find(function (key) {\n      return newCanonicalStyles.includes(key);\n    });\n    if (validPrefix || config$$1.autoFetchSvg) {\n      var defaultPrefix = Et.get(family).defaultShortPrefixId;\n      canonical.prefix = defaultPrefix;\n      canonical.iconName = byAlias(canonical.prefix, canonical.iconName) || canonical.iconName;\n    }\n  }\n  if (canonical.prefix === 'fa' || givenPrefix === 'fa') {\n    // The fa prefix is not canonical. So if it has made it through until this point\n    // we will shift it to the correct prefix.\n    canonical.prefix = getDefaultUsablePrefix() || 'fas';\n  }\n  return canonical;\n}\n\nvar Library = /*#__PURE__*/function () {\n  function Library() {\n    _classCallCheck(this, Library);\n    this.definitions = {};\n  }\n  return _createClass(Library, [{\n    key: \"add\",\n    value: function add() {\n      var _this = this;\n      for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n        definitions[_key] = arguments[_key];\n      }\n      var additions = definitions.reduce(this._pullDefinitions, {});\n      Object.keys(additions).forEach(function (key) {\n        _this.definitions[key] = _objectSpread2(_objectSpread2({}, _this.definitions[key] || {}), additions[key]);\n        defineIcons(key, additions[key]);\n\n        // To keep support for older Classic styles, also add longer prefixes\n        var longPrefix = PREFIX_TO_LONG_STYLE[i][key];\n        if (longPrefix) defineIcons(longPrefix, additions[key]);\n        build();\n      });\n    }\n  }, {\n    key: \"reset\",\n    value: function reset() {\n      this.definitions = {};\n    }\n  }, {\n    key: \"_pullDefinitions\",\n    value: function _pullDefinitions(additions, definition) {\n      var normalized = definition.prefix && definition.iconName && definition.icon ? {\n        0: definition\n      } : definition;\n      Object.keys(normalized).map(function (key) {\n        var _normalized$key = normalized[key],\n          prefix = _normalized$key.prefix,\n          iconName = _normalized$key.iconName,\n          icon = _normalized$key.icon;\n        var aliases = icon[2];\n        if (!additions[prefix]) additions[prefix] = {};\n        if (aliases.length > 0) {\n          aliases.forEach(function (alias) {\n            if (typeof alias === 'string') {\n              additions[prefix][alias] = icon;\n            }\n          });\n        }\n        additions[prefix][iconName] = icon;\n      });\n      return additions;\n    }\n  }]);\n}();\n\nvar _plugins = [];\nvar _hooks = {};\nvar providers = {};\nvar defaultProviderKeys = Object.keys(providers);\nfunction registerPlugins(nextPlugins, _ref) {\n  var obj = _ref.mixoutsTo;\n  _plugins = nextPlugins;\n  _hooks = {};\n  Object.keys(providers).forEach(function (k) {\n    if (defaultProviderKeys.indexOf(k) === -1) {\n      delete providers[k];\n    }\n  });\n  _plugins.forEach(function (plugin) {\n    var mixout = plugin.mixout ? plugin.mixout() : {};\n    Object.keys(mixout).forEach(function (tk) {\n      if (typeof mixout[tk] === 'function') {\n        obj[tk] = mixout[tk];\n      }\n      if (_typeof(mixout[tk]) === 'object') {\n        Object.keys(mixout[tk]).forEach(function (sk) {\n          if (!obj[tk]) {\n            obj[tk] = {};\n          }\n          obj[tk][sk] = mixout[tk][sk];\n        });\n      }\n    });\n    if (plugin.hooks) {\n      var hooks = plugin.hooks();\n      Object.keys(hooks).forEach(function (hook) {\n        if (!_hooks[hook]) {\n          _hooks[hook] = [];\n        }\n        _hooks[hook].push(hooks[hook]);\n      });\n    }\n    if (plugin.provides) {\n      plugin.provides(providers);\n    }\n  });\n  return obj;\n}\nfunction chainHooks(hook, accumulator) {\n  for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n    args[_key - 2] = arguments[_key];\n  }\n  var hookFns = _hooks[hook] || [];\n  hookFns.forEach(function (hookFn) {\n    accumulator = hookFn.apply(null, [accumulator].concat(args));\n  });\n  return accumulator;\n}\nfunction callHooks(hook) {\n  for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n    args[_key2 - 1] = arguments[_key2];\n  }\n  var hookFns = _hooks[hook] || [];\n  hookFns.forEach(function (hookFn) {\n    hookFn.apply(null, args);\n  });\n  return undefined;\n}\nfunction callProvided() {\n  var hook = arguments[0];\n  var args = Array.prototype.slice.call(arguments, 1);\n  return providers[hook] ? providers[hook].apply(null, args) : undefined;\n}\n\nfunction findIconDefinition(iconLookup) {\n  if (iconLookup.prefix === 'fa') {\n    iconLookup.prefix = 'fas';\n  }\n  var iconName = iconLookup.iconName;\n  var prefix = iconLookup.prefix || getDefaultUsablePrefix();\n  if (!iconName) return;\n  iconName = byAlias(prefix, iconName) || iconName;\n  return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\nvar library = new Library();\nvar noAuto = function noAuto() {\n  config.autoReplaceSvg = false;\n  config.observeMutations = false;\n  callHooks('noAuto');\n};\nvar dom = {\n  i2svg: function i2svg() {\n    var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    if (IS_DOM) {\n      callHooks('beforeI2svg', params);\n      callProvided('pseudoElements2svg', params);\n      return callProvided('i2svg', params);\n    } else {\n      return Promise.reject(new Error('Operation requires a DOM of some kind.'));\n    }\n  },\n  watch: function watch() {\n    var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n    var autoReplaceSvgRoot = params.autoReplaceSvgRoot;\n    if (config.autoReplaceSvg === false) {\n      config.autoReplaceSvg = true;\n    }\n    config.observeMutations = true;\n    domready(function () {\n      autoReplace({\n        autoReplaceSvgRoot: autoReplaceSvgRoot\n      });\n      callHooks('watch', params);\n    });\n  }\n};\nvar parse = {\n  icon: function icon(_icon) {\n    if (_icon === null) {\n      return null;\n    }\n    if (_typeof(_icon) === 'object' && _icon.prefix && _icon.iconName) {\n      return {\n        prefix: _icon.prefix,\n        iconName: byAlias(_icon.prefix, _icon.iconName) || _icon.iconName\n      };\n    }\n    if (Array.isArray(_icon) && _icon.length === 2) {\n      var iconName = _icon[1].indexOf('fa-') === 0 ? _icon[1].slice(3) : _icon[1];\n      var prefix = getCanonicalPrefix(_icon[0]);\n      return {\n        prefix: prefix,\n        iconName: byAlias(prefix, iconName) || iconName\n      };\n    }\n    if (typeof _icon === 'string' && (_icon.indexOf(\"\".concat(config.cssPrefix, \"-\")) > -1 || _icon.match(ICON_SELECTION_SYNTAX_PATTERN))) {\n      var canonicalIcon = getCanonicalIcon(_icon.split(' '), {\n        skipLookups: true\n      });\n      return {\n        prefix: canonicalIcon.prefix || getDefaultUsablePrefix(),\n        iconName: byAlias(canonicalIcon.prefix, canonicalIcon.iconName) || canonicalIcon.iconName\n      };\n    }\n    if (typeof _icon === 'string') {\n      var _prefix = getDefaultUsablePrefix();\n      return {\n        prefix: _prefix,\n        iconName: byAlias(_prefix, _icon) || _icon\n      };\n    }\n  }\n};\nvar api = {\n  noAuto: noAuto,\n  config: config,\n  dom: dom,\n  parse: parse,\n  library: library,\n  findIconDefinition: findIconDefinition,\n  toHtml: toHtml\n};\nvar autoReplace = function autoReplace() {\n  var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n  var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n    autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n  if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n    node: autoReplaceSvgRoot\n  });\n};\n\nfunction domVariants(val, abstractCreator) {\n  Object.defineProperty(val, 'abstract', {\n    get: abstractCreator\n  });\n  Object.defineProperty(val, 'html', {\n    get: function get() {\n      return val.abstract.map(function (a) {\n        return toHtml(a);\n      });\n    }\n  });\n  Object.defineProperty(val, 'node', {\n    get: function get() {\n      if (!IS_DOM) return undefined;\n      var container = DOCUMENT.createElement('div');\n      container.innerHTML = val.html;\n      return container.children;\n    }\n  });\n  return val;\n}\n\nfunction asIcon (_ref) {\n  var children = _ref.children,\n    main = _ref.main,\n    mask = _ref.mask,\n    attributes = _ref.attributes,\n    styles = _ref.styles,\n    transform = _ref.transform;\n  if (transformIsMeaningful(transform) && main.found && !mask.found) {\n    var width = main.width,\n      height = main.height;\n    var offset = {\n      x: width / height / 2,\n      y: 0.5\n    };\n    attributes['style'] = joinStyles(_objectSpread2(_objectSpread2({}, styles), {}, {\n      'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n    }));\n  }\n  return [{\n    tag: 'svg',\n    attributes: attributes,\n    children: children\n  }];\n}\n\nfunction asSymbol (_ref) {\n  var prefix = _ref.prefix,\n    iconName = _ref.iconName,\n    children = _ref.children,\n    attributes = _ref.attributes,\n    symbol = _ref.symbol;\n  var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.cssPrefix, \"-\").concat(iconName) : symbol;\n  return [{\n    tag: 'svg',\n    attributes: {\n      style: 'display: none;'\n    },\n    children: [{\n      tag: 'symbol',\n      attributes: _objectSpread2(_objectSpread2({}, attributes), {}, {\n        id: id\n      }),\n      children: children\n    }]\n  }];\n}\n\n// If any of these attributes are present, don't assume the icon is decorative\nfunction isLabeled(attributes) {\n  var labels = ['aria-label', 'aria-labelledby', 'title', 'role'];\n  return labels.some(function (label) {\n    return label in attributes;\n  });\n}\nfunction makeInlineSvgAbstract(params) {\n  var _params$icons = params.icons,\n    main = _params$icons.main,\n    mask = _params$icons.mask,\n    prefix = params.prefix,\n    iconName = params.iconName,\n    transform = params.transform,\n    symbol = params.symbol,\n    maskId = params.maskId,\n    extra = params.extra,\n    _params$watchable = params.watchable,\n    watchable = _params$watchable === void 0 ? false : _params$watchable;\n  var _ref = mask.found ? mask : main,\n    width = _ref.width,\n    height = _ref.height;\n  var attrClass = [config.replacementClass, iconName ? \"\".concat(config.cssPrefix, \"-\").concat(iconName) : ''].filter(function (c) {\n    return extra.classes.indexOf(c) === -1;\n  }).filter(function (c) {\n    return c !== '' || !!c;\n  }).concat(extra.classes).join(' ');\n  var content = {\n    children: [],\n    attributes: _objectSpread2(_objectSpread2({}, extra.attributes), {}, {\n      'data-prefix': prefix,\n      'data-icon': iconName,\n      'class': attrClass,\n      'role': extra.attributes.role || 'img',\n      'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n    })\n  };\n  if (!isLabeled(extra.attributes) && !extra.attributes['aria-hidden']) {\n    content.attributes['aria-hidden'] = 'true';\n  }\n  if (watchable) {\n    content.attributes[DATA_FA_I2SVG] = '';\n  }\n  var args = _objectSpread2(_objectSpread2({}, content), {}, {\n    prefix: prefix,\n    iconName: iconName,\n    main: main,\n    mask: mask,\n    maskId: maskId,\n    transform: transform,\n    symbol: symbol,\n    styles: _objectSpread2({}, extra.styles)\n  });\n  var _ref2 = mask.found && main.found ? callProvided('generateAbstractMask', args) || {\n      children: [],\n      attributes: {}\n    } : callProvided('generateAbstractIcon', args) || {\n      children: [],\n      attributes: {}\n    },\n    children = _ref2.children,\n    attributes = _ref2.attributes;\n  args.children = children;\n  args.attributes = attributes;\n  if (symbol) {\n    return asSymbol(args);\n  } else {\n    return asIcon(args);\n  }\n}\nfunction makeLayersTextAbstract(params) {\n  var content = params.content,\n    width = params.width,\n    height = params.height,\n    transform = params.transform,\n    extra = params.extra,\n    _params$watchable2 = params.watchable,\n    watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n  var attributes = _objectSpread2(_objectSpread2({}, extra.attributes), {}, {\n    class: extra.classes.join(' ')\n  });\n  if (watchable) {\n    attributes[DATA_FA_I2SVG] = '';\n  }\n  var styles = _objectSpread2({}, extra.styles);\n  if (transformIsMeaningful(transform)) {\n    styles['transform'] = transformForCss({\n      transform: transform,\n      startCentered: true,\n      width: width,\n      height: height\n    });\n    styles['-webkit-transform'] = styles['transform'];\n  }\n  var styleString = joinStyles(styles);\n  if (styleString.length > 0) {\n    attributes['style'] = styleString;\n  }\n  var val = [];\n  val.push({\n    tag: 'span',\n    attributes: attributes,\n    children: [content]\n  });\n  return val;\n}\nfunction makeLayersCounterAbstract(params) {\n  var content = params.content,\n    extra = params.extra;\n  var attributes = _objectSpread2(_objectSpread2({}, extra.attributes), {}, {\n    class: extra.classes.join(' ')\n  });\n  var styleString = joinStyles(extra.styles);\n  if (styleString.length > 0) {\n    attributes['style'] = styleString;\n  }\n  var val = [];\n  val.push({\n    tag: 'span',\n    attributes: attributes,\n    children: [content]\n  });\n  return val;\n}\n\nvar styles$1 = namespace.styles;\nfunction asFoundIcon(icon) {\n  var width = icon[0];\n  var height = icon[1];\n  var _icon$slice = icon.slice(4),\n    _icon$slice2 = _slicedToArray(_icon$slice, 1),\n    vectorData = _icon$slice2[0];\n  var element = null;\n  if (Array.isArray(vectorData)) {\n    element = {\n      tag: 'g',\n      attributes: {\n        class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n      },\n      children: [{\n        tag: 'path',\n        attributes: {\n          class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n          fill: 'currentColor',\n          d: vectorData[0]\n        }\n      }, {\n        tag: 'path',\n        attributes: {\n          class: \"\".concat(config.cssPrefix, \"-\").concat(DUOTONE_CLASSES.PRIMARY),\n          fill: 'currentColor',\n          d: vectorData[1]\n        }\n      }]\n    };\n  } else {\n    element = {\n      tag: 'path',\n      attributes: {\n        fill: 'currentColor',\n        d: vectorData\n      }\n    };\n  }\n  return {\n    found: true,\n    width: width,\n    height: height,\n    icon: element\n  };\n}\nvar missingIconResolutionMixin = {\n  found: false,\n  width: 512,\n  height: 512\n};\nfunction maybeNotifyMissing(iconName, prefix) {\n  if (!PRODUCTION && !config.showMissingIcons && iconName) {\n    console.error(\"Icon with name \\\"\".concat(iconName, \"\\\" and prefix \\\"\").concat(prefix, \"\\\" is missing.\"));\n  }\n}\nfunction findIcon(iconName, prefix) {\n  var givenPrefix = prefix;\n  if (prefix === 'fa' && config.styleDefault !== null) {\n    prefix = getDefaultUsablePrefix();\n  }\n  return new Promise(function (resolve, reject) {\n    if (givenPrefix === 'fa') {\n      var shim = byOldName(iconName) || {};\n      iconName = shim.iconName || iconName;\n      prefix = shim.prefix || prefix;\n    }\n    if (iconName && prefix && styles$1[prefix] && styles$1[prefix][iconName]) {\n      var icon = styles$1[prefix][iconName];\n      return resolve(asFoundIcon(icon));\n    }\n    maybeNotifyMissing(iconName, prefix);\n    resolve(_objectSpread2(_objectSpread2({}, missingIconResolutionMixin), {}, {\n      icon: config.showMissingIcons && iconName ? callProvided('missingIconAbstract') || {} : {}\n    }));\n  });\n}\n\nvar noop$1 = function noop() {};\nvar p$2 = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n  mark: noop$1,\n  measure: noop$1\n};\nvar preamble = \"FA \\\"7.2.0\\\"\";\nvar begin = function begin(name) {\n  p$2.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n  return function () {\n    return end(name);\n  };\n};\nvar end = function end(name) {\n  p$2.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n  p$2.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\nvar perf = {\n  begin: begin,\n  end: end\n};\n\nvar noop$2 = function noop() {};\nfunction isWatched(node) {\n  var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n  return typeof i2svg === 'string';\n}\nfunction hasPrefixAndIcon(node) {\n  var prefix = node.getAttribute ? node.getAttribute(DATA_PREFIX) : null;\n  var icon = node.getAttribute ? node.getAttribute(DATA_ICON) : null;\n  return prefix && icon;\n}\nfunction hasBeenReplaced(node) {\n  return node && node.classList && node.classList.contains && node.classList.contains(config.replacementClass);\n}\nfunction getMutator() {\n  if (config.autoReplaceSvg === true) {\n    return mutators.replace;\n  }\n  var mutator = mutators[config.autoReplaceSvg];\n  return mutator || mutators.replace;\n}\nfunction createElementNS(tag) {\n  return DOCUMENT.createElementNS('http://www.w3.org/2000/svg', tag);\n}\nfunction createElement(tag) {\n  return DOCUMENT.createElement(tag);\n}\nfunction convertSVG(abstractObj) {\n  var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _params$ceFn = params.ceFn,\n    ceFn = _params$ceFn === void 0 ? abstractObj.tag === 'svg' ? createElementNS : createElement : _params$ceFn;\n  if (typeof abstractObj === 'string') {\n    return DOCUMENT.createTextNode(abstractObj);\n  }\n  var tag = ceFn(abstractObj.tag);\n  Object.keys(abstractObj.attributes || []).forEach(function (key) {\n    tag.setAttribute(key, abstractObj.attributes[key]);\n  });\n  var children = abstractObj.children || [];\n  children.forEach(function (child) {\n    tag.appendChild(convertSVG(child, {\n      ceFn: ceFn\n    }));\n  });\n  return tag;\n}\nfunction nodeAsComment(node) {\n  var comment = \" \".concat(node.outerHTML, \" \");\n  /* BEGIN.ATTRIBUTION */\n  comment = \"\".concat(comment, \"Font Awesome fontawesome.com \");\n  /* END.ATTRIBUTION */\n  return comment;\n}\nvar mutators = {\n  replace: function replace(mutation) {\n    var node = mutation[0];\n    if (node.parentNode) {\n      mutation[1].forEach(function (abstract) {\n        node.parentNode.insertBefore(convertSVG(abstract), node);\n      });\n      if (node.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) {\n        var comment = DOCUMENT.createComment(nodeAsComment(node));\n        node.parentNode.replaceChild(comment, node);\n      } else {\n        node.remove();\n      }\n    }\n  },\n  nest: function nest(mutation) {\n    var node = mutation[0];\n    var abstract = mutation[1];\n\n    // If we already have a replaced node we do not want to continue nesting within it.\n    // Short-circuit to the standard replacement\n    if (~classArray(node).indexOf(config.replacementClass)) {\n      return mutators.replace(mutation);\n    }\n    var forSvg = new RegExp(\"\".concat(config.cssPrefix, \"-.*\"));\n    delete abstract[0].attributes.id;\n    if (abstract[0].attributes.class) {\n      var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n        if (cls === config.replacementClass || cls.match(forSvg)) {\n          acc.toSvg.push(cls);\n        } else {\n          acc.toNode.push(cls);\n        }\n        return acc;\n      }, {\n        toNode: [],\n        toSvg: []\n      });\n      abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n      if (splitClasses.toNode.length === 0) {\n        node.removeAttribute('class');\n      } else {\n        node.setAttribute('class', splitClasses.toNode.join(' '));\n      }\n    }\n    var newInnerHTML = abstract.map(function (a) {\n      return toHtml(a);\n    }).join('\\n');\n    node.setAttribute(DATA_FA_I2SVG, '');\n    node.innerHTML = newInnerHTML;\n  }\n};\nfunction performOperationSync(op) {\n  op();\n}\nfunction perform(mutations, callback) {\n  var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n  if (mutations.length === 0) {\n    callbackFunction();\n  } else {\n    var frame = performOperationSync;\n    if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n      frame = WINDOW.requestAnimationFrame || performOperationSync;\n    }\n    frame(function () {\n      var mutator = getMutator();\n      var mark = perf.begin('mutate');\n      mutations.map(mutator);\n      mark();\n      callbackFunction();\n    });\n  }\n}\nvar disabled = false;\nfunction disableObservation() {\n  disabled = true;\n}\nfunction enableObservation() {\n  disabled = false;\n}\nvar mo = null;\nfunction observe(options) {\n  if (!MUTATION_OBSERVER) {\n    return;\n  }\n  if (!config.observeMutations) {\n    return;\n  }\n  var _options$treeCallback = options.treeCallback,\n    treeCallback = _options$treeCallback === void 0 ? noop$2 : _options$treeCallback,\n    _options$nodeCallback = options.nodeCallback,\n    nodeCallback = _options$nodeCallback === void 0 ? noop$2 : _options$nodeCallback,\n    _options$pseudoElemen = options.pseudoElementsCallback,\n    pseudoElementsCallback = _options$pseudoElemen === void 0 ? noop$2 : _options$pseudoElemen,\n    _options$observeMutat = options.observeMutationsRoot,\n    observeMutationsRoot = _options$observeMutat === void 0 ? DOCUMENT : _options$observeMutat;\n  mo = new MUTATION_OBSERVER(function (objects) {\n    if (disabled) return;\n    var defaultPrefix = getDefaultUsablePrefix();\n    toArray(objects).forEach(function (mutationRecord) {\n      if (mutationRecord.type === 'childList' && mutationRecord.addedNodes.length > 0 && !isWatched(mutationRecord.addedNodes[0])) {\n        if (config.searchPseudoElements) {\n          pseudoElementsCallback(mutationRecord.target);\n        }\n        treeCallback(mutationRecord.target);\n      }\n      if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n        pseudoElementsCallback([mutationRecord.target], true);\n      }\n      if (mutationRecord.type === 'attributes' && isWatched(mutationRecord.target) && ~ATTRIBUTES_WATCHED_FOR_MUTATION.indexOf(mutationRecord.attributeName)) {\n        if (mutationRecord.attributeName === 'class' && hasPrefixAndIcon(mutationRecord.target)) {\n          var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n            prefix = _getCanonicalIcon.prefix,\n            iconName = _getCanonicalIcon.iconName;\n          mutationRecord.target.setAttribute(DATA_PREFIX, prefix || defaultPrefix);\n          if (iconName) mutationRecord.target.setAttribute(DATA_ICON, iconName);\n        } else if (hasBeenReplaced(mutationRecord.target)) {\n          nodeCallback(mutationRecord.target);\n        }\n      }\n    });\n  });\n  if (!IS_DOM) return;\n  mo.observe(observeMutationsRoot, {\n    childList: true,\n    attributes: true,\n    characterData: true,\n    subtree: true\n  });\n}\nfunction disconnect() {\n  if (!mo) return;\n  mo.disconnect();\n}\n\nfunction styleParser (node) {\n  var style = node.getAttribute('style');\n  var val = [];\n  if (style) {\n    val = style.split(';').reduce(function (acc, style) {\n      var styles = style.split(':');\n      var prop = styles[0];\n      var value = styles.slice(1);\n      if (prop && value.length > 0) {\n        acc[prop] = value.join(':').trim();\n      }\n      return acc;\n    }, {});\n  }\n  return val;\n}\n\nfunction classParser (node) {\n  var existingPrefix = node.getAttribute('data-prefix');\n  var existingIconName = node.getAttribute('data-icon');\n  var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n  var val = getCanonicalIcon(classArray(node));\n  if (!val.prefix) {\n    val.prefix = getDefaultUsablePrefix();\n  }\n  if (existingPrefix && existingIconName) {\n    val.prefix = existingPrefix;\n    val.iconName = existingIconName;\n  }\n  if (val.iconName && val.prefix) {\n    return val;\n  }\n  if (val.prefix && innerText.length > 0) {\n    val.iconName = byLigature(val.prefix, node.innerText) || byUnicode(val.prefix, toHex(node.innerText));\n  }\n  if (!val.iconName && config.autoFetchSvg && node.firstChild && node.firstChild.nodeType === Node.TEXT_NODE) {\n    val.iconName = node.firstChild.data;\n  }\n  return val;\n}\n\nfunction attributesParser (node) {\n  var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n    if (acc.name !== 'class' && acc.name !== 'style') {\n      acc[attr.name] = attr.value;\n    }\n    return acc;\n  }, {});\n  return extraAttributes;\n}\n\nfunction blankMeta() {\n  return {\n    iconName: null,\n    prefix: null,\n    transform: meaninglessTransform,\n    symbol: false,\n    mask: {\n      iconName: null,\n      prefix: null,\n      rest: []\n    },\n    maskId: null,\n    extra: {\n      classes: [],\n      styles: {},\n      attributes: {}\n    }\n  };\n}\nfunction parseMeta(node) {\n  var parser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n    styleParser: true\n  };\n  var _classParser = classParser(node),\n    iconName = _classParser.iconName,\n    prefix = _classParser.prefix,\n    extraClasses = _classParser.rest;\n  var extraAttributes = attributesParser(node);\n  var pluginMeta = chainHooks('parseNodeAttributes', {}, node);\n  var extraStyles = parser.styleParser ? styleParser(node) : [];\n  return _objectSpread2({\n    iconName: iconName,\n    prefix: prefix,\n    transform: meaninglessTransform,\n    mask: {\n      iconName: null,\n      prefix: null,\n      rest: []\n    },\n    maskId: null,\n    symbol: false,\n    extra: {\n      classes: extraClasses,\n      styles: extraStyles,\n      attributes: extraAttributes\n    }\n  }, pluginMeta);\n}\n\nvar styles$2 = namespace.styles;\nfunction generateMutation(node) {\n  var nodeMeta = config.autoReplaceSvg === 'nest' ? parseMeta(node, {\n    styleParser: false\n  }) : parseMeta(node);\n  if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n    return callProvided('generateLayersText', node, nodeMeta);\n  } else {\n    return callProvided('generateSvgReplacementMutation', node, nodeMeta);\n  }\n}\nfunction getKnownPrefixes() {\n  return [].concat(_toConsumableArray(Ht), _toConsumableArray(lo));\n}\nfunction onTree(root) {\n  var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n  if (!IS_DOM) return Promise.resolve();\n  var htmlClassList = DOCUMENT.documentElement.classList;\n  var hclAdd = function hclAdd(suffix) {\n    return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n  };\n  var hclRemove = function hclRemove(suffix) {\n    return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n  };\n  var prefixes = config.autoFetchSvg ? getKnownPrefixes() : Z.concat(Object.keys(styles$2));\n  if (!prefixes.includes('fa')) {\n    prefixes.push('fa');\n  }\n  var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p$$1) {\n    return \".\".concat(p$$1, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n  })).join(', ');\n  if (prefixesDomQuery.length === 0) {\n    return Promise.resolve();\n  }\n  var candidates = [];\n  try {\n    candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n  } catch (e$$1) {\n    // noop\n  }\n  if (candidates.length > 0) {\n    hclAdd('pending');\n    hclRemove('complete');\n  } else {\n    return Promise.resolve();\n  }\n  var mark = perf.begin('onTree');\n  var mutations = candidates.reduce(function (acc, node) {\n    try {\n      var mutation = generateMutation(node);\n      if (mutation) {\n        acc.push(mutation);\n      }\n    } catch (e$$1) {\n      if (!PRODUCTION) {\n        if (e$$1.name === 'MissingIcon') {\n          console.error(e$$1);\n        }\n      }\n    }\n    return acc;\n  }, []);\n  return new Promise(function (resolve, reject) {\n    Promise.all(mutations).then(function (resolvedMutations) {\n      perform(resolvedMutations, function () {\n        hclAdd('active');\n        hclAdd('complete');\n        hclRemove('pending');\n        if (typeof callback === 'function') callback();\n        mark();\n        resolve();\n      });\n    }).catch(function (e$$1) {\n      mark();\n      reject(e$$1);\n    });\n  });\n}\nfunction onNode(node) {\n  var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n  generateMutation(node).then(function (mutation) {\n    if (mutation) {\n      perform([mutation], callback);\n    }\n  });\n}\nfunction resolveIcons(next) {\n  return function (maybeIconDefinition) {\n    var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n    var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n    var mask = params.mask;\n    if (mask) {\n      mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n    }\n    return next(iconDefinition, _objectSpread2(_objectSpread2({}, params), {}, {\n      mask: mask\n    }));\n  };\n}\nvar render = function render(iconDefinition) {\n  var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n  var _params$transform = params.transform,\n    transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n    _params$symbol = params.symbol,\n    symbol = _params$symbol === void 0 ? false : _params$symbol,\n    _params$mask = params.mask,\n    mask = _params$mask === void 0 ? null : _params$mask,\n    _params$maskId = params.maskId,\n    maskId = _params$maskId === void 0 ? null : _params$maskId,\n    _params$classes = params.classes,\n    classes = _params$classes === void 0 ? [] : _params$classes,\n    _params$attributes = params.attributes,\n    attributes = _params$attributes === void 0 ? {} : _params$attributes,\n    _params$styles = params.styles,\n    styles = _params$styles === void 0 ? {} : _params$styles;\n  if (!iconDefinition) return;\n  var prefix = iconDefinition.prefix,\n    iconName = iconDefinition.iconName,\n    icon = iconDefinition.icon;\n  return domVariants(_objectSpread2({\n    type: 'icon'\n  }, iconDefinition), function () {\n    callHooks('beforeDOMElementCreation', {\n      iconDefinition: iconDefinition,\n      params: params\n    });\n    return makeInlineSvgAbstract({\n      icons: {\n        main: asFoundIcon(icon),\n        mask: mask ? asFoundIcon(mask.icon) : {\n          found: false,\n          width: null,\n          height: null,\n          icon: {}\n        }\n      },\n      prefix: prefix,\n      iconName: iconName,\n      transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n      symbol: symbol,\n      maskId: maskId,\n      extra: {\n        attributes: attributes,\n        styles: styles,\n        classes: classes\n      }\n    });\n  });\n};\nvar ReplaceElements = {\n  mixout: function mixout() {\n    return {\n      icon: resolveIcons(render)\n    };\n  },\n  hooks: function hooks() {\n    return {\n      mutationObserverCallbacks: function mutationObserverCallbacks(accumulator) {\n        accumulator.treeCallback = onTree;\n        accumulator.nodeCallback = onNode;\n        return accumulator;\n      }\n    };\n  },\n  provides: function provides(providers$$1) {\n    providers$$1.i2svg = function (params) {\n      var _params$node = params.node,\n        node = _params$node === void 0 ? DOCUMENT : _params$node,\n        _params$callback = params.callback,\n        callback = _params$callback === void 0 ? function () {} : _params$callback;\n      return onTree(node, callback);\n    };\n    providers$$1.generateSvgReplacementMutation = function (node, nodeMeta) {\n      var iconName = nodeMeta.iconName,\n        prefix = nodeMeta.prefix,\n        transform = nodeMeta.transform,\n        symbol = nodeMeta.symbol,\n        mask = nodeMeta.mask,\n        maskId = nodeMeta.maskId,\n        extra = nodeMeta.extra;\n      return new Promise(function (resolve, reject) {\n        Promise.all([findIcon(iconName, prefix), mask.iconName ? findIcon(mask.iconName, mask.prefix) : Promise.resolve({\n          found: false,\n          width: 512,\n          height: 512,\n          icon: {}\n        })]).then(function (_ref) {\n          var _ref2 = _slicedToArray(_ref, 2),\n            main = _ref2[0],\n            mask = _ref2[1];\n          resolve([node, makeInlineSvgAbstract({\n            icons: {\n              main: main,\n              mask: mask\n            },\n            prefix: prefix,\n            iconName: iconName,\n            transform: transform,\n            symbol: symbol,\n            maskId: maskId,\n            extra: extra,\n            watchable: true\n          })]);\n        }).catch(reject);\n      });\n    };\n    providers$$1.generateAbstractIcon = function (_ref3) {\n      var children = _ref3.children,\n        attributes = _ref3.attributes,\n        main = _ref3.main,\n        transform = _ref3.transform,\n        styles = _ref3.styles;\n      var styleString = joinStyles(styles);\n      if (styleString.length > 0) {\n        attributes['style'] = styleString;\n      }\n      var nextChild;\n      if (transformIsMeaningful(transform)) {\n        nextChild = callProvided('generateAbstractTransformGrouping', {\n          main: main,\n          transform: transform,\n          containerWidth: main.width,\n          iconWidth: main.width\n        });\n      }\n      children.push(nextChild || main.icon);\n      return {\n        children: children,\n        attributes: attributes\n      };\n    };\n  }\n};\n\nvar Layers = {\n  mixout: function mixout() {\n    return {\n      layer: function layer(assembler) {\n        var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n        var _params$classes = params.classes,\n          classes = _params$classes === void 0 ? [] : _params$classes;\n        return domVariants({\n          type: 'layer'\n        }, function () {\n          callHooks('beforeDOMElementCreation', {\n            assembler: assembler,\n            params: params\n          });\n          var children = [];\n          assembler(function (args) {\n            Array.isArray(args) ? args.map(function (a) {\n              children = children.concat(a.abstract);\n            }) : children = children.concat(args.abstract);\n          });\n          return [{\n            tag: 'span',\n            attributes: {\n              class: [\"\".concat(config.cssPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n            },\n            children: children\n          }];\n        });\n      }\n    };\n  }\n};\n\nvar LayersCounter = {\n  mixout: function mixout() {\n    return {\n      counter: function counter(content) {\n        var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n        var _params$title = params.title,\n          title = _params$title === void 0 ? null : _params$title,\n          _params$classes = params.classes,\n          classes = _params$classes === void 0 ? [] : _params$classes,\n          _params$attributes = params.attributes,\n          attributes = _params$attributes === void 0 ? {} : _params$attributes,\n          _params$styles = params.styles,\n          styles = _params$styles === void 0 ? {} : _params$styles;\n        return domVariants({\n          type: 'counter',\n          content: content\n        }, function () {\n          callHooks('beforeDOMElementCreation', {\n            content: content,\n            params: params\n          });\n          return makeLayersCounterAbstract({\n            content: content.toString(),\n            title: title,\n            extra: {\n              attributes: attributes,\n              styles: styles,\n              classes: [\"\".concat(config.cssPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n            }\n          });\n        });\n      }\n    };\n  }\n};\n\nvar LayersText = {\n  mixout: function mixout() {\n    return {\n      text: function text(content) {\n        var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n        var _params$transform = params.transform,\n          transform = _params$transform === void 0 ? meaninglessTransform : _params$transform,\n          _params$classes = params.classes,\n          classes = _params$classes === void 0 ? [] : _params$classes,\n          _params$attributes = params.attributes,\n          attributes = _params$attributes === void 0 ? {} : _params$attributes,\n          _params$styles = params.styles,\n          styles = _params$styles === void 0 ? {} : _params$styles;\n        return domVariants({\n          type: 'text',\n          content: content\n        }, function () {\n          callHooks('beforeDOMElementCreation', {\n            content: content,\n            params: params\n          });\n          return makeLayersTextAbstract({\n            content: content,\n            transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n            extra: {\n              attributes: attributes,\n              styles: styles,\n              classes: [\"\".concat(config.cssPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n            }\n          });\n        });\n      }\n    };\n  },\n  provides: function provides(providers$$1) {\n    providers$$1.generateLayersText = function (node, nodeMeta) {\n      var transform = nodeMeta.transform,\n        extra = nodeMeta.extra;\n      var width = null;\n      var height = null;\n      if (IS_IE) {\n        var computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n        var boundingClientRect = node.getBoundingClientRect();\n        width = boundingClientRect.width / computedFontSize;\n        height = boundingClientRect.height / computedFontSize;\n      }\n      return Promise.resolve([node, makeLayersTextAbstract({\n        content: node.innerHTML,\n        width: width,\n        height: height,\n        transform: transform,\n        extra: extra,\n        watchable: true\n      })]);\n    };\n  }\n};\n\nvar CLEAN_CONTENT_PATTERN = new RegExp(\"\\\"\", 'ug');\nvar SECONDARY_UNICODE_RANGE = [1105920, 1112319];\nvar _FONT_FAMILY_WEIGHT_TO_PREFIX = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n  FontAwesome: {\n    normal: 'fas',\n    400: 'fas'\n  }\n}), Kt), fo), hl);\nvar FONT_FAMILY_WEIGHT_TO_PREFIX = Object.keys(_FONT_FAMILY_WEIGHT_TO_PREFIX).reduce(function (acc, key) {\n  acc[key.toLowerCase()] = _FONT_FAMILY_WEIGHT_TO_PREFIX[key];\n  return acc;\n}, {});\nvar FONT_FAMILY_WEIGHT_FALLBACK = Object.keys(FONT_FAMILY_WEIGHT_TO_PREFIX).reduce(function (acc, fontFamily) {\n  var weights = FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamily];\n  acc[fontFamily] = weights[900] || _toConsumableArray(Object.entries(weights))[0][1];\n  return acc;\n}, {});\n\n// Return hex value of *first* character in `content`\nfunction hexValueFromContent(content) {\n  var cleaned = content.replace(CLEAN_CONTENT_PATTERN, '');\n  return toHex(_toConsumableArray(cleaned)[0] || '');\n}\n\n// Check if it's a secondary Duotone layer, by checking if:\n// - Unicode value in `content` is repeated\n// - Unicode value in `content` is above 0x10000\n// - The \"ss01\" font feature is enabled on the `content`\nfunction isSecondaryLayer(styles) {\n  var hasStylisticSet = styles.getPropertyValue('font-feature-settings').includes('ss01');\n  var content = styles.getPropertyValue('content');\n  var cleaned = content.replace(CLEAN_CONTENT_PATTERN, '');\n  var codePoint = cleaned.codePointAt(0);\n  var isPrependTen = codePoint >= SECONDARY_UNICODE_RANGE[0] && codePoint <= SECONDARY_UNICODE_RANGE[1];\n  var isDoubled = cleaned.length === 2 ? cleaned[0] === cleaned[1] : false;\n  return isPrependTen || isDoubled || hasStylisticSet;\n}\nfunction getPrefix(fontFamily, fontWeight) {\n  var fontFamilySanitized = fontFamily.replace(/^['\"]|['\"]$/g, '').toLowerCase();\n  var fontWeightInteger = parseInt(fontWeight);\n  var fontWeightSanitized = isNaN(fontWeightInteger) ? 'normal' : fontWeightInteger;\n  return (FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamilySanitized] || {})[fontWeightSanitized] || FONT_FAMILY_WEIGHT_FALLBACK[fontFamilySanitized];\n}\nfunction replaceForPosition(node, position) {\n  var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n  return new Promise(function (resolve, reject) {\n    if (node.getAttribute(pendingAttribute) !== null) {\n      // This node is already being processed\n      return resolve();\n    }\n    var children = toArray(node.children);\n    var alreadyProcessedPseudoElement = children.filter(function (c$$1) {\n      return c$$1.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n    })[0];\n    var styles = WINDOW.getComputedStyle(node, position);\n    var fontFamily = styles.getPropertyValue('font-family');\n    var fontFamilyMatch = fontFamily.match(FONT_FAMILY_PATTERN);\n    var fontWeight = styles.getPropertyValue('font-weight');\n    var content = styles.getPropertyValue('content');\n    if (alreadyProcessedPseudoElement && !fontFamilyMatch) {\n      // If we've already processed it but the current computed style does not result in a font-family,\n      // that probably means that a class name that was previously present to make the icon has been\n      // removed. So we now should delete the icon.\n      node.removeChild(alreadyProcessedPseudoElement);\n      return resolve();\n    } else if (fontFamilyMatch && content !== 'none' && content !== '') {\n      var _content = styles.getPropertyValue('content');\n      var prefix = getPrefix(fontFamily, fontWeight);\n      var hexValue = hexValueFromContent(_content);\n      var isV4 = fontFamilyMatch[0].startsWith('FontAwesome');\n      var isSecondary = isSecondaryLayer(styles);\n      var iconName = byUnicode(prefix, hexValue);\n      var iconIdentifier = iconName;\n      if (isV4) {\n        var iconName4 = byOldUnicode(hexValue);\n        if (iconName4.iconName && iconName4.prefix) {\n          iconName = iconName4.iconName;\n          prefix = iconName4.prefix;\n        }\n      }\n\n      // Only convert the pseudo element in this ::before/::after position into an icon if we haven't\n      // already done so with the same prefix and iconName\n      if (iconName && !isSecondary && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n        node.setAttribute(pendingAttribute, iconIdentifier);\n        if (alreadyProcessedPseudoElement) {\n          // Delete the old one, since we're replacing it with a new one\n          node.removeChild(alreadyProcessedPseudoElement);\n        }\n        var meta = blankMeta();\n        var extra = meta.extra;\n        extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n        findIcon(iconName, prefix).then(function (main) {\n          var abstract = makeInlineSvgAbstract(_objectSpread2(_objectSpread2({}, meta), {}, {\n            icons: {\n              main: main,\n              mask: emptyCanonicalIcon()\n            },\n            prefix: prefix,\n            iconName: iconIdentifier,\n            extra: extra,\n            watchable: true\n          }));\n          var element = DOCUMENT.createElementNS('http://www.w3.org/2000/svg', 'svg');\n          if (position === '::before') {\n            node.insertBefore(element, node.firstChild);\n          } else {\n            node.appendChild(element);\n          }\n          element.outerHTML = abstract.map(function (a$$1) {\n            return toHtml(a$$1);\n          }).join('\\n');\n          node.removeAttribute(pendingAttribute);\n          resolve();\n        }).catch(reject);\n      } else {\n        resolve();\n      }\n    } else {\n      resolve();\n    }\n  });\n}\nfunction replace(node) {\n  return Promise.all([replaceForPosition(node, '::before'), replaceForPosition(node, '::after')]);\n}\nfunction processable(node) {\n  return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\nvar hasPseudoElement = function hasPseudoElement(selector) {\n  return !!selector && PSEUDO_ELEMENTS.some(function (pseudoSelector) {\n    return selector.includes(pseudoSelector);\n  });\n};\n\n// Return selectors from all available stylesheets that have\n// pseudo-elements defined.\nvar parseCSSRuleForPseudos = function parseCSSRuleForPseudos(selectorText) {\n  if (!selectorText) return [];\n  var selectorSet = new Set();\n  var selectors = selectorText.split(/,(?![^()]*\\))/).map(function (s$$1) {\n    return s$$1.trim();\n  });\n  selectors = selectors.flatMap(function (selector) {\n    return selector.includes('(') ? selector : selector.split(',').map(function (s$$1) {\n      return s$$1.trim();\n    });\n  });\n  var _iterator = _createForOfIteratorHelper(selectors),\n    _step;\n  try {\n    for (_iterator.s(); !(_step = _iterator.n()).done;) {\n      var selector = _step.value;\n      if (hasPseudoElement(selector)) {\n        // Remove pseudo-elements from the selector\n        var selectorWithoutPseudo = PSEUDO_ELEMENTS.reduce(function (acc, pseudoSelector) {\n          return acc.replace(pseudoSelector, '');\n        }, selector);\n        if (selectorWithoutPseudo !== '' && selectorWithoutPseudo !== '*') {\n          selectorSet.add(selectorWithoutPseudo);\n        }\n      }\n    }\n  } catch (err) {\n    _iterator.e(err);\n  } finally {\n    _iterator.f();\n  }\n  return selectorSet;\n};\nfunction searchPseudoElements(root) {\n  var useAsNodeList = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n  if (!IS_DOM) return;\n  var nodeList;\n  if (useAsNodeList) {\n    nodeList = root;\n  } else if (config.searchPseudoElementsFullScan) {\n    nodeList = root.querySelectorAll('*');\n  } else {\n    // Get elements that have pseudo elements defined in the CSS\n    var selectorSet = new Set();\n    var _iterator2 = _createForOfIteratorHelper(document.styleSheets),\n      _step2;\n    try {\n      for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n        var stylesheet = _step2.value;\n        try {\n          var _iterator3 = _createForOfIteratorHelper(stylesheet.cssRules),\n            _step3;\n          try {\n            for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n              var rule = _step3.value;\n              var parsedSelectors = parseCSSRuleForPseudos(rule.selectorText);\n              var _iterator4 = _createForOfIteratorHelper(parsedSelectors),\n                _step4;\n              try {\n                for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n                  var selector = _step4.value;\n                  selectorSet.add(selector);\n                }\n              } catch (err) {\n                _iterator4.e(err);\n              } finally {\n                _iterator4.f();\n              }\n            }\n          } catch (err) {\n            _iterator3.e(err);\n          } finally {\n            _iterator3.f();\n          }\n        } catch (e$$1) {\n          if (config.searchPseudoElementsWarnings) {\n            console.warn(\"Font Awesome: cannot parse stylesheet: \".concat(stylesheet.href, \" (\").concat(e$$1.message, \")\\nIf it declares any Font Awesome CSS pseudo-elements, they will not be rendered as SVG icons. Add crossorigin=\\\"anonymous\\\" to the <link>, enable searchPseudoElementsFullScan for slower but more thorough DOM parsing, or suppress this warning by setting searchPseudoElementsWarnings to false.\"));\n          }\n        }\n      }\n    } catch (err) {\n      _iterator2.e(err);\n    } finally {\n      _iterator2.f();\n    }\n    if (!selectorSet.size) return;\n    var cleanSelectors = Array.from(selectorSet).join(', ');\n    try {\n      nodeList = root.querySelectorAll(cleanSelectors);\n    } catch (_unused) {} // eslint-disable-line no-empty\n  }\n  return new Promise(function (resolve, reject) {\n    var operations = toArray(nodeList).filter(processable).map(replace);\n    var end = perf.begin('searchPseudoElements');\n    disableObservation();\n    Promise.all(operations).then(function () {\n      end();\n      enableObservation();\n      resolve();\n    }).catch(function () {\n      end();\n      enableObservation();\n      reject();\n    });\n  });\n}\nvar PseudoElements = {\n  hooks: function hooks() {\n    return {\n      mutationObserverCallbacks: function mutationObserverCallbacks(accumulator) {\n        accumulator.pseudoElementsCallback = searchPseudoElements;\n        return accumulator;\n      }\n    };\n  },\n  provides: function provides(providers) {\n    providers.pseudoElements2svg = function (params) {\n      var _params$node = params.node,\n        node = _params$node === void 0 ? DOCUMENT : _params$node;\n      if (config.searchPseudoElements) {\n        searchPseudoElements(node);\n      }\n    };\n  }\n};\n\nvar _unwatched = false;\nvar MutationObserver$1 = {\n  mixout: function mixout() {\n    return {\n      dom: {\n        unwatch: function unwatch() {\n          disableObservation();\n          _unwatched = true;\n        }\n      }\n    };\n  },\n  hooks: function hooks() {\n    return {\n      bootstrap: function bootstrap() {\n        observe(chainHooks('mutationObserverCallbacks', {}));\n      },\n      noAuto: function noAuto() {\n        disconnect();\n      },\n      watch: function watch(params) {\n        var observeMutationsRoot = params.observeMutationsRoot;\n        if (_unwatched) {\n          enableObservation();\n        } else {\n          observe(chainHooks('mutationObserverCallbacks', {\n            observeMutationsRoot: observeMutationsRoot\n          }));\n        }\n      }\n    };\n  }\n};\n\nvar parseTransformString = function parseTransformString(transformString) {\n  var transform = {\n    size: 16,\n    x: 0,\n    y: 0,\n    flipX: false,\n    flipY: false,\n    rotate: 0\n  };\n  return transformString.toLowerCase().split(' ').reduce(function (acc, n) {\n    var parts = n.toLowerCase().split('-');\n    var first = parts[0];\n    var rest = parts.slice(1).join('-');\n    if (first && rest === 'h') {\n      acc.flipX = true;\n      return acc;\n    }\n    if (first && rest === 'v') {\n      acc.flipY = true;\n      return acc;\n    }\n    rest = parseFloat(rest);\n    if (isNaN(rest)) {\n      return acc;\n    }\n    switch (first) {\n      case 'grow':\n        acc.size = acc.size + rest;\n        break;\n      case 'shrink':\n        acc.size = acc.size - rest;\n        break;\n      case 'left':\n        acc.x = acc.x - rest;\n        break;\n      case 'right':\n        acc.x = acc.x + rest;\n        break;\n      case 'up':\n        acc.y = acc.y - rest;\n        break;\n      case 'down':\n        acc.y = acc.y + rest;\n        break;\n      case 'rotate':\n        acc.rotate = acc.rotate + rest;\n        break;\n    }\n    return acc;\n  }, transform);\n};\nvar PowerTransforms = {\n  mixout: function mixout() {\n    return {\n      parse: {\n        transform: function transform(transformString) {\n          return parseTransformString(transformString);\n        }\n      }\n    };\n  },\n  hooks: function hooks() {\n    return {\n      parseNodeAttributes: function parseNodeAttributes(accumulator, node) {\n        var transformString = node.getAttribute('data-fa-transform');\n        if (transformString) {\n          accumulator.transform = parseTransformString(transformString);\n        }\n        return accumulator;\n      }\n    };\n  },\n  provides: function provides(providers) {\n    providers.generateAbstractTransformGrouping = function (_ref) {\n      var main = _ref.main,\n        transform = _ref.transform,\n        containerWidth = _ref.containerWidth,\n        iconWidth = _ref.iconWidth;\n      var outer = {\n        transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n      };\n      var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n      var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n      var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n      var inner = {\n        transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n      };\n      var path = {\n        transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n      };\n      var operations = {\n        outer: outer,\n        inner: inner,\n        path: path\n      };\n      return {\n        tag: 'g',\n        attributes: _objectSpread2({}, operations.outer),\n        children: [{\n          tag: 'g',\n          attributes: _objectSpread2({}, operations.inner),\n          children: [{\n            tag: main.icon.tag,\n            children: main.icon.children,\n            attributes: _objectSpread2(_objectSpread2({}, main.icon.attributes), operations.path)\n          }]\n        }]\n      };\n    };\n  }\n};\n\nvar ALL_SPACE = {\n  x: 0,\n  y: 0,\n  width: '100%',\n  height: '100%'\n};\nfunction fillBlack(abstract) {\n  var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n  if (abstract.attributes && (abstract.attributes.fill || force)) {\n    abstract.attributes.fill = 'black';\n  }\n  return abstract;\n}\nfunction deGroup(abstract) {\n  if (abstract.tag === 'g') {\n    return abstract.children;\n  } else {\n    return [abstract];\n  }\n}\nvar Masks = {\n  hooks: function hooks() {\n    return {\n      parseNodeAttributes: function parseNodeAttributes(accumulator, node) {\n        var maskData = node.getAttribute('data-fa-mask');\n        var mask = !maskData ? emptyCanonicalIcon() : getCanonicalIcon(maskData.split(' ').map(function (i) {\n          return i.trim();\n        }));\n        if (!mask.prefix) {\n          mask.prefix = getDefaultUsablePrefix();\n        }\n        accumulator.mask = mask;\n        accumulator.maskId = node.getAttribute('data-fa-mask-id');\n        return accumulator;\n      }\n    };\n  },\n  provides: function provides(providers) {\n    providers.generateAbstractMask = function (_ref) {\n      var children = _ref.children,\n        attributes = _ref.attributes,\n        main = _ref.main,\n        mask = _ref.mask,\n        explicitMaskId = _ref.maskId,\n        transform = _ref.transform;\n      var mainWidth = main.width,\n        mainPath = main.icon;\n      var maskWidth = mask.width,\n        maskPath = mask.icon;\n      var trans = transformForSvg({\n        transform: transform,\n        containerWidth: maskWidth,\n        iconWidth: mainWidth\n      });\n      var maskRect = {\n        tag: 'rect',\n        attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n          fill: 'white'\n        })\n      };\n      var maskInnerGroupChildrenMixin = mainPath.children ? {\n        children: mainPath.children.map(fillBlack)\n      } : {};\n      var maskInnerGroup = {\n        tag: 'g',\n        attributes: _objectSpread2({}, trans.inner),\n        children: [fillBlack(_objectSpread2({\n          tag: mainPath.tag,\n          attributes: _objectSpread2(_objectSpread2({}, mainPath.attributes), trans.path)\n        }, maskInnerGroupChildrenMixin))]\n      };\n      var maskOuterGroup = {\n        tag: 'g',\n        attributes: _objectSpread2({}, trans.outer),\n        children: [maskInnerGroup]\n      };\n      var maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n      var clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n      var maskTag = {\n        tag: 'mask',\n        attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n          id: maskId,\n          maskUnits: 'userSpaceOnUse',\n          maskContentUnits: 'userSpaceOnUse'\n        }),\n        children: [maskRect, maskOuterGroup]\n      };\n      var defs = {\n        tag: 'defs',\n        children: [{\n          tag: 'clipPath',\n          attributes: {\n            id: clipId\n          },\n          children: deGroup(maskPath)\n        }, maskTag]\n      };\n      children.push(defs, {\n        tag: 'rect',\n        attributes: _objectSpread2({\n          'fill': 'currentColor',\n          'clip-path': \"url(#\".concat(clipId, \")\"),\n          'mask': \"url(#\".concat(maskId, \")\")\n        }, ALL_SPACE)\n      });\n      return {\n        children: children,\n        attributes: attributes\n      };\n    };\n  }\n};\n\nvar MissingIconIndicator = {\n  provides: function provides(providers) {\n    var reduceMotion = false;\n    if (WINDOW.matchMedia) {\n      reduceMotion = WINDOW.matchMedia('(prefers-reduced-motion: reduce)').matches;\n    }\n    providers.missingIconAbstract = function () {\n      var gChildren = [];\n      var FILL = {\n        fill: 'currentColor'\n      };\n      var ANIMATION_BASE = {\n        attributeType: 'XML',\n        repeatCount: 'indefinite',\n        dur: '2s'\n      };\n\n      // Ring\n      gChildren.push({\n        tag: 'path',\n        attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n          d: 'M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z'\n        })\n      });\n      var OPACITY_ANIMATE = _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n        attributeName: 'opacity'\n      });\n      var dot = {\n        tag: 'circle',\n        attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n          cx: '256',\n          cy: '364',\n          r: '28'\n        }),\n        children: []\n      };\n      if (!reduceMotion) {\n        dot.children.push({\n          tag: 'animate',\n          attributes: _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n            attributeName: 'r',\n            values: '28;14;28;28;14;28;'\n          })\n        }, {\n          tag: 'animate',\n          attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n            values: '1;0;1;1;0;1;'\n          })\n        });\n      }\n      gChildren.push(dot);\n      gChildren.push({\n        tag: 'path',\n        attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n          opacity: '1',\n          d: 'M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z'\n        }),\n        children: reduceMotion ? [] : [{\n          tag: 'animate',\n          attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n            values: '1;0;0;0;0;1;'\n          })\n        }]\n      });\n      if (!reduceMotion) {\n        // Exclamation\n        gChildren.push({\n          tag: 'path',\n          attributes: _objectSpread2(_objectSpread2({}, FILL), {}, {\n            opacity: '0',\n            d: 'M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z'\n          }),\n          children: [{\n            tag: 'animate',\n            attributes: _objectSpread2(_objectSpread2({}, OPACITY_ANIMATE), {}, {\n              values: '0;0;1;1;0;0;'\n            })\n          }]\n        });\n      }\n      return {\n        tag: 'g',\n        attributes: {\n          class: 'missing'\n        },\n        children: gChildren\n      };\n    };\n  }\n};\n\nvar SvgSymbols = {\n  hooks: function hooks() {\n    return {\n      parseNodeAttributes: function parseNodeAttributes(accumulator, node) {\n        var symbolData = node.getAttribute('data-fa-symbol');\n        var symbol = symbolData === null ? false : symbolData === '' ? true : symbolData;\n        accumulator['symbol'] = symbol;\n        return accumulator;\n      }\n    };\n  }\n};\n\nvar plugins = [InjectCSS, ReplaceElements, Layers, LayersCounter, LayersText, PseudoElements, MutationObserver$1, PowerTransforms, Masks, MissingIconIndicator, SvgSymbols];\n\nregisterPlugins(plugins, {\n  mixoutsTo: api\n});\nvar noAuto$1 = api.noAuto;\nvar config$1 = api.config;\nvar library$1 = api.library;\nvar dom$1 = api.dom;\nvar parse$1 = api.parse;\nvar findIconDefinition$1 = api.findIconDefinition;\nvar toHtml$1 = api.toHtml;\nvar icon = api.icon;\nvar layer = api.layer;\nvar text = api.text;\nvar counter = api.counter;\n\nexport { noAuto$1 as noAuto, config$1 as config, library$1 as library, dom$1 as dom, parse$1 as parse, findIconDefinition$1 as findIconDefinition, toHtml$1 as toHtml, icon, layer, text, counter, api };\n"],"names":["_arrayLikeToArray","r","a","length","e","n","Array","_arrayWithHoles","isArray","_arrayWithoutHoles","_classCallCheck","TypeError","_defineProperties","t","o","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","prototype","_createForOfIteratorHelper","Symbol","iterator","_unsupportedIterableToArray","F","s","done","value","f","u","call","next","return","_defineProperty","_inherits","create","constructor","_setPrototypeOf","_iterableToArray","from","_iterableToArrayLimit","l","i","push","_nonIterableRest","_nonIterableSpread","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread2","arguments","forEach","getOwnPropertyDescriptors","defineProperties","setPrototypeOf","bind","__proto__","_slicedToArray","_toConsumableArray","_toPrimitive","toPrimitive","String","Number","_typeof","toString","slice","name","test","_wrapRegExp","BabelRegExp","RegExp","WeakMap","p","set","get","buildGroups","reduce","exec","this","groups","indices","replace","join","noop","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER","_PERFORMANCE","mark","measure","window","document","MutationObserver","performance","_ref","navigator","_ref$userAgent","userAgent","WINDOW","DOCUMENT","MUTATION_OBSERVER","PERFORMANCE","IS_DOM","documentElement","head","addEventListener","createElement","IS_IE","indexOf","_ht","G","M","Q","classic","fa","fas","far","fal","fat","fab","duotone","fad","fadr","fadl","fadt","sharp","fass","fasr","fasl","fast","fasds","fasdr","fasdl","fasdt","slab","faslr","faslpr","thumbprint","fatl","whiteboard","fawsb","notdog","fans","fands","etch","faes","graphite","fagt","jelly","fajr","fajfr","fajdr","chisel","facr","utility","fausb","faudsb","faufsb","X","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","Z","d","h","g","m","y","w","x","b","c","I","v","S","A","P","j","B","N","k","D","T","C","W","K","R","L","U","dt","yt","normal","Kt","Et","Map","defaultShortPrefixId","defaultStyleId","styleIds","futureStyleIds","defaultFontWeight","Mt","regular","brands","light","solid","thin","semibold","Ht","Qt","kit","fak","fakd","Xt","J","E","_","sl","hl","nl","ml","_wt","t$1","f$1","h$1","o$1","n$1","s$1","u$1","g$1","y$1","m$1","a$1","p$1","w$1","e$1","b$1","c$1","r$1","x$1","i$1","I$1","F$1","v$1","S$1","A$1","P$1","j$1","B$1","N$1","k$1","D$1","C$1","T$1","L$1","W$1","R$1","K$1","U$1","J$1","E$1","_$1","G$1","d$1","M$1","O","Hl","Y$1","Xl","V$1","lo","concat","$","z$1","q$1","H$1","so","map","fo","NAMESPACE_IDENTIFIER","UNITS_IN_GRID","DEFAULT_CSS_PREFIX","DEFAULT_REPLACEMENT_CLASS","DATA_FA_I2SVG","DATA_FA_PSEUDO_ELEMENT","DATA_FA_PSEUDO_ELEMENT_PENDING","DATA_PREFIX","DATA_ICON","HTML_CLASS_I2SVG_BASE_CLASS","MUTATION_APPROACH_ASYNC","TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS","PSEUDO_ELEMENTS","PRODUCTION","process","env","NODE_ENV","e$$1","familyProxy","obj","Proxy","target","prop","_PREFIX_TO_STYLE","PREFIX_TO_STYLE","_STYLE_TO_PREFIX","STYLE_TO_PREFIX","_PREFIX_TO_LONG_STYLE","PREFIX_TO_LONG_STYLE","_LONG_STYLE_TO_PREFIX","ICON_SELECTION_SYNTAX_PATTERN","LAYERS_TEXT_CLASSNAME","FONT_FAMILY_PATTERN","_FONT_WEIGHT_TO_PREFIX","ATTRIBUTES_WATCHED_FOR_MUTATION","DUOTONE_CLASSES","RESERVED_CLASSES","initial","FontAwesomeConfig","getAttrConfig","attr","element","querySelector","getAttribute","coerce","val","attrs","_ref2","undefined","_default","styleDefault","familyDefault","cssPrefix","replacementClass","autoReplaceSvg","autoAddCss","searchPseudoElements","searchPseudoElementsWarnings","searchPseudoElementsFullScan","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","familyPrefix","_config","config","_onChangeCb","cb","onChange","splice","d$2","meaninglessTransform","size","rotate","flipX","flipY","insertCss","css","style","setAttribute","innerHTML","headChildren","childNodes","beforeChild","child","tagName","toUpperCase","insertBefore","idPool","nextUniqueId","id","Math","random","toArray","array","classArray","node","classList","split","htmlEscape","str","joinAttributes","attributes","acc","attributeName","trim","joinStyles","styles","styleName","transformIsMeaningful","transform","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","path","transformForCss","_ref2$width","width","_ref2$height","height","_ref2$startCentered","startCentered","baseStyles","dcp","drc","fp","rc","dPatt","customPropPatt","rPatt","_cssInserted","ensureCss","InjectCSS","mixout","dom","hooks","beforeDOMElementCreation","beforeI2svg","w$2","shims","namespace","functions","_listener","removeEventListener","loaded","fn","doScroll","readyState","domready","setTimeout","toHtml","abstractNodes","tag","_abstractNodes$attrib","_abstractNodes$childr","children","iconFromMapping","mapping","prefix","iconName","icon","bindInternal4","func","thisContext","subject","initialValue","result","toHex","unicode","codePointAt","normalizeIcons","icons","expanded","defineIcons","params","_params$skipHooks","skipHooks","normalized","addPack","MONO","DUO","d2","d1","attr2","attr1","FAMILY_NAMES","PREFIXES_FOR_FAMILY","familyId","_defaultUsablePrefix","_byUnicode","_byLigature","_byOldName","_byOldUnicode","_byAlias","isReserved","getIconName","cls","parts","build","lookup","reducer","o$$1","aliases","a$$1","alias","hasRegular","autoFetchSvg","shimLookups","shim","maybeNameMaybeUnicode","names","unicodes","getCanonicalPrefix","family","c$$1","byUnicode","byLigature","ligature","byAlias","byOldName","byOldUnicode","oldUnicode","newUnicode","getDefaultUsablePrefix","emptyCanonicalIcon","rest","getFamilyId","values","famProps","includes","some","v$$1","styleOrPrefix","_params$family","defined","moveNonFaClassesToRest","classNames","sortedUniqueValues","arr","sort","index","_faCombinedClasses","getCanonicalIcon","_params$skipLookups","skipLookups","givenPrefix","faStyleOrFamilyClasses","nonStyleOrFamilyClasses","faStyles","_faStyles","_faStyles$","styleFromValues","canonical","getDefaultCanonicalPrefix","applyShimAndAlias","aliasIconName","newCanonicalFamilies","newCanonicalStyles","flat","prefixOptions","_prefixOptions$givenP","_prefixOptions$styles","_prefixOptions$config","config$$1","isDuotoneFamily","valuesHasDuotone","defaultFamilyIsDuotone","canonicalPrefixIsDuotone","validPrefix","find","defaultPrefix","Library","definitions","_this","_len","_key","additions","_pullDefinitions","longPrefix","definition","_normalized$key","_plugins","_hooks","providers","defaultProviderKeys","registerPlugins","nextPlugins","mixoutsTo","plugin","tk","sk","hook","provides","chainHooks","accumulator","args","hookFns","hookFn","callHooks","_len2","_key2","callProvided","findIconDefinition","iconLookup","library","noAuto","i2svg","Promise","reject","Error","watch","autoReplaceSvgRoot","autoReplace","parse","_icon","match","canonicalIcon","_prefix","api","_params$autoReplaceSv","domVariants","abstractCreator","abstract","container","html","asIcon","main","mask","found","offset","asSymbol","symbol","isLabeled","labels","label","makeInlineSvgAbstract","_params$icons","maskId","extra","_params$watchable","watchable","attrClass","classes","content","class","role","viewBox","makeLayersTextAbstract","_params$watchable2","styleString","makeLayersCounterAbstract","styles$1","asFoundIcon","_icon$slice","_icon$slice2","vectorData","fill","missingIconResolutionMixin","maybeNotifyMissing","console","error","findIcon","resolve","noop$1","p$2","preamble","begin","end","perf","noop$2","isWatched","hasPrefixAndIcon","hasBeenReplaced","contains","getMutator","mutators","mutator","createElementNS","convertSVG","abstractObj","_params$ceFn","ceFn","createTextNode","appendChild","nodeAsComment","comment","outerHTML","mutation","parentNode","createComment","replaceChild","remove","nest","forSvg","splitClasses","toSvg","toNode","removeAttribute","newInnerHTML","performOperationSync","op","perform","mutations","callback","callbackFunction","frame","requestAnimationFrame","disabled","disableObservation","enableObservation","mo","observe","options","_options$treeCallback","treeCallback","_options$nodeCallback","nodeCallback","_options$pseudoElemen","pseudoElementsCallback","_options$observeMutat","observeMutationsRoot","objects","mutationRecord","type","addedNodes","_getCanonicalIcon","childList","characterData","subtree","disconnect","styleParser","classParser","existingPrefix","existingIconName","innerText","firstChild","nodeType","Node","TEXT_NODE","data","attributesParser","extraAttributes","blankMeta","parseMeta","parser","_classParser","extraClasses","pluginMeta","extraStyles","styles$2","generateMutation","nodeMeta","getKnownPrefixes","onTree","root","htmlClassList","hclAdd","suffix","add","hclRemove","prefixes","prefixesDomQuery","p$$1","candidates","querySelectorAll","all","then","resolvedMutations","catch","onNode","resolveIcons","maybeIconDefinition","iconDefinition","render","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$classes","_params$attributes","_params$styles","ReplaceElements","mutationObserverCallbacks","providers$$1","_params$node","_params$callback","generateSvgReplacementMutation","generateAbstractIcon","_ref3","nextChild","Layers","layer","assembler","LayersCounter","counter","_params$title","title","LayersText","text","generateLayersText","computedFontSize","parseInt","getComputedStyle","fontSize","boundingClientRect","getBoundingClientRect","CLEAN_CONTENT_PATTERN","SECONDARY_UNICODE_RANGE","_FONT_FAMILY_WEIGHT_TO_PREFIX","FontAwesome","FONT_FAMILY_WEIGHT_TO_PREFIX","toLowerCase","FONT_FAMILY_WEIGHT_FALLBACK","fontFamily","weights","entries","hexValueFromContent","cleaned","isSecondaryLayer","hasStylisticSet","getPropertyValue","codePoint","isPrependTen","isDoubled","getPrefix","fontWeight","fontFamilySanitized","fontWeightInteger","fontWeightSanitized","isNaN","replaceForPosition","position","pendingAttribute","alreadyProcessedPseudoElement","fontFamilyMatch","removeChild","_content","hexValue","isV4","startsWith","isSecondary","iconIdentifier","iconName4","meta","processable","hasPseudoElement","selector","pseudoSelector","parseCSSRuleForPseudos","selectorText","selectorSet","Set","selectors","s$$1","flatMap","_step","_iterator","selectorWithoutPseudo","err","useAsNodeList","nodeList","_step2","_iterator2","styleSheets","stylesheet","_step3","_iterator3","cssRules","rule","parsedSelectors","_step4","_iterator4","warn","href","message","cleanSelectors","_unused","operations","PseudoElements","pseudoElements2svg","_unwatched","MutationObserver$1","unwatch","bootstrap","parseTransformString","transformString","first","parseFloat","PowerTransforms","parseNodeAttributes","generateAbstractTransformGrouping","ALL_SPACE","fillBlack","force","deGroup","Masks","maskData","generateAbstractMask","explicitMaskId","mainWidth","mainPath","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","MissingIconIndicator","reduceMotion","matchMedia","matches","missingIconAbstract","gChildren","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","OPACITY_ANIMATE","dot","cx","cy","opacity","SvgSymbols","symbolData","plugins","noAuto$1","config$1","library$1","dom$1","parse$1","findIconDefinition$1","toHtml$1"],"mappings":"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"}