@nethesis/phone-island 1.0.8 → 1.0.9-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs.js","sources":["../../../../node_modules/@fortawesome/fontawesome-svg-core/index.mjs"],"sourcesContent":["function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}\n\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\nfunction _wrapRegExp() {\n _wrapRegExp = function (re, groups) {\n return new BabelRegExp(re, void 0, groups);\n };\n\n var _super = RegExp.prototype,\n _groups = new WeakMap();\n\n function BabelRegExp(re, flags, groups) {\n var _this = new RegExp(re, flags);\n\n return _groups.set(_this, groups || _groups.get(re)), _setPrototypeOf(_this, BabelRegExp.prototype);\n }\n\n function buildGroups(result, re) {\n var g = _groups.get(re);\n\n return Object.keys(g).reduce(function (groups, name) {\n return groups[name] = result[g[name]], groups;\n }, Object.create(null));\n }\n\n return _inherits(BabelRegExp, RegExp), BabelRegExp.prototype.exec = function (str) {\n var result = _super.exec.call(this, str);\n\n return result && (result.groups = buildGroups(result, this)), result;\n }, BabelRegExp.prototype[Symbol.replace] = function (str, substitution) {\n if (\"string\" == typeof substitution) {\n var groups = _groups.get(this);\n\n return _super[Symbol.replace].call(this, str, substitution.replace(/\\$<([^>]+)>/g, function (_, name) {\n return \"$\" + groups[name];\n }));\n }\n\n if (\"function\" == typeof substitution) {\n var _this = this;\n\n return _super[Symbol.replace].call(this, str, function () {\n var args = arguments;\n return \"object\" != typeof args[args.length - 1] && (args = [].slice.call(args)).push(buildGroups(args, _this)), substitution.apply(this, args);\n });\n }\n\n return _super[Symbol.replace].call(this, str, substitution);\n }, _wrapRegExp.apply(this, arguments);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\n\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n}\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}\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}\n\nvar noop = function noop() {};\n\nvar _WINDOW = {};\nvar _DOCUMENT = {};\nvar _MUTATION_OBSERVER = null;\nvar _PERFORMANCE = {\n mark: noop,\n measure: noop\n};\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) {}\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 _familyProxy, _familyProxy2, _familyProxy3, _familyProxy4, _familyProxy5;\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 PRODUCTION = function () {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e) {\n return false;\n }\n}();\nvar FAMILY_CLASSIC = 'classic';\nvar FAMILY_SHARP = 'sharp';\nvar FAMILIES = [FAMILY_CLASSIC, FAMILY_SHARP];\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[FAMILY_CLASSIC];\n }\n });\n}\nvar PREFIX_TO_STYLE = familyProxy((_familyProxy = {}, _defineProperty(_familyProxy, FAMILY_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 'fad': 'duotone',\n 'fa-duotone': 'duotone',\n 'fab': 'brands',\n 'fa-brands': 'brands',\n 'fak': 'kit',\n 'fa-kit': 'kit'\n}), _defineProperty(_familyProxy, FAMILY_SHARP, {\n 'fa': 'solid',\n 'fass': 'solid',\n 'fa-solid': 'solid'\n}), _familyProxy));\nvar STYLE_TO_PREFIX = familyProxy((_familyProxy2 = {}, _defineProperty(_familyProxy2, FAMILY_CLASSIC, {\n 'solid': 'fas',\n 'regular': 'far',\n 'light': 'fal',\n 'thin': 'fat',\n 'duotone': 'fad',\n 'brands': 'fab',\n 'kit': 'fak'\n}), _defineProperty(_familyProxy2, FAMILY_SHARP, {\n 'solid': 'fass'\n}), _familyProxy2));\nvar PREFIX_TO_LONG_STYLE = familyProxy((_familyProxy3 = {}, _defineProperty(_familyProxy3, FAMILY_CLASSIC, {\n 'fab': 'fa-brands',\n 'fad': 'fa-duotone',\n 'fak': 'fa-kit',\n 'fal': 'fa-light',\n 'far': 'fa-regular',\n 'fas': 'fa-solid',\n 'fat': 'fa-thin'\n}), _defineProperty(_familyProxy3, FAMILY_SHARP, {\n 'fass': 'fa-solid'\n}), _familyProxy3));\nvar LONG_STYLE_TO_PREFIX = familyProxy((_familyProxy4 = {}, _defineProperty(_familyProxy4, FAMILY_CLASSIC, {\n 'fa-brands': 'fab',\n 'fa-duotone': 'fad',\n 'fa-kit': 'fak',\n 'fa-light': 'fal',\n 'fa-regular': 'far',\n 'fa-solid': 'fas',\n 'fa-thin': 'fat'\n}), _defineProperty(_familyProxy4, FAMILY_SHARP, {\n 'fa-solid': 'fass'\n}), _familyProxy4));\nvar ICON_SELECTION_SYNTAX_PATTERN = /fa(s|r|l|t|d|b|k|ss)?[\\-\\ ]/; // eslint-disable-line no-useless-escape\n\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp|Kit)?.*/i; // TODO: this needs to support fass\n// TODO: do we need to handle font-weight for kit SVG pseudo-elements?\n\nvar FONT_WEIGHT_TO_PREFIX = familyProxy((_familyProxy5 = {}, _defineProperty(_familyProxy5, FAMILY_CLASSIC, {\n '900': 'fas',\n '400': 'far',\n 'normal': 'far',\n '300': 'fal',\n '100': 'fat'\n}), _defineProperty(_familyProxy5, FAMILY_SHARP, {\n '900': 'fass'\n}), _familyProxy5));\nvar oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nvar oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\nvar ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nvar DUOTONE_CLASSES = {\n GROUP: 'duotone-group',\n SWAP_OPACITY: 'swap-opacity',\n PRIMARY: 'primary',\n SECONDARY: 'secondary'\n};\nvar prefixes = new Set();\nObject.keys(STYLE_TO_PREFIX[FAMILY_CLASSIC]).map(prefixes.add.bind(prefixes));\nObject.keys(STYLE_TO_PREFIX[FAMILY_SHARP]).map(prefixes.add.bind(prefixes));\nvar RESERVED_CLASSES = [].concat(FAMILIES, _toConsumableArray(prefixes), ['2xs', 'xs', 'sm', 'lg', 'xl', '2xl', 'beat', 'border', 'fade', 'beat-fade', 'bounce', 'flip-both', 'flip-horizontal', 'flip-vertical', 'flip', 'fw', 'inverse', 'layers-counter', 'layers-text', 'layers', 'li', 'pull-left', 'pull-right', 'pulse', 'rotate-180', 'rotate-270', 'rotate-90', 'rotate-by', 'shake', 'spin-pulse', 'spin-reverse', 'spin', 'stack-1x', 'stack-2x', 'stack', 'ul', DUOTONE_CLASSES.GROUP, DUOTONE_CLASSES.SWAP_OPACITY, DUOTONE_CLASSES.PRIMARY, DUOTONE_CLASSES.SECONDARY]).concat(oneToTen.map(function (n) {\n return \"\".concat(n, \"x\");\n})).concat(oneToTwenty.map(function (n) {\n return \"w-\".concat(n);\n}));\n\nvar initial = WINDOW.FontAwesomeConfig || {};\n\nfunction getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n\n if (element) {\n return element.getAttribute(attr);\n }\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}\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-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['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\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n styleDefault: 'solid',\n familyDefault: 'classic',\n cssPrefix: DEFAULT_CSS_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n}; // familyPrefix is deprecated but we must still support it if present\n\nif (initial.familyPrefix) {\n initial.cssPrefix = initial.familyPrefix;\n}\n\nvar _config = _objectSpread2(_objectSpread2({}, _default), initial);\n\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\n _onChangeCb.forEach(function (cb) {\n return cb(config);\n });\n },\n get: function get() {\n return _config[key];\n }\n });\n}); // familyPrefix is deprecated as of 6.2.0 and should be removed in 7.0.0\n\nObject.defineProperty(config, 'familyPrefix', {\n enumerable: true,\n set: function set(val) {\n _config.cssPrefix = val;\n\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\n return function () {\n _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);\n };\n}\n\nvar d = 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\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\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\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\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\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\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (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 6 Solid\\\";\\n --fa-font-regular: normal 400 1em/1 \\\"Font Awesome 6 Regular\\\";\\n --fa-font-light: normal 300 1em/1 \\\"Font Awesome 6 Light\\\";\\n --fa-font-thin: normal 100 1em/1 \\\"Font Awesome 6 Thin\\\";\\n --fa-font-duotone: normal 900 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-sharp-solid: normal 900 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-brands: normal 400 1em/1 \\\"Font Awesome 6 Brands\\\";\\n}\\n\\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\\n overflow: visible;\\n box-sizing: content-box;\\n}\\n\\n.svg-inline--fa {\\n display: var(--fa-display, inline-block);\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\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.0714285705em;\\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 margin-right: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-li {\\n width: var(--fa-li-width, 2em);\\n top: 0.25em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: var(--fa-fw-width, 1.25em);\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\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: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\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 -webkit-transform: scale(var(--fa-counter-scale, 0.25));\\n transform: scale(var(--fa-counter-scale, 0.25));\\n -webkit-transform-origin: top right;\\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 -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: bottom right;\\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 -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: bottom left;\\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 -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: top right;\\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 -webkit-transform: scale(var(--fa-layers-scale, 0.25));\\n transform: scale(var(--fa-layers-scale, 0.25));\\n -webkit-transform-origin: top left;\\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: 0.625em;\\n line-height: 0.1em;\\n vertical-align: 0.225em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n line-height: 0.0833333337em;\\n vertical-align: 0.125em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n line-height: 0.0714285718em;\\n vertical-align: 0.0535714295em;\\n}\\n\\n.fa-lg {\\n font-size: 1.25em;\\n line-height: 0.05em;\\n vertical-align: -0.075em;\\n}\\n\\n.fa-xl {\\n font-size: 1.5em;\\n line-height: 0.0416666682em;\\n vertical-align: -0.125em;\\n}\\n\\n.fa-2xl {\\n font-size: 2em;\\n line-height: 0.03125em;\\n vertical-align: -0.1875em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: var(--fa-li-margin, 2.5em);\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: calc(var(--fa-li-width, 2em) * -1);\\n position: absolute;\\n text-align: center;\\n width: var(--fa-li-width, 2em);\\n line-height: inherit;\\n}\\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.08em);\\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\\n}\\n\\n.fa-pull-left {\\n float: left;\\n margin-right: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-pull-right {\\n float: right;\\n margin-left: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-beat {\\n -webkit-animation-name: fa-beat;\\n animation-name: fa-beat;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-bounce {\\n -webkit-animation-name: fa-bounce;\\n animation-name: fa-bounce;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));\\n}\\n\\n.fa-fade {\\n -webkit-animation-name: fa-fade;\\n animation-name: fa-fade;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-beat-fade {\\n -webkit-animation-name: fa-beat-fade;\\n animation-name: fa-beat-fade;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));\\n}\\n\\n.fa-flip {\\n -webkit-animation-name: fa-flip;\\n animation-name: fa-flip;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n animation-timing-function: var(--fa-animation-timing, ease-in-out);\\n}\\n\\n.fa-shake {\\n -webkit-animation-name: fa-shake;\\n animation-name: fa-shake;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\\n animation-timing-function: var(--fa-animation-timing, linear);\\n}\\n\\n.fa-spin {\\n -webkit-animation-name: fa-spin;\\n animation-name: fa-spin;\\n -webkit-animation-delay: var(--fa-animation-delay, 0s);\\n animation-delay: var(--fa-animation-delay, 0s);\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 2s);\\n animation-duration: var(--fa-animation-duration, 2s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, linear);\\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 -webkit-animation-name: fa-spin;\\n animation-name: fa-spin;\\n -webkit-animation-direction: var(--fa-animation-direction, normal);\\n animation-direction: var(--fa-animation-direction, normal);\\n -webkit-animation-duration: var(--fa-animation-duration, 1s);\\n animation-duration: var(--fa-animation-duration, 1s);\\n -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n animation-iteration-count: var(--fa-animation-iteration-count, infinite);\\n -webkit-animation-timing-function: var(--fa-animation-timing, steps(8));\\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 -webkit-animation-delay: -1ms;\\n animation-delay: -1ms;\\n -webkit-animation-duration: 1ms;\\n animation-duration: 1ms;\\n -webkit-animation-iteration-count: 1;\\n animation-iteration-count: 1;\\n transition-delay: 0s;\\n transition-duration: 0s;\\n }\\n}\\n@-webkit-keyframes fa-beat {\\n 0%, 90% {\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 45% {\\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\\n transform: scale(var(--fa-beat-scale, 1.25));\\n }\\n}\\n@keyframes fa-beat {\\n 0%, 90% {\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 45% {\\n -webkit-transform: scale(var(--fa-beat-scale, 1.25));\\n transform: scale(var(--fa-beat-scale, 1.25));\\n }\\n}\\n@-webkit-keyframes fa-bounce {\\n 0% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 10% {\\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\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 -webkit-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 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 -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\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 -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n }\\n 64% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 100% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n}\\n@keyframes fa-bounce {\\n 0% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 10% {\\n -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);\\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 -webkit-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 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 -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);\\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 -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));\\n }\\n 64% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n 100% {\\n -webkit-transform: scale(1, 1) translateY(0);\\n transform: scale(1, 1) translateY(0);\\n }\\n}\\n@-webkit-keyframes fa-fade {\\n 50% {\\n opacity: var(--fa-fade-opacity, 0.4);\\n }\\n}\\n@keyframes fa-fade {\\n 50% {\\n opacity: var(--fa-fade-opacity, 0.4);\\n }\\n}\\n@-webkit-keyframes fa-beat-fade {\\n 0%, 100% {\\n opacity: var(--fa-beat-fade-opacity, 0.4);\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 50% {\\n opacity: 1;\\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\\n transform: scale(var(--fa-beat-fade-scale, 1.125));\\n }\\n}\\n@keyframes fa-beat-fade {\\n 0%, 100% {\\n opacity: var(--fa-beat-fade-opacity, 0.4);\\n -webkit-transform: scale(1);\\n transform: scale(1);\\n }\\n 50% {\\n opacity: 1;\\n -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));\\n transform: scale(var(--fa-beat-fade-scale, 1.125));\\n }\\n}\\n@-webkit-keyframes fa-flip {\\n 50% {\\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\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-flip {\\n 50% {\\n -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));\\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@-webkit-keyframes fa-shake {\\n 0% {\\n -webkit-transform: rotate(-15deg);\\n transform: rotate(-15deg);\\n }\\n 4% {\\n -webkit-transform: rotate(15deg);\\n transform: rotate(15deg);\\n }\\n 8%, 24% {\\n -webkit-transform: rotate(-18deg);\\n transform: rotate(-18deg);\\n }\\n 12%, 28% {\\n -webkit-transform: rotate(18deg);\\n transform: rotate(18deg);\\n }\\n 16% {\\n -webkit-transform: rotate(-22deg);\\n transform: rotate(-22deg);\\n }\\n 20% {\\n -webkit-transform: rotate(22deg);\\n transform: rotate(22deg);\\n }\\n 32% {\\n -webkit-transform: rotate(-12deg);\\n transform: rotate(-12deg);\\n }\\n 36% {\\n -webkit-transform: rotate(12deg);\\n transform: rotate(12deg);\\n }\\n 40%, 100% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n}\\n@keyframes fa-shake {\\n 0% {\\n -webkit-transform: rotate(-15deg);\\n transform: rotate(-15deg);\\n }\\n 4% {\\n -webkit-transform: rotate(15deg);\\n transform: rotate(15deg);\\n }\\n 8%, 24% {\\n -webkit-transform: rotate(-18deg);\\n transform: rotate(-18deg);\\n }\\n 12%, 28% {\\n -webkit-transform: rotate(18deg);\\n transform: rotate(18deg);\\n }\\n 16% {\\n -webkit-transform: rotate(-22deg);\\n transform: rotate(-22deg);\\n }\\n 20% {\\n -webkit-transform: rotate(22deg);\\n transform: rotate(22deg);\\n }\\n 32% {\\n -webkit-transform: rotate(-12deg);\\n transform: rotate(-12deg);\\n }\\n 36% {\\n -webkit-transform: rotate(12deg);\\n transform: rotate(12deg);\\n }\\n 40%, 100% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n}\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both,\\n.fa-flip-horizontal.fa-flip-vertical {\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n.fa-rotate-by {\\n -webkit-transform: rotate(var(--fa-rotate-angle, none));\\n transform: rotate(var(--fa-rotate-angle, none));\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n vertical-align: middle;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n z-index: var(--fa-stack-z-index, auto);\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: var(--fa-inverse, #fff);\\n}\\n\\n.sr-only,\\n.fa-sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.sr-only-focusable:not(:focus),\\n.fa-sr-only-focusable:not(:focus) {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 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.fad.fa-inverse,\\n.fa-duotone.fa-inverse {\\n color: var(--fa-inverse, #fff);\\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\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\n return s;\n}\n\nvar _cssInserted = false;\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\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 = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\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\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 */\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 */\n\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\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\n/**\n * ucs2decode() and codePointAt() are both works of Mathias Bynens and licensed under MIT\n *\n * Copyright Mathias Bynens <https://mathiasbynens.be/>\n\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\nfunction ucs2decode(string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n\n while (counter < length) {\n var value = string.charCodeAt(counter++);\n\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n var extra = string.charCodeAt(counter++);\n\n if ((extra & 0xFC00) == 0xDC00) {\n // eslint-disable-line eqeqeq\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n\n return output;\n}\n\nfunction toHex(unicode) {\n var decoded = ucs2decode(unicode);\n return decoded.length === 1 ? decoded[0].toString(16) : null;\n}\nfunction codePointAt(string, index) {\n var size = string.length;\n var first = string.charCodeAt(index);\n var second;\n\n if (first >= 0xD800 && first <= 0xDBFF && size > index + 1) {\n second = string.charCodeAt(index + 1);\n\n if (second >= 0xDC00 && second <= 0xDFFF) {\n return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n\n return first;\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\n if (expanded) {\n acc[icon.iconName] = icon.icon;\n } else {\n acc[iconName] = icon;\n }\n\n return acc;\n }, {});\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\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 * 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\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar duotonePathRe = [/*#__PURE__*/_wrapRegExp(/path d=\"((?:(?!\")[\\s\\S])+)\".*path d=\"((?:(?!\")[\\s\\S])+)\"/, {\n d1: 1,\n d2: 2\n}), /*#__PURE__*/_wrapRegExp(/path class=\"((?:(?!\")[\\s\\S])+)\".*d=\"((?:(?!\")[\\s\\S])+)\".*path class=\"((?:(?!\")[\\s\\S])+)\".*d=\"((?:(?!\")[\\s\\S])+)\"/, {\n cls1: 1,\n d1: 2,\n cls2: 3,\n d2: 4\n}), /*#__PURE__*/_wrapRegExp(/path class=\"((?:(?!\")[\\s\\S])+)\".*d=\"((?:(?!\")[\\s\\S])+)\"/, {\n cls1: 1,\n d1: 2\n})];\n\nvar _LONG_STYLE, _PREFIXES, _PREFIXES_FOR_FAMILY;\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar LONG_STYLE = (_LONG_STYLE = {}, _defineProperty(_LONG_STYLE, FAMILY_CLASSIC, Object.values(PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC])), _defineProperty(_LONG_STYLE, FAMILY_SHARP, Object.values(PREFIX_TO_LONG_STYLE[FAMILY_SHARP])), _LONG_STYLE);\nvar _defaultUsablePrefix = null;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\nvar _byOldUnicode = {};\nvar _byAlias = {};\nvar PREFIXES = (_PREFIXES = {}, _defineProperty(_PREFIXES, FAMILY_CLASSIC, Object.keys(PREFIX_TO_STYLE[FAMILY_CLASSIC])), _defineProperty(_PREFIXES, FAMILY_SHARP, Object.keys(PREFIX_TO_STYLE[FAMILY_SHARP])), _PREFIXES);\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\n\nfunction getIconName(cssPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\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, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n if (icon[2]) {\n var aliases = icon[2].filter(function (a) {\n return typeof a === 'number';\n });\n aliases.forEach(function (alias) {\n acc[alias.toString(16)] = iconName;\n });\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n acc[iconName] = iconName;\n\n if (icon[2]) {\n var aliases = icon[2].filter(function (a) {\n return typeof a === 'string';\n });\n aliases.forEach(function (alias) {\n acc[alias] = iconName;\n });\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 }); // 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\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\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n if (typeof maybeNameMaybeUnicode === 'string') {\n acc.names[maybeNameMaybeUnicode] = {\n prefix: prefix,\n iconName: iconName\n };\n }\n\n if (typeof maybeNameMaybeUnicode === 'number') {\n acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {\n prefix: prefix,\n iconName: iconName\n };\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) {\n _defaultUsablePrefix = getCanonicalPrefix(c.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 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 ? FAMILY_CLASSIC : _params$family;\n var style = PREFIX_TO_STYLE[family][styleOrPrefix];\n var prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];\n var defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;\n return prefix || defined || null;\n}\nvar PREFIXES_FOR_FAMILY = (_PREFIXES_FOR_FAMILY = {}, _defineProperty(_PREFIXES_FOR_FAMILY, FAMILY_CLASSIC, Object.keys(PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC])), _defineProperty(_PREFIXES_FOR_FAMILY, FAMILY_SHARP, Object.keys(PREFIX_TO_LONG_STYLE[FAMILY_SHARP])), _PREFIXES_FOR_FAMILY);\nfunction getCanonicalIcon(values) {\n var _famProps;\n\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 famProps = (_famProps = {}, _defineProperty(_famProps, FAMILY_CLASSIC, \"\".concat(config.cssPrefix, \"-\").concat(FAMILY_CLASSIC)), _defineProperty(_famProps, FAMILY_SHARP, \"\".concat(config.cssPrefix, \"-\").concat(FAMILY_SHARP)), _famProps);\n var givenPrefix = null;\n var family = FAMILY_CLASSIC;\n\n if (values.includes(famProps[FAMILY_CLASSIC]) || values.some(function (v) {\n return PREFIXES_FOR_FAMILY[FAMILY_CLASSIC].includes(v);\n })) {\n family = FAMILY_CLASSIC;\n }\n\n if (values.includes(famProps[FAMILY_SHARP]) || values.some(function (v) {\n return PREFIXES_FOR_FAMILY[FAMILY_SHARP].includes(v);\n })) {\n family = FAMILY_SHARP;\n }\n\n var canonical = values.reduce(function (acc, cls) {\n var iconName = getIconName(config.cssPrefix, cls);\n\n if (styles[cls]) {\n cls = LONG_STYLE[family].includes(cls) ? LONG_STYLE_TO_PREFIX[family][cls] : cls;\n givenPrefix = cls;\n acc.prefix = cls;\n } else if (PREFIXES[family].indexOf(cls) > -1) {\n givenPrefix = cls;\n acc.prefix = getCanonicalPrefix(cls, {\n family: family\n });\n } else if (iconName) {\n acc.iconName = iconName;\n } else if (cls !== config.replacementClass && cls !== famProps[FAMILY_CLASSIC] && cls !== famProps[FAMILY_SHARP]) {\n acc.rest.push(cls);\n }\n\n if (!skipLookups && acc.prefix && acc.iconName) {\n var shim = givenPrefix === 'fa' ? byOldName(acc.iconName) : {};\n var aliasIconName = byAlias(acc.prefix, acc.iconName);\n\n if (shim.prefix) {\n givenPrefix = null;\n }\n\n acc.iconName = shim.iconName || aliasIconName || acc.iconName;\n acc.prefix = shim.prefix || acc.prefix;\n\n if (acc.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 acc.prefix = 'fas';\n }\n }\n\n return acc;\n }, emptyCanonicalIcon());\n\n if (values.includes('fa-brands') || values.includes('fab')) {\n canonical.prefix = 'fab';\n }\n\n if (values.includes('fa-duotone') || values.includes('fad')) {\n canonical.prefix = 'fad';\n }\n\n if (!canonical.prefix && family === FAMILY_SHARP && (styles['fass'] || config.autoFetchSvg)) {\n canonical.prefix = 'fass';\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\n return canonical;\n}\n\nvar Library = /*#__PURE__*/function () {\n function Library() {\n _classCallCheck(this, Library);\n\n this.definitions = {};\n }\n\n _createClass(Library, [{\n key: \"add\",\n value: function add() {\n var _this = this;\n\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\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]); // TODO can we stop doing this? We can't get the icons by 'fa-solid' any longer so this probably needs to change\n\n var longPrefix = PREFIX_TO_LONG_STYLE[FAMILY_CLASSIC][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\n if (aliases.length > 0) {\n aliases.forEach(function (alias) {\n if (typeof alias === 'string') {\n additions[prefix][alias] = icon;\n }\n });\n }\n\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\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\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\n if (_typeof(mixout[tk]) === 'object') {\n Object.keys(mixout[tk]).forEach(function (sk) {\n if (!obj[tk]) {\n obj[tk] = {};\n }\n\n obj[tk][sk] = mixout[tk][sk];\n });\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\n _hooks[hook].push(hooks[hook]);\n });\n }\n\n if (plugin.provides) {\n plugin.provides(providers);\n }\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\n var hookFns = _hooks[hook] || [];\n hookFns.forEach(function (hookFn) {\n accumulator = hookFn.apply(null, [accumulator].concat(args)); // eslint-disable-line no-useless-call\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\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\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\n if (IS_DOM) {\n callHooks('beforeI2svg', params);\n callProvided('pseudoElements2svg', params);\n return callProvided('i2svg', params);\n } else {\n return Promise.reject('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\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\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\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\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\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\n if (typeof _icon === 'string') {\n var _prefix = getDefaultUsablePrefix();\n\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};\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;\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\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\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\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 title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\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 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n var uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n\n if (title) {\n content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n delete content.attributes.title;\n }\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(_objectSpread2({}, uploadedIconWidthStyle), extra.styles)\n });\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\n args.children = children;\n args.attributes = attributes;\n\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 title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n\n var styles = _objectSpread2({}, extra.styles);\n\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\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\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\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\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\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};\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}\n\nfunction findIcon(iconName, prefix) {\n var givenPrefix = prefix;\n\n if (prefix === 'fa' && config.styleDefault !== null) {\n prefix = getDefaultUsablePrefix();\n }\n\n return new Promise(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: callProvided('missingIconAbstract') || {}\n };\n\n if (givenPrefix === 'fa') {\n var shim = byOldName(iconName) || {};\n iconName = shim.iconName || iconName;\n prefix = shim.prefix || prefix;\n }\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\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() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"6.2.1\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\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}\n\nfunction hasBeenReplaced(node) {\n return node && node.classList && node.classList.contains && node.classList.contains(config.replacementClass);\n}\n\nfunction getMutator() {\n if (config.autoReplaceSvg === true) {\n return mutators.replace;\n }\n\n var mutator = mutators[config.autoReplaceSvg];\n return mutator || mutators.replace;\n}\n\nfunction createElementNS(tag) {\n return DOCUMENT.createElementNS('http://www.w3.org/2000/svg', tag);\n}\n\nfunction createElement(tag) {\n return DOCUMENT.createElement(tag);\n}\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\n if (typeof abstractObj === 'string') {\n return DOCUMENT.createTextNode(abstractObj);\n }\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}\n\nfunction nodeAsComment(node) {\n var comment = \" \".concat(node.outerHTML, \" \");\n /* BEGIN.ATTRIBUTION */\n\n comment = \"\".concat(comment, \"Font Awesome fontawesome.com \");\n /* END.ATTRIBUTION */\n\n return comment;\n}\n\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n\n if (node.parentNode) {\n mutation[1].forEach(function (abstract) {\n node.parentNode.insertBefore(convertSVG(abstract), node);\n });\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]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.cssPrefix, \"-.*\"));\n delete abstract[0].attributes.id;\n\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\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n\n if (splitClasses.toNode.length === 0) {\n node.removeAttribute('class');\n } else {\n node.setAttribute('class', splitClasses.toNode.join(' '));\n }\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};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\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\n if (!config.observeMutations) {\n return;\n }\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\n treeCallback(mutationRecord.target);\n }\n\n if (mutationRecord.type === 'attributes' && mutationRecord.target.parentNode && config.searchPseudoElements) {\n pseudoElementsCallback(mutationRecord.target.parentNode);\n }\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\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\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\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\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\n if (!val.prefix) {\n val.prefix = getDefaultUsablePrefix();\n }\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.iconName && val.prefix) {\n return val;\n }\n\n if (val.prefix && innerText.length > 0) {\n val.iconName = byLigature(val.prefix, node.innerText) || byUnicode(val.prefix, toHex(node.innerText));\n }\n\n if (!val.iconName && config.autoFetchSvg && node.firstChild && node.firstChild.nodeType === Node.TEXT_NODE) {\n val.iconName = node.firstChild.data;\n }\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\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: 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\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\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 title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\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;\n\nfunction generateMutation(node) {\n var nodeMeta = config.autoReplaceSvg === 'nest' ? parseMeta(node, {\n styleParser: false\n }) : parseMeta(node);\n\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}\n\nvar knownPrefixes = new Set();\nFAMILIES.map(function (family) {\n knownPrefixes.add(\"fa-\".concat(family));\n});\nObject.keys(PREFIX_TO_STYLE[FAMILY_CLASSIC]).map(knownPrefixes.add.bind(knownPrefixes));\nObject.keys(PREFIX_TO_STYLE[FAMILY_SHARP]).map(knownPrefixes.add.bind(knownPrefixes));\nknownPrefixes = _toConsumableArray(knownPrefixes);\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\n var hclAdd = function hclAdd(suffix) {\n return htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var hclRemove = function hclRemove(suffix) {\n return htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n };\n\n var prefixes = config.autoFetchSvg ? knownPrefixes : FAMILIES.map(function (f) {\n return \"fa-\".concat(f);\n }).concat(Object.keys(styles$2));\n\n if (!prefixes.includes('fa')) {\n prefixes.push('fa');\n }\n\n var prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(function (p) {\n return \".\".concat(p, \":not([\").concat(DATA_FA_I2SVG, \"])\");\n })).join(', ');\n\n if (prefixesDomQuery.length === 0) {\n return Promise.resolve();\n }\n\n var candidates = [];\n\n try {\n candidates = toArray(root.querySelectorAll(prefixesDomQuery));\n } catch (e) {// noop\n }\n\n if (candidates.length > 0) {\n hclAdd('pending');\n hclRemove('complete');\n } else {\n return Promise.resolve();\n }\n\n var mark = perf.begin('onTree');\n var mutations = candidates.reduce(function (acc, node) {\n try {\n var mutation = generateMutation(node);\n\n if (mutation) {\n acc.push(mutation);\n }\n } catch (e) {\n if (!PRODUCTION) {\n if (e.name === 'MissingIcon') {\n console.error(e);\n }\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) {\n mark();\n reject(e);\n });\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}\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\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread2(_objectSpread2({}, params), {}, {\n mask: mask\n }));\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$title = params.title,\n title = _params$title === void 0 ? null : _params$title,\n _params$titleId = params.titleId,\n titleId = _params$titleId === void 0 ? null : _params$titleId,\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\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\n }\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 title: title,\n maskId: maskId,\n titleId: titleId,\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\n providers$$1.generateSvgReplacementMutation = function (node, nodeMeta) {\n var iconName = nodeMeta.iconName,\n title = nodeMeta.title,\n titleId = nodeMeta.titleId,\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\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 title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n }).catch(reject);\n });\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\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var nextChild;\n\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\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$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: '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 title: title,\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 title = nodeMeta.title,\n transform = nodeMeta.transform,\n extra = nodeMeta.extra;\n var width = null;\n var height = null;\n\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\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n\n return Promise.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width: width,\n height: height,\n transform: transform,\n title: title,\n extra: extra,\n watchable: true\n })]);\n };\n }\n};\n\nvar CLEAN_CONTENT_PATTERN = new RegExp(\"\\\"\", 'ug');\nvar SECONDARY_UNICODE_RANGE = [1105920, 1112319];\nfunction hexValueFromContent(content) {\n var cleaned = content.replace(CLEAN_CONTENT_PATTERN, '');\n var codePoint = codePointAt(cleaned, 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 {\n value: isDoubled ? toHex(cleaned[0]) : toHex(cleaned),\n isSecondary: isPrependTen || isDoubled\n };\n}\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\n var children = toArray(node.children);\n var alreadyProcessedPseudoElement = children.filter(function (c) {\n return c.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position;\n })[0];\n var styles = WINDOW.getComputedStyle(node, position);\n var fontFamily = styles.getPropertyValue('font-family').match(FONT_FAMILY_PATTERN);\n var fontWeight = styles.getPropertyValue('font-weight');\n var content = styles.getPropertyValue('content');\n\n if (alreadyProcessedPseudoElement && !fontFamily) {\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 (fontFamily && content !== 'none' && content !== '') {\n var _content = styles.getPropertyValue('content');\n\n var family = ~['Sharp'].indexOf(fontFamily[2]) ? FAMILY_SHARP : FAMILY_CLASSIC;\n var prefix = ~['Solid', 'Regular', 'Light', 'Thin', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[family][fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[family][fontWeight];\n\n var _hexValueFromContent = hexValueFromContent(_content),\n hexValue = _hexValueFromContent.value,\n isSecondary = _hexValueFromContent.isSecondary;\n\n var isV4 = fontFamily[0].startsWith('FontAwesome');\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName;\n\n if (isV4) {\n var iconName4 = byOldUnicode(hexValue);\n\n if (iconName4.iconName && iconName4.prefix) {\n iconName = iconName4.iconName;\n prefix = iconName4.prefix;\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\n\n if (iconName && !isSecondary && (!alreadyProcessedPseudoElement || alreadyProcessedPseudoElement.getAttribute(DATA_PREFIX) !== prefix || alreadyProcessedPseudoElement.getAttribute(DATA_ICON) !== iconIdentifier)) {\n node.setAttribute(pendingAttribute, iconIdentifier);\n\n if (alreadyProcessedPseudoElement) {\n // Delete the old one, since we're replacing it with a new one\n node.removeChild(alreadyProcessedPseudoElement);\n }\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.createElement('svg');\n\n if (position === '::before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return Promise.all([replaceForPosition(node, '::before'), replaceForPosition(node, '::after')]);\n}\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}\n\nfunction searchPseudoElements(root) {\n if (!IS_DOM) return;\n return new Promise(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).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}\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$$1) {\n providers$$1.pseudoElements2svg = function (params) {\n var _params$node = params.node,\n node = _params$node === void 0 ? DOCUMENT : _params$node;\n\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\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\n if (first && rest === 'h') {\n acc.flipX = true;\n return acc;\n }\n\n if (first && rest === 'v') {\n acc.flipY = true;\n return acc;\n }\n\n rest = parseFloat(rest);\n\n if (isNaN(rest)) {\n return acc;\n }\n\n switch (first) {\n case 'grow':\n acc.size = acc.size + rest;\n break;\n\n case 'shrink':\n acc.size = acc.size - rest;\n break;\n\n case 'left':\n acc.x = acc.x - rest;\n break;\n\n case 'right':\n acc.x = acc.x + rest;\n break;\n\n case 'up':\n acc.y = acc.y - rest;\n break;\n\n case 'down':\n acc.y = acc.y + rest;\n break;\n\n case 'rotate':\n acc.rotate = acc.rotate + rest;\n break;\n }\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\n if (transformString) {\n accumulator.transform = parseTransformString(transformString);\n }\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};\n\nfunction fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\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\n if (!mask.prefix) {\n mask.prefix = getDefaultUsablePrefix();\n }\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\n if (WINDOW.matchMedia) {\n reduceMotion = WINDOW.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\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 }; // Ring\n\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\n var OPACITY_ANIMATE = _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'opacity'\n });\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\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\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\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\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":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread2","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","props","descriptor","configurable","writable","value","_slicedToArray","arr","Array","isArray","_arrayWithHoles","_i","_s","_e","_arr","_n","_d","call","next","done","err","_iterableToArrayLimit","_unsupportedIterableToArray","TypeError","_nonIterableRest","_toConsumableArray","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","_nonIterableSpread","o","minLen","n","toString","slice","name","test","len","arr2","noop","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER","_PERFORMANCE","mark","measure","window","document","MutationObserver","performance","e","_ref$userAgent","navigator","userAgent","WINDOW","DOCUMENT","MUTATION_OBSERVER","PERFORMANCE","_familyProxy","_familyProxy2","_familyProxy3","_familyProxy4","_familyProxy5","IS_DOM","documentElement","head","addEventListener","createElement","IS_IE","indexOf","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","PRODUCTION","process","env","NODE_ENV","FAMILY_CLASSIC","FAMILY_SHARP","FAMILIES","familyProxy","Proxy","get","prop","PREFIX_TO_STYLE","fa","fas","far","fal","fat","fad","fab","fak","fass","STYLE_TO_PREFIX","solid","regular","light","thin","duotone","brands","kit","PREFIX_TO_LONG_STYLE","LONG_STYLE_TO_PREFIX","ICON_SELECTION_SYNTAX_PATTERN","LAYERS_TEXT_CLASSNAME","FONT_FAMILY_PATTERN","FONT_WEIGHT_TO_PREFIX","normal","oneToTen","oneToTwenty","concat","ATTRIBUTES_WATCHED_FOR_MUTATION","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","prefixes","Set","map","add","bind","RESERVED_CLASSES","initial","FontAwesomeConfig","querySelector","_ref","_ref2","attr","val","coerce","element","getAttribute","getAttrConfig","_default","styleDefault","familyDefault","cssPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","familyPrefix","_config","config","set","_onChangeCb","cb","d","meaninglessTransform","size","x","y","rotate","flipX","flipY","idPool","nextUniqueId","id","Math","random","toArray","array","classArray","node","classList","split","htmlEscape","str","replace","joinStyles","styles","reduce","acc","styleName","trim","transformIsMeaningful","transform","baseStyles","css","dcp","drc","fp","rc","s","dPatt","RegExp","customPropPatt","rPatt","_cssInserted","ensureCss","style","setAttribute","innerHTML","headChildren","childNodes","beforeChild","child","tagName","toUpperCase","insertBefore","insertCss","InjectCSS","mixout","dom","hooks","beforeDOMElementCreation","beforeI2svg","w","shims","namespace","functions","loaded","toHtml","abstractNodes","tag","_abstractNodes$attrib","attributes","_abstractNodes$childr","children","attributeName","joinAttributes","join","iconFromMapping","mapping","prefix","iconName","icon","doScroll","readyState","listener","removeEventListener","fn","_LONG_STYLE","_PREFIXES","_PREFIXES_FOR_FAMILY","subject","initialValue","thisContext","result","undefined","func","a","b","c","bindInternal4","toHex","unicode","decoded","string","output","counter","charCodeAt","extra","ucs2decode","normalizeIcons","icons","defineIcons","_params$skipHooks","skipHooks","normalized","addPack","LONG_STYLE","values","_defaultUsablePrefix","_byUnicode","_byLigature","_byOldName","_byOldUnicode","_byAlias","PREFIXES","getIconName","cls","parts","build","lookup","reducer","alias","aliases","hasRegular","autoFetchSvg","shimLookups","shim","maybeNameMaybeUnicode","names","unicodes","getCanonicalPrefix","family","byUnicode","byAlias","byOldName","getDefaultUsablePrefix","emptyCanonicalIcon","rest","styleOrPrefix","_params$family","defined","PREFIXES_FOR_FAMILY","getCanonicalIcon","_famProps","_params$skipLookups","skipLookups","famProps","givenPrefix","includes","some","v","canonical","aliasIconName","Library","instance","Constructor","_classCallCheck","this","definitions","protoProps","staticProps","_this","_len","_key","additions","_pullDefinitions","longPrefix","definition","_normalized$key","_plugins","_hooks","providers","defaultProviderKeys","chainHooks","hook","accumulator","args","hookFn","callHooks","_len2","_key2","callProvided","findIconDefinition","iconLookup","library","i2svg","params","Promise","reject","watch","autoReplaceSvgRoot","autoReplace","setTimeout","api","noAuto","parse","_icon","match","canonicalIcon","_prefix","_params$autoReplaceSv","domVariants","abstractCreator","abstract","container","html","makeInlineSvgAbstract","_params$icons","main","mask","symbol","title","maskId","titleId","_params$watchable","watchable","found","width","height","isUploadedIcon","attrClass","classes","content","class","role","xmlns","viewBox","uploadedIconWidthStyle","asSymbol","offset","asIcon","makeLayersTextAbstract","_params$watchable2","_ref2$width","_ref2$height","_ref2$startCentered","startCentered","transformForCss","styleString","styles$1","asFoundIcon","vectorData","fill","missingIconResolutionMixin","findIcon","resolve","console","error","maybeNotifyMissing","noop$1","p","preamble","end","perf","begin","noop$2","isWatched","createElementNS","convertSVG","abstractObj","_params$ceFn","ceFn","createTextNode","appendChild","mutators","mutation","parentNode","comment","createComment","outerHTML","nodeAsComment","replaceChild","remove","nest","forSvg","splitClasses","toSvg","toNode","removeAttribute","newInnerHTML","performOperationSync","op","perform","mutations","callback","callbackFunction","frame","requestAnimationFrame","mutator","disabled","disableObservation","enableObservation","mo","observe","options","_options$treeCallback","treeCallback","_options$nodeCallback","nodeCallback","_options$pseudoElemen","pseudoElementsCallback","_options$observeMutat","observeMutationsRoot","objects","defaultPrefix","mutationRecord","type","addedNodes","hasPrefixAndIcon","_getCanonicalIcon","contains","childList","characterData","subtree","classParser","ligature","existingPrefix","existingIconName","innerText","firstChild","nodeType","Node","TEXT_NODE","data","parseMeta","parser","styleParser","_classParser","extraClasses","extraAttributes","attributesParser","pluginMeta","extraStyles","styles$2","generateMutation","nodeMeta","knownPrefixes","onTree","root","htmlClassList","hclAdd","suffix","hclRemove","f","prefixesDomQuery","candidates","querySelectorAll","all","then","resolvedMutations","catch","onNode","render","iconDefinition","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","ReplaceElements","maybeIconDefinition","mutationObserverCallbacks","provides","providers$$1","_params$node","_params$callback","generateSvgReplacementMutation","generateAbstractIcon","_ref3","nextChild","containerWidth","iconWidth","Layers","layer","assembler","LayersCounter","makeLayersCounterAbstract","LayersText","text","generateLayersText","computedFontSize","parseInt","getComputedStyle","fontSize","boundingClientRect","getBoundingClientRect","CLEAN_CONTENT_PATTERN","SECONDARY_UNICODE_RANGE","replaceForPosition","position","pendingAttribute","oldUnicode","newUnicode","alreadyProcessedPseudoElement","fontFamily","getPropertyValue","fontWeight","removeChild","_content","toLowerCase","_hexValueFromContent","index","second","first","cleaned","codePoint","isPrependTen","isDoubled","isSecondary","hexValueFromContent","hexValue","isV4","startsWith","iconIdentifier","iconName4","meta","processable","operations","_unwatched","parseTransformString","transformString","parseFloat","isNaN","PowerTransforms","parseNodeAttributes","generateAbstractTransformGrouping","outer","innerTranslate","innerScale","innerRotate","inner","path","ALL_SPACE","fillBlack","force","Masks","maskData","generateAbstractMask","explicitMaskId","mainWidth","mainPath","maskWidth","maskPath","trans","transformForSvg","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","r","opacity","nextPlugins","mixoutsTo","k","plugin","tk","sk","registerPlugins","pseudoElements2svg","unwatch","bootstrap","disconnect","symbolData","parse$1"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs.js","sources":["../../../../node_modules/@fortawesome/fontawesome-svg-core/index.mjs"],"sourcesContent":["/*!\n * Font Awesome Free 6.7.2 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 2024 Fonticons, Inc.\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 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 _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 _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) {\n var t = o[r];\n return \"$\" + (Array.isArray(t) ? t.join(\"$\") : t);\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\nconst noop = () => {};\nlet _WINDOW = {};\nlet _DOCUMENT = {};\nlet _MUTATION_OBSERVER = null;\nlet _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) {}\nconst {\n userAgent = ''\n} = _WINDOW.navigator || {};\nconst WINDOW = _WINDOW;\nconst DOCUMENT = _DOCUMENT;\nconst MUTATION_OBSERVER = _MUTATION_OBSERVER;\nconst PERFORMANCE = _PERFORMANCE;\nconst IS_BROWSER = !!WINDOW.document;\nconst IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nconst IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\nvar p = /fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\\-\\ ]/,\n g = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i;\nvar S = {\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 },\n A = {\n GROUP: \"duotone-group\",\n SWAP_OPACITY: \"swap-opacity\",\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\"\n },\n P = [\"fa-classic\", \"fa-duotone\", \"fa-sharp\", \"fa-sharp-duotone\"];\nvar s = \"classic\",\n t = \"duotone\",\n r = \"sharp\",\n o = \"sharp-duotone\",\n L = [s, t, r, o];\nvar G = {\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 };\nvar lt = {\n \"Font Awesome 6 Free\": {\n 900: \"fas\",\n 400: \"far\"\n },\n \"Font Awesome 6 Pro\": {\n 900: \"fas\",\n 400: \"far\",\n normal: \"far\",\n 300: \"fal\",\n 100: \"fat\"\n },\n \"Font Awesome 6 Brands\": {\n 400: \"fab\",\n normal: \"fab\"\n },\n \"Font Awesome 6 Duotone\": {\n 900: \"fad\",\n 400: \"fadr\",\n normal: \"fadr\",\n 300: \"fadl\",\n 100: \"fadt\"\n },\n \"Font Awesome 6 Sharp\": {\n 900: \"fass\",\n 400: \"fasr\",\n normal: \"fasr\",\n 300: \"fasl\",\n 100: \"fast\"\n },\n \"Font Awesome 6 Sharp Duotone\": {\n 900: \"fasds\",\n 400: \"fasdr\",\n normal: \"fasdr\",\n 300: \"fasdl\",\n 100: \"fasdt\"\n }\n };\nvar pt = new Map([[\"classic\", {\n defaultShortPrefixId: \"fas\",\n defaultStyleId: \"solid\",\n styleIds: [\"solid\", \"regular\", \"light\", \"thin\", \"brands\"],\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 }], [\"duotone\", {\n defaultShortPrefixId: \"fad\",\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 }]]),\n xt = {\n classic: {\n solid: \"fas\",\n regular: \"far\",\n light: \"fal\",\n thin: \"fat\",\n brands: \"fab\"\n },\n duotone: {\n solid: \"fad\",\n regular: \"fadr\",\n light: \"fadl\",\n thin: \"fadt\"\n },\n sharp: {\n solid: \"fass\",\n regular: \"fasr\",\n light: \"fasl\",\n thin: \"fast\"\n },\n \"sharp-duotone\": {\n solid: \"fasds\",\n regular: \"fasdr\",\n light: \"fasdl\",\n thin: \"fasdt\"\n }\n };\nvar Ft = [\"fak\", \"fa-kit\", \"fakd\", \"fa-kit-duotone\"],\n St = {\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 At = [\"kit\"];\nvar Ct = {\n kit: {\n \"fa-kit\": \"fak\"\n },\n \"kit-duotone\": {\n \"fa-kit-duotone\": \"fakd\"\n }\n};\nvar Lt = [\"fak\", \"fakd\"],\n Wt = {\n kit: {\n fak: \"fa-kit\"\n },\n \"kit-duotone\": {\n fakd: \"fa-kit-duotone\"\n }\n };\nvar Et = {\n kit: {\n kit: \"fak\"\n },\n \"kit-duotone\": {\n \"kit-duotone\": \"fakd\"\n }\n };\n\nvar t$1 = {\n GROUP: \"duotone-group\",\n SWAP_OPACITY: \"swap-opacity\",\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\"\n },\n r$1 = [\"fa-classic\", \"fa-duotone\", \"fa-sharp\", \"fa-sharp-duotone\"];\nvar bt$1 = [\"fak\", \"fa-kit\", \"fakd\", \"fa-kit-duotone\"];\nvar Yt = {\n \"Font Awesome Kit\": {\n 400: \"fak\",\n normal: \"fak\"\n },\n \"Font Awesome Kit Duotone\": {\n 400: \"fakd\",\n normal: \"fakd\"\n }\n };\nvar ua = {\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 },\n I$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 },\n ga = {\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 },\n x = [\"fa-solid\", \"fa-regular\", \"fa-light\", \"fa-thin\", \"fa-duotone\", \"fa-brands\"],\n Ia = [\"fa\", \"fas\", \"far\", \"fal\", \"fat\", \"fad\", \"fadr\", \"fadl\", \"fadt\", \"fab\", \"fass\", \"fasr\", \"fasl\", \"fast\", \"fasds\", \"fasdr\", \"fasdl\", \"fasdt\", ...r$1, ...x],\n m$1 = [\"solid\", \"regular\", \"light\", \"thin\", \"duotone\", \"brands\"],\n c$1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n F$1 = c$1.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]),\n ma = [...Object.keys(I$1), ...m$1, \"2xs\", \"xs\", \"sm\", \"lg\", \"xl\", \"2xl\", \"beat\", \"border\", \"fade\", \"beat-fade\", \"bounce\", \"flip-both\", \"flip-horizontal\", \"flip-vertical\", \"flip\", \"fw\", \"inverse\", \"layers-counter\", \"layers-text\", \"layers\", \"li\", \"pull-left\", \"pull-right\", \"pulse\", \"rotate-180\", \"rotate-270\", \"rotate-90\", \"rotate-by\", \"shake\", \"spin-pulse\", \"spin-reverse\", \"spin\", \"stack-1x\", \"stack-2x\", \"stack\", \"ul\", t$1.GROUP, t$1.SWAP_OPACITY, t$1.PRIMARY, t$1.SECONDARY].concat(c$1.map(a => \"\".concat(a, \"x\"))).concat(F$1.map(a => \"w-\".concat(a)));\nvar wa = {\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\nconst NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nconst UNITS_IN_GRID = 16;\nconst DEFAULT_CSS_PREFIX = 'fa';\nconst DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nconst DATA_FA_I2SVG = 'data-fa-i2svg';\nconst DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nconst DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nconst DATA_PREFIX = 'data-prefix';\nconst DATA_ICON = 'data-icon';\nconst HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nconst MUTATION_APPROACH_ASYNC = 'async';\nconst TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\nconst PRODUCTION = (() => {\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(target, prop) {\n return prop in target ? target[prop] : target[s];\n }\n });\n}\nconst _PREFIX_TO_STYLE = _objectSpread2({}, S);\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[s] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n 'fa-duotone': 'duotone'\n}), S[s]), St['kit']), St['kit-duotone']);\nconst PREFIX_TO_STYLE = familyProxy(_PREFIX_TO_STYLE);\nconst _STYLE_TO_PREFIX = _objectSpread2({}, xt);\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[s] = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n duotone: 'fad'\n}), _STYLE_TO_PREFIX[s]), Et['kit']), Et['kit-duotone']);\nconst STYLE_TO_PREFIX = familyProxy(_STYLE_TO_PREFIX);\nconst _PREFIX_TO_LONG_STYLE = _objectSpread2({}, ga);\n_PREFIX_TO_LONG_STYLE[s] = _objectSpread2(_objectSpread2({}, _PREFIX_TO_LONG_STYLE[s]), Wt['kit']);\nconst PREFIX_TO_LONG_STYLE = familyProxy(_PREFIX_TO_LONG_STYLE);\nconst _LONG_STYLE_TO_PREFIX = _objectSpread2({}, ua);\n_LONG_STYLE_TO_PREFIX[s] = _objectSpread2(_objectSpread2({}, _LONG_STYLE_TO_PREFIX[s]), Ct['kit']);\nconst LONG_STYLE_TO_PREFIX = familyProxy(_LONG_STYLE_TO_PREFIX);\nconst ICON_SELECTION_SYNTAX_PATTERN = p; // eslint-disable-line no-useless-escape\n\nconst LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nconst FONT_FAMILY_PATTERN = g;\nconst _FONT_WEIGHT_TO_PREFIX = _objectSpread2({}, G);\nconst FONT_WEIGHT_TO_PREFIX = familyProxy(_FONT_WEIGHT_TO_PREFIX);\nconst ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nconst DUOTONE_CLASSES = A;\nconst RESERVED_CLASSES = [...At, ...ma];\n\nconst 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 const 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-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['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(_ref => {\n let [attr, key] = _ref;\n const val = coerce(getAttrConfig(attr));\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\nconst _default = {\n styleDefault: 'solid',\n familyDefault: s,\n cssPrefix: DEFAULT_CSS_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: 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}\nconst _config = _objectSpread2(_objectSpread2({}, _default), initial);\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\nconst config = {};\nObject.keys(_default).forEach(key => {\n Object.defineProperty(config, key, {\n enumerable: true,\n set: function (val) {\n _config[key] = val;\n _onChangeCb.forEach(cb => cb(config));\n },\n get: function () {\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 (val) {\n _config.cssPrefix = val;\n _onChangeCb.forEach(cb => cb(config));\n },\n get: function () {\n return _config.cssPrefix;\n }\n});\nWINDOW.FontAwesomeConfig = config;\nconst _onChangeCb = [];\nfunction onChange(cb) {\n _onChangeCb.push(cb);\n return () => {\n _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);\n };\n}\n\nconst d$2 = UNITS_IN_GRID;\nconst 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 const style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n const headChildren = DOCUMENT.head.childNodes;\n let beforeChild = null;\n for (let i = headChildren.length - 1; i > -1; i--) {\n const child = headChildren[i];\n const 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}\nconst idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\nfunction nextUniqueId() {\n let size = 12;\n let id = '';\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n return id;\n}\nfunction toArray(obj) {\n const array = [];\n for (let 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(i => i);\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((acc, attributeName) => {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce((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 let {\n transform,\n containerWidth,\n iconWidth\n } = _ref;\n const outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n const innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n const innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n const innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n const inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n const path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer,\n inner,\n path\n };\n}\nfunction transformForCss(_ref2) {\n let {\n transform,\n width = UNITS_IN_GRID,\n height = UNITS_IN_GRID,\n startCentered = false\n } = _ref2;\n let 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 6 Free\\\";\\n --fa-font-regular: normal 400 1em/1 \\\"Font Awesome 6 Free\\\";\\n --fa-font-light: normal 300 1em/1 \\\"Font Awesome 6 Pro\\\";\\n --fa-font-thin: normal 100 1em/1 \\\"Font Awesome 6 Pro\\\";\\n --fa-font-duotone: normal 900 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-duotone-regular: normal 400 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-duotone-light: normal 300 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-duotone-thin: normal 100 1em/1 \\\"Font Awesome 6 Duotone\\\";\\n --fa-font-brands: normal 400 1em/1 \\\"Font Awesome 6 Brands\\\";\\n --fa-font-sharp-solid: normal 900 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-regular: normal 400 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-light: normal 300 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-thin: normal 100 1em/1 \\\"Font Awesome 6 Sharp\\\";\\n --fa-font-sharp-duotone-solid: normal 900 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n --fa-font-sharp-duotone-regular: normal 400 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n --fa-font-sharp-duotone-light: normal 300 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n --fa-font-sharp-duotone-thin: normal 100 1em/1 \\\"Font Awesome 6 Sharp Duotone\\\";\\n}\\n\\nsvg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa {\\n overflow: visible;\\n box-sizing: content-box;\\n}\\n\\n.svg-inline--fa {\\n display: var(--fa-display, inline-block);\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\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.0714285705em;\\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 margin-right: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: var(--fa-pull-margin, 0.3em);\\n width: auto;\\n}\\n.svg-inline--fa.fa-li {\\n width: var(--fa-li-width, 2em);\\n top: 0.25em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: var(--fa-fw-width, 1.25em);\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\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: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\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: 0.625em;\\n line-height: 0.1em;\\n vertical-align: 0.225em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n line-height: 0.0833333337em;\\n vertical-align: 0.125em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n line-height: 0.0714285718em;\\n vertical-align: 0.0535714295em;\\n}\\n\\n.fa-lg {\\n font-size: 1.25em;\\n line-height: 0.05em;\\n vertical-align: -0.075em;\\n}\\n\\n.fa-xl {\\n font-size: 1.5em;\\n line-height: 0.0416666682em;\\n vertical-align: -0.125em;\\n}\\n\\n.fa-2xl {\\n font-size: 2em;\\n line-height: 0.03125em;\\n vertical-align: -0.1875em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: var(--fa-li-margin, 2.5em);\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: 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.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.08em);\\n padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);\\n}\\n\\n.fa-pull-left {\\n float: left;\\n margin-right: var(--fa-pull-margin, 0.3em);\\n}\\n\\n.fa-pull-right {\\n float: right;\\n margin-left: 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-delay: -1ms;\\n animation-duration: 1ms;\\n animation-iteration-count: 1;\\n transition-delay: 0s;\\n transition-duration: 0s;\\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.fa-stack {\\n display: inline-block;\\n vertical-align: middle;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n z-index: var(--fa-stack-z-index, auto);\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: var(--fa-inverse, #fff);\\n}\\n\\n.sr-only,\\n.fa-sr-only {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 0;\\n}\\n\\n.sr-only-focusable:not(:focus),\\n.fa-sr-only-focusable:not(:focus) {\\n position: absolute;\\n width: 1px;\\n height: 1px;\\n padding: 0;\\n margin: -1px;\\n overflow: hidden;\\n clip: rect(0, 0, 0, 0);\\n white-space: nowrap;\\n border-width: 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\nfunction css() {\n const dcp = DEFAULT_CSS_PREFIX;\n const drc = DEFAULT_REPLACEMENT_CLASS;\n const fp = config.cssPrefix;\n const rc = config.replacementClass;\n let s = baseStyles;\n if (fp !== dcp || rc !== drc) {\n const dPatt = new RegExp(\"\\\\.\".concat(dcp, \"\\\\-\"), 'g');\n const customPropPatt = new RegExp(\"\\\\--\".concat(dcp, \"\\\\-\"), 'g');\n const 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}\nlet _cssInserted = false;\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n}\nvar InjectCSS = {\n mixout() {\n return {\n dom: {\n css,\n insertCss: ensureCss\n }\n };\n },\n hooks() {\n return {\n beforeDOMElementCreation() {\n ensureCss();\n },\n beforeI2svg() {\n ensureCss();\n }\n };\n }\n};\n\nconst w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\n\nconst functions = [];\nconst listener = function () {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(fn => fn());\n};\nlet 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 const {\n tag,\n attributes = {},\n children = []\n } = abstractNodes;\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,\n 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 * ucs2decode() and codePointAt() are both works of Mathias Bynens and licensed under MIT\n *\n * Copyright Mathias Bynens <https://mathiasbynens.be/>\n\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nfunction ucs2decode(string) {\n const output = [];\n let counter = 0;\n const length = string.length;\n while (counter < length) {\n const value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n const extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) {\n // eslint-disable-line eqeqeq\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n}\nfunction toHex(unicode) {\n const decoded = ucs2decode(unicode);\n return decoded.length === 1 ? decoded[0].toString(16) : null;\n}\nfunction codePointAt(string, index) {\n const size = string.length;\n let first = string.charCodeAt(index);\n let second;\n if (first >= 0xD800 && first <= 0xDBFF && size > index + 1) {\n second = string.charCodeAt(index + 1);\n if (second >= 0xDC00 && second <= 0xDFFF) {\n return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;\n }\n }\n return first;\n}\n\nfunction normalizeIcons(icons) {\n return Object.keys(icons).reduce((acc, iconName) => {\n const icon = icons[iconName];\n const 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 let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const {\n skipHooks = false\n } = params;\n const 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\nconst duotonePathRe = [/*#__PURE__*/_wrapRegExp(/path d=\"([^\"]+)\".*path d=\"([^\"]+)\"/, {\n d1: 1,\n d2: 2\n}), /*#__PURE__*/_wrapRegExp(/path class=\"([^\"]+)\".*d=\"([^\"]+)\".*path class=\"([^\"]+)\".*d=\"([^\"]+)\"/, {\n cls1: 1,\n d1: 2,\n cls2: 3,\n d2: 4\n}), /*#__PURE__*/_wrapRegExp(/path class=\"([^\"]+)\".*d=\"([^\"]+)\"/, {\n cls1: 1,\n d1: 2\n})];\n\nconst {\n styles,\n shims\n} = namespace;\nconst FAMILY_NAMES = Object.keys(PREFIX_TO_LONG_STYLE);\nconst PREFIXES_FOR_FAMILY = FAMILY_NAMES.reduce((acc, familyId) => {\n acc[familyId] = Object.keys(PREFIX_TO_LONG_STYLE[familyId]);\n return acc;\n}, {});\nlet _defaultUsablePrefix = null;\nlet _byUnicode = {};\nlet _byLigature = {};\nlet _byOldName = {};\nlet _byOldUnicode = {};\nlet _byAlias = {};\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\nfunction getIconName(cssPrefix, cls) {\n const parts = cls.split('-');\n const prefix = parts[0];\n const iconName = parts.slice(1).join('-');\n if (prefix === cssPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\nconst build = () => {\n const lookup = reducer => {\n return reduce(styles, (o$$1, style, prefix) => {\n o$$1[prefix] = reduce(style, reducer, {});\n return o$$1;\n }, {});\n };\n _byUnicode = lookup((acc, icon, iconName) => {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n if (icon[2]) {\n const aliases = icon[2].filter(a$$1 => {\n return typeof a$$1 === 'number';\n });\n aliases.forEach(alias => {\n acc[alias.toString(16)] = iconName;\n });\n }\n return acc;\n });\n _byLigature = lookup((acc, icon, iconName) => {\n acc[iconName] = iconName;\n if (icon[2]) {\n const aliases = icon[2].filter(a$$1 => {\n return typeof a$$1 === 'string';\n });\n aliases.forEach(alias => {\n acc[alias] = iconName;\n });\n }\n return acc;\n });\n _byAlias = lookup((acc, icon, iconName) => {\n const aliases = icon[2];\n acc[iconName] = iconName;\n aliases.forEach(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 const hasRegular = 'far' in styles || config.autoFetchSvg;\n const shimLookups = reduce(shims, (acc, shim) => {\n const maybeNameMaybeUnicode = shim[0];\n let prefix = shim[1];\n const iconName = shim[2];\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n if (typeof maybeNameMaybeUnicode === 'string') {\n acc.names[maybeNameMaybeUnicode] = {\n prefix,\n iconName\n };\n }\n if (typeof maybeNameMaybeUnicode === 'number') {\n acc.unicodes[maybeNameMaybeUnicode.toString(16)] = {\n prefix,\n 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(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 const oldUnicode = _byOldUnicode[unicode];\n const 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}\nconst emptyCanonicalIcon = () => {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\nfunction getFamilyId(values) {\n let family = s;\n const famProps = FAMILY_NAMES.reduce((acc, familyId) => {\n acc[familyId] = \"\".concat(config.cssPrefix, \"-\").concat(familyId);\n return acc;\n }, {});\n L.forEach(familyId => {\n if (values.includes(famProps[familyId]) || values.some(v$$1 => PREFIXES_FOR_FAMILY[familyId].includes(v$$1))) {\n family = familyId;\n }\n });\n return family;\n}\nfunction getCanonicalPrefix(styleOrPrefix) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n family = s\n } = params;\n const 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 const prefix = STYLE_TO_PREFIX[family][styleOrPrefix] || STYLE_TO_PREFIX[family][style];\n const defined = styleOrPrefix in namespace.styles ? styleOrPrefix : null;\n const result = prefix || defined || null;\n return result;\n}\nfunction moveNonFaClassesToRest(classNames) {\n let rest = [];\n let iconName = null;\n classNames.forEach(cls => {\n const 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,\n rest\n };\n}\nfunction sortedUniqueValues(arr) {\n return arr.sort().filter((value, index, arr) => {\n return arr.indexOf(value) === index;\n });\n}\nfunction getCanonicalIcon(values) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n skipLookups = false\n } = params;\n let givenPrefix = null;\n const faCombinedClasses = Ia.concat(bt$1);\n const faStyleOrFamilyClasses = sortedUniqueValues(values.filter(cls => faCombinedClasses.includes(cls)));\n const nonStyleOrFamilyClasses = sortedUniqueValues(values.filter(cls => !Ia.includes(cls)));\n const faStyles = faStyleOrFamilyClasses.filter(cls => {\n givenPrefix = cls;\n return !P.includes(cls);\n });\n const [styleFromValues = null] = faStyles;\n const family = getFamilyId(faStyleOrFamilyClasses);\n const canonical = _objectSpread2(_objectSpread2({}, moveNonFaClassesToRest(nonStyleOrFamilyClasses)), {}, {\n prefix: getCanonicalPrefix(styleFromValues, {\n family\n })\n });\n return _objectSpread2(_objectSpread2(_objectSpread2({}, canonical), getDefaultCanonicalPrefix({\n values,\n family,\n styles,\n config,\n canonical,\n givenPrefix\n })), applyShimAndAlias(skipLookups, givenPrefix, canonical));\n}\nfunction applyShimAndAlias(skipLookups, givenPrefix, canonical) {\n let {\n prefix,\n iconName\n } = canonical;\n if (skipLookups || !prefix || !iconName) {\n return {\n prefix,\n iconName\n };\n }\n const shim = givenPrefix === 'fa' ? byOldName(iconName) : {};\n const 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,\n iconName\n };\n}\nconst newCanonicalFamilies = L.filter(familyId => {\n return familyId !== s || familyId !== t;\n});\nconst newCanonicalStyles = Object.keys(ga).filter(key => key !== s).map(key => Object.keys(ga[key])).flat();\nfunction getDefaultCanonicalPrefix(prefixOptions) {\n const {\n values,\n family,\n canonical,\n givenPrefix = '',\n styles = {},\n config: config$$1 = {}\n } = prefixOptions;\n const isDuotoneFamily = family === t;\n const valuesHasDuotone = values.includes('fa-duotone') || values.includes('fad');\n const defaultFamilyIsDuotone = config$$1.familyDefault === 'duotone';\n const 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 const validPrefix = Object.keys(styles).find(key => newCanonicalStyles.includes(key));\n if (validPrefix || config$$1.autoFetchSvg) {\n const defaultPrefix = pt.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\nclass Library {\n constructor() {\n this.definitions = {};\n }\n add() {\n for (var _len = arguments.length, definitions = new Array(_len), _key = 0; _key < _len; _key++) {\n definitions[_key] = arguments[_key];\n }\n const additions = definitions.reduce(this._pullDefinitions, {});\n Object.keys(additions).forEach(key => {\n this.definitions[key] = _objectSpread2(_objectSpread2({}, this.definitions[key] || {}), additions[key]);\n defineIcons(key, additions[key]);\n\n // TODO can we stop doing this? We can't get the icons by 'fa-solid' any longer so this probably needs to change\n const longPrefix = PREFIX_TO_LONG_STYLE[s][key];\n if (longPrefix) defineIcons(longPrefix, additions[key]);\n build();\n });\n }\n reset() {\n this.definitions = {};\n }\n _pullDefinitions(additions, definition) {\n const normalized = definition.prefix && definition.iconName && definition.icon ? {\n 0: definition\n } : definition;\n Object.keys(normalized).map(key => {\n const {\n prefix,\n iconName,\n icon\n } = normalized[key];\n const aliases = icon[2];\n if (!additions[prefix]) additions[prefix] = {};\n if (aliases.length > 0) {\n aliases.forEach(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\nlet _plugins = [];\nlet _hooks = {};\nconst providers = {};\nconst defaultProviderKeys = Object.keys(providers);\nfunction registerPlugins(nextPlugins, _ref) {\n let {\n mixoutsTo: obj\n } = _ref;\n _plugins = nextPlugins;\n _hooks = {};\n Object.keys(providers).forEach(k => {\n if (defaultProviderKeys.indexOf(k) === -1) {\n delete providers[k];\n }\n });\n _plugins.forEach(plugin => {\n const mixout = plugin.mixout ? plugin.mixout() : {};\n Object.keys(mixout).forEach(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(sk => {\n if (!obj[tk]) {\n obj[tk] = {};\n }\n obj[tk][sk] = mixout[tk][sk];\n });\n }\n });\n if (plugin.hooks) {\n const hooks = plugin.hooks();\n Object.keys(hooks).forEach(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 const hookFns = _hooks[hook] || [];\n hookFns.forEach(hookFn => {\n accumulator = hookFn.apply(null, [accumulator, ...args]); // eslint-disable-line no-useless-call\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 const hookFns = _hooks[hook] || [];\n hookFns.forEach(hookFn => {\n hookFn.apply(null, args);\n });\n return undefined;\n}\nfunction callProvided() {\n const hook = arguments[0];\n const 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 let {\n iconName\n } = iconLookup;\n const 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}\nconst library = new Library();\nconst noAuto = () => {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n callHooks('noAuto');\n};\nconst dom = {\n i2svg: function () {\n let 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 () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n autoReplaceSvgRoot\n } = params;\n if (config.autoReplaceSvg === false) {\n config.autoReplaceSvg = true;\n }\n config.observeMutations = true;\n domready(() => {\n autoReplace({\n autoReplaceSvgRoot\n });\n callHooks('watch', params);\n });\n }\n};\nconst parse = {\n 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 const iconName = icon[1].indexOf('fa-') === 0 ? icon[1].slice(3) : icon[1];\n const prefix = getCanonicalPrefix(icon[0]);\n return {\n 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 const 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 const prefix = getDefaultUsablePrefix();\n return {\n prefix,\n iconName: byAlias(prefix, icon) || icon\n };\n }\n }\n};\nconst api = {\n noAuto,\n config,\n dom,\n parse,\n library,\n findIconDefinition,\n toHtml\n};\nconst autoReplace = function () {\n let params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n autoReplaceSvgRoot = DOCUMENT\n } = params;\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 () {\n return val.abstract.map(a => toHtml(a));\n }\n });\n Object.defineProperty(val, 'node', {\n get: function () {\n if (!IS_DOM) return;\n const container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction asIcon (_ref) {\n let {\n children,\n main,\n mask,\n attributes,\n styles,\n transform\n } = _ref;\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n const {\n width,\n height\n } = main;\n const 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,\n children\n }];\n}\n\nfunction asSymbol (_ref) {\n let {\n prefix,\n iconName,\n children,\n attributes,\n symbol\n } = _ref;\n const 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\n }),\n children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n const {\n icons: {\n main,\n mask\n },\n prefix,\n iconName,\n transform,\n symbol,\n title,\n maskId,\n titleId,\n extra,\n watchable = false\n } = params;\n const {\n width,\n height\n } = mask.found ? mask : main;\n const isUploadedIcon = Lt.includes(prefix);\n const attrClass = [config.replacementClass, iconName ? \"\".concat(config.cssPrefix, \"-\").concat(iconName) : ''].filter(c$$1 => extra.classes.indexOf(c$$1) === -1).filter(c$$1 => c$$1 !== '' || !!c$$1).concat(extra.classes).join(' ');\n let 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 'xmlns': 'http://www.w3.org/2000/svg',\n 'viewBox': \"0 0 \".concat(width, \" \").concat(height)\n })\n };\n const uploadedIconWidthStyle = isUploadedIcon && !~extra.classes.indexOf('fa-fw') ? {\n width: \"\".concat(width / height * 16 * 0.0625, \"em\")\n } : {};\n if (watchable) {\n content.attributes[DATA_FA_I2SVG] = '';\n }\n if (title) {\n content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n delete content.attributes.title;\n }\n const args = _objectSpread2(_objectSpread2({}, content), {}, {\n prefix,\n iconName,\n main,\n mask,\n maskId,\n transform,\n symbol,\n styles: _objectSpread2(_objectSpread2({}, uploadedIconWidthStyle), extra.styles)\n });\n const {\n children,\n attributes\n } = mask.found && main.found ? callProvided('generateAbstractMask', args) || {\n children: [],\n attributes: {}\n } : callProvided('generateAbstractIcon', args) || {\n children: [],\n attributes: {}\n };\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 const {\n content,\n width,\n height,\n transform,\n title,\n extra,\n watchable = false\n } = params;\n const attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n if (watchable) {\n attributes[DATA_FA_I2SVG] = '';\n }\n const styles = _objectSpread2({}, extra.styles);\n if (transformIsMeaningful(transform)) {\n styles['transform'] = transformForCss({\n transform,\n startCentered: true,\n width,\n height\n });\n styles['-webkit-transform'] = styles['transform'];\n }\n const styleString = joinStyles(styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n const val = [];\n val.push({\n tag: 'span',\n attributes,\n children: [content]\n });\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n return val;\n}\nfunction makeLayersCounterAbstract(params) {\n const {\n content,\n title,\n extra\n } = params;\n const attributes = _objectSpread2(_objectSpread2(_objectSpread2({}, extra.attributes), title ? {\n 'title': title\n } : {}), {}, {\n 'class': extra.classes.join(' ')\n });\n const styleString = joinStyles(extra.styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n const val = [];\n val.push({\n tag: 'span',\n attributes,\n children: [content]\n });\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n return val;\n}\n\nconst {\n styles: styles$1\n} = namespace;\nfunction asFoundIcon(icon) {\n const width = icon[0];\n const height = icon[1];\n const [vectorData] = icon.slice(4);\n let 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,\n height,\n icon: element\n };\n}\nconst 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 let givenPrefix = prefix;\n if (prefix === 'fa' && config.styleDefault !== null) {\n prefix = getDefaultUsablePrefix();\n }\n return new Promise((resolve, reject) => {\n if (givenPrefix === 'fa') {\n const 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 const 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\nconst noop$1 = () => {};\nconst p$2 = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nconst preamble = \"FA \\\"6.7.2\\\"\";\nconst begin = name => {\n p$2.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return () => end(name);\n};\nconst 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,\n end\n};\n\nconst noop$2 = () => {};\nfunction isWatched(node) {\n const i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\nfunction hasPrefixAndIcon(node) {\n const prefix = node.getAttribute ? node.getAttribute(DATA_PREFIX) : null;\n const 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 const 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 let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n ceFn = abstractObj.tag === 'svg' ? createElementNS : createElement\n } = params;\n if (typeof abstractObj === 'string') {\n return DOCUMENT.createTextNode(abstractObj);\n }\n const tag = ceFn(abstractObj.tag);\n Object.keys(abstractObj.attributes || []).forEach(function (key) {\n tag.setAttribute(key, abstractObj.attributes[key]);\n });\n const children = abstractObj.children || [];\n children.forEach(function (child) {\n tag.appendChild(convertSVG(child, {\n ceFn\n }));\n });\n return tag;\n}\nfunction nodeAsComment(node) {\n let comment = \" \".concat(node.outerHTML, \" \");\n /* BEGIN.ATTRIBUTION */\n comment = \"\".concat(comment, \"Font Awesome fontawesome.com \");\n /* END.ATTRIBUTION */\n return comment;\n}\nconst mutators = {\n replace: function (mutation) {\n const node = mutation[0];\n if (node.parentNode) {\n mutation[1].forEach(abstract => {\n node.parentNode.insertBefore(convertSVG(abstract), node);\n });\n if (node.getAttribute(DATA_FA_I2SVG) === null && config.keepOriginalSource) {\n let comment = DOCUMENT.createComment(nodeAsComment(node));\n node.parentNode.replaceChild(comment, node);\n } else {\n node.remove();\n }\n }\n },\n nest: function (mutation) {\n const node = mutation[0];\n const 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 const forSvg = new RegExp(\"\".concat(config.cssPrefix, \"-.*\"));\n delete abstract[0].attributes.id;\n if (abstract[0].attributes.class) {\n const splitClasses = abstract[0].attributes.class.split(' ').reduce((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 const newInnerHTML = abstract.map(a => toHtml(a)).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 const callbackFunction = typeof callback === 'function' ? callback : noop$2;\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n let frame = performOperationSync;\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n frame(() => {\n const mutator = getMutator();\n const mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\nlet disabled = false;\nfunction disableObservation() {\n disabled = true;\n}\nfunction enableObservation() {\n disabled = false;\n}\nlet mo = null;\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n if (!config.observeMutations) {\n return;\n }\n const {\n treeCallback = noop$2,\n nodeCallback = noop$2,\n pseudoElementsCallback = noop$2,\n observeMutationsRoot = DOCUMENT\n } = options;\n mo = new MUTATION_OBSERVER(objects => {\n if (disabled) return;\n const defaultPrefix = getDefaultUsablePrefix();\n toArray(objects).forEach(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.parentNode);\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 const {\n prefix,\n iconName\n } = getCanonicalIcon(classArray(mutationRecord.target));\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 const style = node.getAttribute('style');\n let val = [];\n if (style) {\n val = style.split(';').reduce((acc, style) => {\n const styles = style.split(':');\n const prop = styles[0];\n const 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 const existingPrefix = node.getAttribute('data-prefix');\n const existingIconName = node.getAttribute('data-icon');\n const innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n let 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 const extraAttributes = toArray(node.attributes).reduce((acc, attr) => {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n return acc;\n }, {});\n const title = node.getAttribute('title');\n const titleId = node.getAttribute('data-fa-title-id');\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n return extraAttributes;\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: 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 let parser = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n styleParser: true\n };\n const {\n iconName,\n prefix,\n rest: extraClasses\n } = classParser(node);\n const extraAttributes = attributesParser(node);\n const pluginMeta = chainHooks('parseNodeAttributes', {}, node);\n let extraStyles = parser.styleParser ? styleParser(node) : [];\n return _objectSpread2({\n iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n 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\nconst {\n styles: styles$2\n} = namespace;\nfunction generateMutation(node) {\n const 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 [...Ft, ...Ia];\n}\nfunction onTree(root) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return Promise.resolve();\n const htmlClassList = DOCUMENT.documentElement.classList;\n const hclAdd = suffix => htmlClassList.add(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n const hclRemove = suffix => htmlClassList.remove(\"\".concat(HTML_CLASS_I2SVG_BASE_CLASS, \"-\").concat(suffix));\n const prefixes = config.autoFetchSvg ? getKnownPrefixes() : P.concat(Object.keys(styles$2));\n if (!prefixes.includes('fa')) {\n prefixes.push('fa');\n }\n const prefixesDomQuery = [\".\".concat(LAYERS_TEXT_CLASSNAME, \":not([\").concat(DATA_FA_I2SVG, \"])\")].concat(prefixes.map(p$$1 => \".\".concat(p$$1, \":not([\").concat(DATA_FA_I2SVG, \"])\"))).join(', ');\n if (prefixesDomQuery.length === 0) {\n return Promise.resolve();\n }\n let 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 const mark = perf.begin('onTree');\n const mutations = candidates.reduce((acc, node) => {\n try {\n const 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((resolve, reject) => {\n Promise.all(mutations).then(resolvedMutations => {\n perform(resolvedMutations, () => {\n hclAdd('active');\n hclAdd('complete');\n hclRemove('pending');\n if (typeof callback === 'function') callback();\n mark();\n resolve();\n });\n }).catch(e$$1 => {\n mark();\n reject(e$$1);\n });\n });\n}\nfunction onNode(node) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(mutation => {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n let {\n mask\n } = params;\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n return next(iconDefinition, _objectSpread2(_objectSpread2({}, params), {}, {\n mask\n }));\n };\n}\nconst render = function (iconDefinition) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n transform = meaninglessTransform,\n symbol = false,\n mask = null,\n maskId = null,\n title = null,\n titleId = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n if (!iconDefinition) return;\n const {\n prefix,\n iconName,\n icon\n } = iconDefinition;\n return domVariants(_objectSpread2({\n type: 'icon'\n }, iconDefinition), () => {\n callHooks('beforeDOMElementCreation', {\n iconDefinition,\n params\n });\n if (config.autoA11y) {\n if (title) {\n attributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n attributes['aria-hidden'] = 'true';\n attributes['focusable'] = 'false';\n }\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,\n iconName,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n symbol,\n title,\n maskId,\n titleId,\n extra: {\n attributes,\n styles,\n classes\n }\n });\n });\n};\nvar ReplaceElements = {\n mixout() {\n return {\n icon: resolveIcons(render)\n };\n },\n hooks() {\n return {\n mutationObserverCallbacks(accumulator) {\n accumulator.treeCallback = onTree;\n accumulator.nodeCallback = onNode;\n return accumulator;\n }\n };\n },\n provides(providers$$1) {\n providers$$1.i2svg = function (params) {\n const {\n node = DOCUMENT,\n callback = () => {}\n } = params;\n return onTree(node, callback);\n };\n providers$$1.generateSvgReplacementMutation = function (node, nodeMeta) {\n const {\n iconName,\n title,\n titleId,\n prefix,\n transform,\n symbol,\n mask,\n maskId,\n extra\n } = nodeMeta;\n return new Promise((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(_ref => {\n let [main, mask] = _ref;\n resolve([node, makeInlineSvgAbstract({\n icons: {\n main,\n mask\n },\n prefix,\n iconName,\n transform,\n symbol,\n maskId,\n title,\n titleId,\n extra,\n watchable: true\n })]);\n }).catch(reject);\n });\n };\n providers$$1.generateAbstractIcon = function (_ref2) {\n let {\n children,\n attributes,\n main,\n transform,\n styles\n } = _ref2;\n const styleString = joinStyles(styles);\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n let nextChild;\n if (transformIsMeaningful(transform)) {\n nextChild = callProvided('generateAbstractTransformGrouping', {\n main,\n transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n }\n children.push(nextChild || main.icon);\n return {\n children,\n attributes\n };\n };\n }\n};\n\nvar Layers = {\n mixout() {\n return {\n layer(assembler) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n classes = []\n } = params;\n return domVariants({\n type: 'layer'\n }, () => {\n callHooks('beforeDOMElementCreation', {\n assembler,\n params\n });\n let children = [];\n assembler(args => {\n Array.isArray(args) ? args.map(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\"), ...classes].join(' ')\n },\n children\n }];\n });\n }\n };\n }\n};\n\nvar LayersCounter = {\n mixout() {\n return {\n counter(content) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n title = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n return domVariants({\n type: 'counter',\n content\n }, () => {\n callHooks('beforeDOMElementCreation', {\n content,\n params\n });\n return makeLayersCounterAbstract({\n content: content.toString(),\n title,\n extra: {\n attributes,\n styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-counter\"), ...classes]\n }\n });\n });\n }\n };\n }\n};\n\nvar LayersText = {\n mixout() {\n return {\n text(content) {\n let params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n transform = meaninglessTransform,\n title = null,\n classes = [],\n attributes = {},\n styles = {}\n } = params;\n return domVariants({\n type: 'text',\n content\n }, () => {\n callHooks('beforeDOMElementCreation', {\n content,\n params\n });\n return makeLayersTextAbstract({\n content,\n transform: _objectSpread2(_objectSpread2({}, meaninglessTransform), transform),\n title,\n extra: {\n attributes,\n styles,\n classes: [\"\".concat(config.cssPrefix, \"-layers-text\"), ...classes]\n }\n });\n });\n }\n };\n },\n provides(providers$$1) {\n providers$$1.generateLayersText = function (node, nodeMeta) {\n const {\n title,\n transform,\n extra\n } = nodeMeta;\n let width = null;\n let height = null;\n if (IS_IE) {\n const computedFontSize = parseInt(getComputedStyle(node).fontSize, 10);\n const boundingClientRect = node.getBoundingClientRect();\n width = boundingClientRect.width / computedFontSize;\n height = boundingClientRect.height / computedFontSize;\n }\n if (config.autoA11y && !title) {\n extra.attributes['aria-hidden'] = 'true';\n }\n return Promise.resolve([node, makeLayersTextAbstract({\n content: node.innerHTML,\n width,\n height,\n transform,\n title,\n extra,\n watchable: true\n })]);\n };\n }\n};\n\nconst CLEAN_CONTENT_PATTERN = new RegExp('\\u{22}', 'ug');\nconst SECONDARY_UNICODE_RANGE = [1105920, 1112319];\nconst _FONT_FAMILY_WEIGHT_TO_PREFIX = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, {\n FontAwesome: {\n normal: 'fas',\n 400: 'fas'\n }\n}), lt), wa), Yt);\nconst FONT_FAMILY_WEIGHT_TO_PREFIX = Object.keys(_FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, key) => {\n acc[key.toLowerCase()] = _FONT_FAMILY_WEIGHT_TO_PREFIX[key];\n return acc;\n}, {});\nconst FONT_FAMILY_WEIGHT_FALLBACK = Object.keys(FONT_FAMILY_WEIGHT_TO_PREFIX).reduce((acc, fontFamily) => {\n const weights = FONT_FAMILY_WEIGHT_TO_PREFIX[fontFamily];\n acc[fontFamily] = weights[900] || [...Object.entries(weights)][0][1];\n return acc;\n}, {});\nfunction hexValueFromContent(content) {\n const cleaned = content.replace(CLEAN_CONTENT_PATTERN, '');\n const codePoint = codePointAt(cleaned, 0);\n const isPrependTen = codePoint >= SECONDARY_UNICODE_RANGE[0] && codePoint <= SECONDARY_UNICODE_RANGE[1];\n const isDoubled = cleaned.length === 2 ? cleaned[0] === cleaned[1] : false;\n return {\n value: isDoubled ? toHex(cleaned[0]) : toHex(cleaned),\n isSecondary: isPrependTen || isDoubled\n };\n}\nfunction getPrefix(fontFamily, fontWeight) {\n const fontFamilySanitized = fontFamily.replace(/^['\"]|['\"]$/g, '').toLowerCase();\n const fontWeightInteger = parseInt(fontWeight);\n const 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 const pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new Promise((resolve, reject) => {\n if (node.getAttribute(pendingAttribute) !== null) {\n // This node is already being processed\n return resolve();\n }\n const children = toArray(node.children);\n const alreadyProcessedPseudoElement = children.filter(c$$1 => c$$1.getAttribute(DATA_FA_PSEUDO_ELEMENT) === position)[0];\n const styles = WINDOW.getComputedStyle(node, position);\n const fontFamily = styles.getPropertyValue('font-family');\n const fontFamilyMatch = fontFamily.match(FONT_FAMILY_PATTERN);\n const fontWeight = styles.getPropertyValue('font-weight');\n const 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 const content = styles.getPropertyValue('content');\n let prefix = getPrefix(fontFamily, fontWeight);\n const {\n value: hexValue,\n isSecondary\n } = hexValueFromContent(content);\n const isV4 = fontFamilyMatch[0].startsWith('FontAwesome');\n let iconName = byUnicode(prefix, hexValue);\n let iconIdentifier = iconName;\n if (isV4) {\n const 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 const meta = blankMeta();\n const {\n extra\n } = meta;\n extra.attributes[DATA_FA_PSEUDO_ELEMENT] = position;\n findIcon(iconName, prefix).then(main => {\n const abstract = makeInlineSvgAbstract(_objectSpread2(_objectSpread2({}, meta), {}, {\n icons: {\n main,\n mask: emptyCanonicalIcon()\n },\n prefix,\n iconName: iconIdentifier,\n extra,\n watchable: true\n }));\n const 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(a$$1 => toHtml(a$$1)).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}\nfunction searchPseudoElements(root) {\n if (!IS_DOM) return;\n return new Promise((resolve, reject) => {\n const operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n const end = perf.begin('searchPseudoElements');\n disableObservation();\n Promise.all(operations).then(() => {\n end();\n enableObservation();\n resolve();\n }).catch(() => {\n end();\n enableObservation();\n reject();\n });\n });\n}\nvar PseudoElements = {\n hooks() {\n return {\n mutationObserverCallbacks(accumulator) {\n accumulator.pseudoElementsCallback = searchPseudoElements;\n return accumulator;\n }\n };\n },\n provides(providers) {\n providers.pseudoElements2svg = function (params) {\n const {\n node = DOCUMENT\n } = params;\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n };\n }\n};\n\nlet _unwatched = false;\nvar MutationObserver$1 = {\n mixout() {\n return {\n dom: {\n unwatch() {\n disableObservation();\n _unwatched = true;\n }\n }\n };\n },\n hooks() {\n return {\n bootstrap() {\n observe(chainHooks('mutationObserverCallbacks', {}));\n },\n noAuto() {\n disconnect();\n },\n watch(params) {\n const {\n observeMutationsRoot\n } = params;\n if (_unwatched) {\n enableObservation();\n } else {\n observe(chainHooks('mutationObserverCallbacks', {\n observeMutationsRoot\n }));\n }\n }\n };\n }\n};\n\nconst parseTransformString = transformString => {\n let 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((acc, n) => {\n const parts = n.toLowerCase().split('-');\n const first = parts[0];\n let 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() {\n return {\n parse: {\n transform: transformString => {\n return parseTransformString(transformString);\n }\n }\n };\n },\n hooks() {\n return {\n parseNodeAttributes(accumulator, node) {\n const transformString = node.getAttribute('data-fa-transform');\n if (transformString) {\n accumulator.transform = parseTransformString(transformString);\n }\n return accumulator;\n }\n };\n },\n provides(providers) {\n providers.generateAbstractTransformGrouping = function (_ref) {\n let {\n main,\n transform,\n containerWidth,\n iconWidth\n } = _ref;\n const outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n const innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n const innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n const innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n const inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n const path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n const operations = {\n outer,\n inner,\n 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\nconst ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\nfunction fillBlack(abstract) {\n let 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() {\n return {\n parseNodeAttributes(accumulator, node) {\n const maskData = node.getAttribute('data-fa-mask');\n const mask = !maskData ? emptyCanonicalIcon() : getCanonicalIcon(maskData.split(' ').map(i => i.trim()));\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(providers) {\n providers.generateAbstractMask = function (_ref) {\n let {\n children,\n attributes,\n main,\n mask,\n maskId: explicitMaskId,\n transform\n } = _ref;\n const {\n width: mainWidth,\n icon: mainPath\n } = main;\n const {\n width: maskWidth,\n icon: maskPath\n } = mask;\n const trans = transformForSvg({\n transform,\n containerWidth: maskWidth,\n iconWidth: mainWidth\n });\n const maskRect = {\n tag: 'rect',\n attributes: _objectSpread2(_objectSpread2({}, ALL_SPACE), {}, {\n fill: 'white'\n })\n };\n const maskInnerGroupChildrenMixin = mainPath.children ? {\n children: mainPath.children.map(fillBlack)\n } : {};\n const 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 const maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread2({}, trans.outer),\n children: [maskInnerGroup]\n };\n const maskId = \"mask-\".concat(explicitMaskId || nextUniqueId());\n const clipId = \"clip-\".concat(explicitMaskId || nextUniqueId());\n const 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 const 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,\n attributes\n };\n };\n }\n};\n\nvar MissingIconIndicator = {\n provides(providers) {\n let reduceMotion = false;\n if (WINDOW.matchMedia) {\n reduceMotion = WINDOW.matchMedia('(prefers-reduced-motion: reduce)').matches;\n }\n providers.missingIconAbstract = function () {\n const gChildren = [];\n const FILL = {\n fill: 'currentColor'\n };\n const 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 const OPACITY_ANIMATE = _objectSpread2(_objectSpread2({}, ANIMATION_BASE), {}, {\n attributeName: 'opacity'\n });\n const 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() {\n return {\n parseNodeAttributes(accumulator, node) {\n const symbolData = node.getAttribute('data-fa-symbol');\n const 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});\nconst noAuto$1 = api.noAuto;\nconst config$1 = api.config;\nconst library$1 = api.library;\nconst dom$1 = api.dom;\nconst parse$1 = api.parse;\nconst findIconDefinition$1 = api.findIconDefinition;\nconst toHtml$1 = api.toHtml;\nconst icon = api.icon;\nconst layer = api.layer;\nconst text = api.text;\nconst 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":["_defineProperty","e","r","t","i","Symbol","toPrimitive","call","TypeError","String","Number","_toPrimitive","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","ownKeys","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","push","apply","_objectSpread2","arguments","length","forEach","getOwnPropertyDescriptors","defineProperties","noop","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER","_PERFORMANCE","mark","measure","window","document","MutationObserver","performance","userAgent","navigator","WINDOW","DOCUMENT","MUTATION_OBSERVER","PERFORMANCE","IS_DOM","documentElement","head","addEventListener","createElement","IS_IE","indexOf","S","classic","fa","fas","far","fal","fat","fab","duotone","fad","fadr","fadl","fadt","sharp","fass","fasr","fasl","fast","fasds","fasdr","fasdl","fasdt","P","s","L","pt","Map","defaultShortPrefixId","defaultStyleId","styleIds","futureStyleIds","defaultFontWeight","Ft","St","fak","fakd","Lt","Et","kit","t$1","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","bt$1","ga","Ia","c$1","F$1","concat","ma","map","a","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","PRODUCTION","process","env","NODE_ENV","e$$1","familyProxy","obj","Proxy","get","target","prop","_PREFIX_TO_STYLE","PREFIX_TO_STYLE","_STYLE_TO_PREFIX","solid","regular","light","thin","brands","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","normal","ATTRIBUTES_WATCHED_FOR_MUTATION","DUOTONE_CLASSES","RESERVED_CLASSES","initial","FontAwesomeConfig","querySelector","_ref","attr","key","val","coerce","element","getAttribute","getAttrConfig","_default","styleDefault","familyDefault","cssPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","familyPrefix","_config","config","set","_onChangeCb","cb","d$2","meaninglessTransform","size","x","y","rotate","flipX","flipY","idPool","nextUniqueId","id","Math","random","toArray","array","classArray","node","classList","split","htmlEscape","str","replace","joinStyles","styles","reduce","acc","styleName","trim","transformIsMeaningful","transform","baseStyles","css","dcp","drc","fp","rc","dPatt","RegExp","customPropPatt","rPatt","_cssInserted","ensureCss","style","setAttribute","innerHTML","headChildren","childNodes","beforeChild","child","tagName","toUpperCase","insertBefore","insertCss","InjectCSS","mixout","dom","hooks","beforeDOMElementCreation","beforeI2svg","w","shims","namespace","functions","listener","removeEventListener","loaded","fn","toHtml","abstractNodes","tag","attributes","children","attributeName","joinAttributes","join","iconFromMapping","mapping","prefix","iconName","icon","doScroll","test","readyState","subject","initialValue","thisContext","result","iterator","undefined","func","b","c","d","bindInternal4","toHex","unicode","decoded","string","output","counter","charCodeAt","extra","ucs2decode","toString","normalizeIcons","icons","defineIcons","params","skipHooks","normalized","addPack","FAMILY_NAMES","PREFIXES_FOR_FAMILY","familyId","_defaultUsablePrefix","_byUnicode","_byLigature","_byOldName","_byOldUnicode","_byAlias","getIconName","cls","parts","slice","name","build","lookup","reducer","o$$1","a$$1","alias","aliases","hasRegular","autoFetchSvg","shimLookups","shim","maybeNameMaybeUnicode","names","unicodes","getCanonicalPrefix","family","byUnicode","byAlias","byOldName","getDefaultUsablePrefix","c$$1","emptyCanonicalIcon","rest","styleOrPrefix","defined","sortedUniqueValues","arr","sort","index","getCanonicalIcon","values","skipLookups","givenPrefix","faCombinedClasses","faStyleOrFamilyClasses","includes","nonStyleOrFamilyClasses","faStyles","styleFromValues","famProps","some","v$$1","getFamilyId","canonical","classNames","moveNonFaClassesToRest","prefixOptions","config$$1","isDuotoneFamily","valuesHasDuotone","defaultFamilyIsDuotone","canonicalPrefixIsDuotone","newCanonicalFamilies","find","newCanonicalStyles","defaultPrefix","getDefaultCanonicalPrefix","aliasIconName","applyShimAndAlias","flat","_plugins","_hooks","providers","defaultProviderKeys","chainHooks","hook","accumulator","_len","args","Array","_key","hookFn","callHooks","_len2","_key2","callProvided","prototype","findIconDefinition","iconLookup","library","definitions","constructor","this","add","additions","_pullDefinitions","longPrefix","reset","definition","i2svg","Promise","reject","Error","watch","autoReplaceSvgRoot","autoReplace","setTimeout","parse","isArray","match","canonicalIcon","api","noAuto","domVariants","abstractCreator","abstract","container","html","makeInlineSvgAbstract","main","mask","symbol","title","maskId","titleId","watchable","width","height","found","isUploadedIcon","attrClass","classes","content","class","role","xmlns","viewBox","uploadedIconWidthStyle","asSymbol","offset","asIcon","makeLayersTextAbstract","_ref2","startCentered","transformForCss","styleString","styles$1","asFoundIcon","vectorData","fill","missingIconResolutionMixin","findIcon","resolve","console","error","maybeNotifyMissing","noop$1","p$2","preamble","end","perf","begin","noop$2","isWatched","createElementNS","convertSVG","abstractObj","ceFn","createTextNode","appendChild","mutators","mutation","parentNode","comment","createComment","outerHTML","nodeAsComment","replaceChild","remove","nest","forSvg","splitClasses","toSvg","toNode","removeAttribute","newInnerHTML","performOperationSync","op","perform","mutations","callback","callbackFunction","frame","requestAnimationFrame","mutator","disabled","disableObservation","enableObservation","mo","observe","options","treeCallback","nodeCallback","pseudoElementsCallback","observeMutationsRoot","objects","mutationRecord","type","addedNodes","hasPrefixAndIcon","contains","childList","characterData","subtree","classParser","existingPrefix","existingIconName","innerText","ligature","firstChild","nodeType","Node","TEXT_NODE","data","parseMeta","parser","styleParser","extraClasses","extraAttributes","attributesParser","pluginMeta","extraStyles","styles$2","generateMutation","nodeMeta","onTree","root","htmlClassList","hclAdd","suffix","hclRemove","prefixes","prefixesDomQuery","p$$1","candidates","querySelectorAll","all","then","resolvedMutations","catch","onNode","render","iconDefinition","ReplaceElements","next","maybeIconDefinition","mutationObserverCallbacks","provides","providers$$1","generateSvgReplacementMutation","generateAbstractIcon","nextChild","containerWidth","iconWidth","Layers","layer","assembler","LayersCounter","makeLayersCounterAbstract","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","replaceForPosition","position","pendingAttribute","alreadyProcessedPseudoElement","getPropertyValue","fontFamilyMatch","fontWeight","removeChild","fontFamilySanitized","fontWeightInteger","fontWeightSanitized","isNaN","getPrefix","hexValue","isSecondary","cleaned","codePoint","second","first","codePointAt","isPrependTen","isDoubled","hexValueFromContent","isV4","startsWith","iconIdentifier","iconName4","oldUnicode","newUnicode","byOldUnicode","meta","processable","operations","PseudoElements","pseudoElements2svg","_unwatched","MutationObserver$1","unwatch","bootstrap","disconnect","parseTransformString","transformString","n","parseFloat","PowerTransforms","parseNodeAttributes","generateAbstractTransformGrouping","outer","innerTranslate","innerScale","innerRotate","inner","path","ALL_SPACE","fillBlack","force","Masks","maskData","generateAbstractMask","explicitMaskId","mainWidth","mainPath","maskWidth","maskPath","trans","transformForSvg","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","nextPlugins","mixoutsTo","k","plugin","tk","sk","registerPlugins","symbolData","parse$1"],"mappings":"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"}