{"version":3,"file":"av-logo-horizontal-white-DsX5qgVJ.js","sources":["../../../node_modules/@fortawesome/fontawesome-free/js/fontawesome.js","../../../app/assets/images/av-logo-horizontal-white.png"],"sourcesContent":["/*!\n * Font Awesome Free 6.5.1 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 2023 Fonticons, Inc.\n */\n(function () {\n 'use strict';\n\n 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\n function _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\n function _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\n function _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\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _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\n function _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\n function _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\n function _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\n function _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\n function _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n }\n\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n }\n\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n }\n\n function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n }\n\n function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n }\n\n function _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\n function _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\n function _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\n function _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\n function _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\n var noop = function noop() {};\n\n var _WINDOW = {};\n var _DOCUMENT = {};\n var _MUTATION_OBSERVER = null;\n var _PERFORMANCE = {\n mark: noop,\n measure: noop\n };\n\n try {\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\n var _ref = _WINDOW.navigator || {},\n _ref$userAgent = _ref.userAgent,\n userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;\n var WINDOW = _WINDOW;\n var DOCUMENT = _DOCUMENT;\n var MUTATION_OBSERVER = _MUTATION_OBSERVER;\n var PERFORMANCE = _PERFORMANCE;\n var IS_BROWSER = !!WINDOW.document;\n var IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\n var IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\n\n var _familyProxy, _familyProxy2, _familyProxy3, _familyProxy4, _familyProxy5;\n\n var NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\n var UNITS_IN_GRID = 16;\n var DEFAULT_CSS_PREFIX = 'fa';\n var DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\n var DATA_FA_I2SVG = 'data-fa-i2svg';\n var DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\n var DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\n var DATA_PREFIX = 'data-prefix';\n var DATA_ICON = 'data-icon';\n var HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\n var MUTATION_APPROACH_ASYNC = 'async';\n var TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\n var PRODUCTION = function () {\n try {\n return \"production\" === 'production';\n } catch (e) {\n return false;\n }\n }();\n var FAMILY_CLASSIC = 'classic';\n var FAMILY_SHARP = 'sharp';\n var FAMILIES = [FAMILY_CLASSIC, FAMILY_SHARP];\n\n function 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 }\n var 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 'fakd': 'kit',\n 'fa-kit': 'kit',\n 'fa-kit-duotone': 'kit'\n }), _defineProperty(_familyProxy, FAMILY_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 }), _familyProxy));\n var 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 regular: 'fasr',\n light: 'fasl',\n thin: 'fast'\n }), _familyProxy2));\n var 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 fasr: 'fa-regular',\n fasl: 'fa-light',\n fast: 'fa-thin'\n }), _familyProxy3));\n var 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 'fa-regular': 'fasr',\n 'fa-light': 'fasl',\n 'fa-thin': 'fast'\n }), _familyProxy4));\n var ICON_SELECTION_SYNTAX_PATTERN = /fa(s|r|l|t|d|b|k|ss|sr|sl|st)?[\\-\\ ]/; // eslint-disable-line no-useless-escape\n\n var LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\n var FONT_FAMILY_PATTERN = /Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp|Kit)?.*/i;\n var 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 400: 'fasr',\n 300: 'fasl',\n 100: 'fast'\n }), _familyProxy5));\n var oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\n var oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\n var ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\n var DUOTONE_CLASSES = {\n GROUP: 'duotone-group',\n SWAP_OPACITY: 'swap-opacity',\n PRIMARY: 'primary',\n SECONDARY: 'secondary'\n };\n var prefixes = new Set();\n Object.keys(STYLE_TO_PREFIX[FAMILY_CLASSIC]).map(prefixes.add.bind(prefixes));\n Object.keys(STYLE_TO_PREFIX[FAMILY_SHARP]).map(prefixes.add.bind(prefixes));\n var 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\n var initial = WINDOW.FontAwesomeConfig || {};\n\n function getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n\n if (element) {\n return element.getAttribute(attr);\n }\n }\n\n function 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\n if (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\n var _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\n if (initial.familyPrefix) {\n initial.cssPrefix = initial.familyPrefix;\n }\n\n var _config = _objectSpread2(_objectSpread2({}, _default), initial);\n\n if (!_config.autoReplaceSvg) _config.observeMutations = false;\n var config = {};\n Object.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\n Object.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 });\n WINDOW.FontAwesomeConfig = config;\n var _onChangeCb = [];\n function onChange(cb) {\n _onChangeCb.push(cb);\n\n return function () {\n _onChangeCb.splice(_onChangeCb.indexOf(cb), 1);\n };\n }\n\n var d = UNITS_IN_GRID;\n var meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n };\n function bunker(fn) {\n try {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n fn.apply(void 0, args);\n } catch (e) {\n if (!PRODUCTION) {\n throw e;\n }\n }\n }\n function 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 }\n var idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n function 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 }\n function 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 }\n function 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 }\n function htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n }\n function joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n }\n function joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName].trim(), \";\");\n }, '');\n }\n function 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 }\n function 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 }\n function 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\n var baseStyles = \":host,:root{--fa-font-solid:normal 900 1em/1 \\\"Font Awesome 6 Solid\\\";--fa-font-regular:normal 400 1em/1 \\\"Font Awesome 6 Regular\\\";--fa-font-light:normal 300 1em/1 \\\"Font Awesome 6 Light\\\";--fa-font-thin:normal 100 1em/1 \\\"Font Awesome 6 Thin\\\";--fa-font-duotone:normal 900 1em/1 \\\"Font Awesome 6 Duotone\\\";--fa-font-sharp-solid:normal 900 1em/1 \\\"Font Awesome 6 Sharp\\\";--fa-font-sharp-regular:normal 400 1em/1 \\\"Font Awesome 6 Sharp\\\";--fa-font-sharp-light:normal 300 1em/1 \\\"Font Awesome 6 Sharp\\\";--fa-font-sharp-thin:normal 100 1em/1 \\\"Font Awesome 6 Sharp\\\";--fa-font-brands:normal 400 1em/1 \\\"Font Awesome 6 Brands\\\"}svg:not(:host).svg-inline--fa,svg:not(:root).svg-inline--fa{overflow:visible;box-sizing:content-box}.svg-inline--fa{display:var(--fa-display,inline-block);height:1em;overflow:visible;vertical-align:-.125em}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.0714285705em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left{margin-right:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-pull-right{margin-left:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);top:.25em}.svg-inline--fa.fa-fw{width:var(--fa-fw-width,1.25em)}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-text{left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);overflow:hidden;padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);-webkit-transform:scale(var(--fa-counter-scale,.25));transform:scale(var(--fa-counter-scale,.25));-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);top:auto;-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:bottom right;transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);right:auto;top:auto;-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:bottom left;transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:top left;transform-origin:top left}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.0833333337em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.0714285718em;vertical-align:.0535714295em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.0416666682em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width,2em) * -1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-color:var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);border-style:var(--fa-border-style,solid);border-width:var(--fa-border-width,.08em);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}100%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}100%{-webkit-transform:scale(1,1) translateY(0);transform:scale(1,1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,100%{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,100%{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}24%,8%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}100%,40%{-webkit-transform:rotate(0);transform:rotate(0)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}24%,8%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}100%,40%{-webkit-transform:rotate(0);transform:rotate(0)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{-webkit-transform:scale(1,-1);transform:scale(1,-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1,-1);transform:scale(-1,-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{display:inline-block;vertical-align:middle;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;z-index:var(--fa-stack-z-index,auto)}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:var(--fa-inverse,#fff)}.fa-sr-only,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fa-sr-only-focusable:not(:focus),.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor);opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.fa-duotone.fa-inverse,.fad.fa-inverse{color:var(--fa-inverse,#fff)}\";\n\n function 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\n var _cssInserted = false;\n\n function ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n }\n\n var 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\n var w = WINDOW || {};\n if (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\n if (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\n if (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\n if (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\n var namespace = w[NAMESPACE_IDENTIFIER];\n\n var functions = [];\n\n var listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n };\n\n var loaded = false;\n\n if (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n }\n\n function domready (fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n }\n\n function 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(''), \"\");\n }\n }\n\n function 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\n var 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\n var 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 \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 function 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\n function toHex(unicode) {\n var decoded = ucs2decode(unicode);\n return decoded.length === 1 ? decoded[0].toString(16) : null;\n }\n function 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\n function 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\n function 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\n var 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\n var _LONG_STYLE, _PREFIXES, _PREFIXES_FOR_FAMILY;\n var styles = namespace.styles,\n shims = namespace.shims;\n var 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);\n var _defaultUsablePrefix = null;\n var _byUnicode = {};\n var _byLigature = {};\n var _byOldName = {};\n var _byOldUnicode = {};\n var _byAlias = {};\n var 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\n function isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n }\n\n function 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 }\n var 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 };\n onChange(function (c) {\n _defaultUsablePrefix = getCanonicalPrefix(c.styleDefault, {\n family: config.familyDefault\n });\n });\n build();\n function byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n }\n function byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n }\n function byAlias(prefix, alias) {\n return (_byAlias[prefix] || {})[alias];\n }\n function byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n }\n function 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 }\n function getDefaultUsablePrefix() {\n return _defaultUsablePrefix;\n }\n var emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n };\n function 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 }\n var 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);\n function 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\n var 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\n var _plugins = [];\n var _hooks = {};\n var providers = {};\n var defaultProviderKeys = Object.keys(providers);\n function 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 }\n function 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 }\n function 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 }\n function 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\n function 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 }\n var library = new Library();\n var noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n callHooks('noAuto');\n };\n var 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 };\n var 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 };\n var api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n parse: parse,\n library: library,\n findIconDefinition: findIconDefinition,\n toHtml: toHtml\n };\n\n var 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\n function bootstrap(plugins) {\n if (IS_BROWSER) {\n if (!WINDOW.FontAwesome) {\n WINDOW.FontAwesome = api;\n }\n\n domready(function () {\n autoReplace();\n callHooks('bootstrap');\n });\n }\n\n namespace.hooks = _objectSpread2(_objectSpread2({}, namespace.hooks), {}, {\n addPack: function addPack(prefix, icons) {\n namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), icons);\n build();\n autoReplace();\n },\n addPacks: function addPacks(packs) {\n packs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n prefix = _ref2[0],\n icons = _ref2[1];\n\n namespace.styles[prefix] = _objectSpread2(_objectSpread2({}, namespace.styles[prefix] || {}), icons);\n });\n build();\n autoReplace();\n },\n addShims: function addShims(shims) {\n var _namespace$shims;\n\n (_namespace$shims = namespace.shims).push.apply(_namespace$shims, _toConsumableArray(shims));\n\n build();\n autoReplace();\n }\n });\n }\n\n function 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\n function 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\n function asSymbol (_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.cssPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread2(_objectSpread2({}, attributes), {}, {\n id: id\n }),\n children: children\n }]\n }];\n }\n\n function 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 }\n function 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 }\n function 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\n var styles$1 = namespace.styles;\n function 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 }\n var missingIconResolutionMixin = {\n found: false,\n width: 512,\n height: 512\n };\n\n function 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\n function 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\n var noop$1 = function noop() {};\n\n var p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n };\n var preamble = \"FA \\\"6.5.1\\\"\";\n\n var begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n };\n\n var 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\n var perf = {\n begin: begin,\n end: end\n };\n\n var noop$2 = function noop() {};\n\n function isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n }\n\n function 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\n function hasBeenReplaced(node) {\n return node && node.classList && node.classList.contains && node.classList.contains(config.replacementClass);\n }\n\n function 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\n function createElementNS(tag) {\n return DOCUMENT.createElementNS('http://www.w3.org/2000/svg', tag);\n }\n\n function createElement(tag) {\n return DOCUMENT.createElement(tag);\n }\n\n function 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\n function 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\n var 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 _abstract2 = 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 _abstract2[0].attributes.id;\n\n if (_abstract2[0].attributes.class) {\n var splitClasses = _abstract2[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\n _abstract2[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 = _abstract2.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n };\n\n function performOperationSync(op) {\n op();\n }\n\n function 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 }\n var disabled = false;\n function disableObservation() {\n disabled = true;\n }\n function enableObservation() {\n disabled = false;\n }\n var mo = null;\n function 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 }\n function disconnect() {\n if (!mo) return;\n mo.disconnect();\n }\n\n function 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\n function 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\n function 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\n function 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 }\n function 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\n var styles$2 = namespace.styles;\n\n function 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\n var knownPrefixes = new Set();\n FAMILIES.map(function (family) {\n knownPrefixes.add(\"fa-\".concat(family));\n });\n Object.keys(PREFIX_TO_STYLE[FAMILY_CLASSIC]).map(knownPrefixes.add.bind(knownPrefixes));\n Object.keys(PREFIX_TO_STYLE[FAMILY_SHARP]).map(knownPrefixes.add.bind(knownPrefixes));\n knownPrefixes = _toConsumableArray(knownPrefixes);\n\n function 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\n function 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\n function 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\n var 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 };\n var 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\n var 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\n var 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\n var 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\n var CLEAN_CONTENT_PATTERN = new RegExp(\"\\\"\", 'ug');\n var SECONDARY_UNICODE_RANGE = [1105920, 1112319];\n function 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\n function 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\n var element = DOCUMENT.createElementNS('http://www.w3.org/2000/svg', '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\n function replace(node) {\n return Promise.all([replaceForPosition(node, '::before'), replaceForPosition(node, '::after')]);\n }\n\n function 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\n function 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\n var 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\n var _unwatched = false;\n var 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\n var 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 };\n var 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\n var ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n };\n\n function 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\n function deGroup(_abstract2) {\n if (_abstract2.tag === 'g') {\n return _abstract2.children;\n } else {\n return [_abstract2];\n }\n }\n\n var 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\n var 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\n var 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\n var plugins = [InjectCSS, ReplaceElements, Layers, LayersCounter, LayersText, PseudoElements, MutationObserver$1, PowerTransforms, Masks, MissingIconIndicator, SvgSymbols];\n\n registerPlugins(plugins, {\n mixoutsTo: api\n });\n bunker(bootstrap);\n\n}());\n","export default \"__VITE_ASSET__BHKvPTEX__\""],"names":["ownKeys","object","enumerableOnly","keys","symbols","sym","_objectSpread2","target","i","source","key","_defineProperty","_typeof","obj","_classCallCheck","instance","Constructor","_defineProperties","props","descriptor","_createClass","protoProps","staticProps","value","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","_arrayLikeToArray","iter","_i","_arr","_n","_d","_s","_e","err","o","minLen","n","len","arr2","noop","_WINDOW","_DOCUMENT","_MUTATION_OBSERVER","_PERFORMANCE","_ref","_ref$userAgent","userAgent","WINDOW","DOCUMENT","MUTATION_OBSERVER","PERFORMANCE","IS_BROWSER","IS_DOM","IS_IE","_familyProxy","_familyProxy2","_familyProxy3","_familyProxy4","_familyProxy5","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","FAMILY_CLASSIC","FAMILY_SHARP","FAMILIES","familyProxy","prop","PREFIX_TO_STYLE","STYLE_TO_PREFIX","PREFIX_TO_LONG_STYLE","LONG_STYLE_TO_PREFIX","ICON_SELECTION_SYNTAX_PATTERN","LAYERS_TEXT_CLASSNAME","FONT_FAMILY_PATTERN","FONT_WEIGHT_TO_PREFIX","oneToTen","oneToTwenty","ATTRIBUTES_WATCHED_FOR_MUTATION","DUOTONE_CLASSES","prefixes","RESERVED_CLASSES","initial","getAttrConfig","attr","element","coerce","val","attrs","_ref2","_default","_config","config","_onChangeCb","cb","onChange","d","meaninglessTransform","bunker","fn","_len","args","_key","e","insertCss","css","style","headChildren","beforeChild","child","tagName","idPool","nextUniqueId","size","id","toArray","array","classArray","node","htmlEscape","str","joinAttributes","attributes","acc","attributeName","joinStyles","styles","styleName","transformIsMeaningful","transform","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","path","transformForCss","_ref2$width","width","_ref2$height","height","_ref2$startCentered","startCentered","baseStyles","dcp","drc","fp","rc","s","dPatt","customPropPatt","rPatt","_cssInserted","ensureCss","InjectCSS","w","namespace","functions","listener","loaded","domready","toHtml","abstractNodes","tag","_abstractNodes$attrib","_abstractNodes$childr","children","iconFromMapping","mapping","prefix","iconName","reduce","subject","initialValue","thisContext","length","iterator","result","ucs2decode","string","output","counter","extra","toHex","unicode","decoded","codePointAt","index","first","second","normalizeIcons","icons","icon","expanded","defineIcons","params","_params$skipHooks","skipHooks","normalized","_LONG_STYLE","_PREFIXES","_PREFIXES_FOR_FAMILY","shims","LONG_STYLE","_defaultUsablePrefix","_byUnicode","_byLigature","_byOldName","_byOldUnicode","_byAlias","PREFIXES","isReserved","name","getIconName","cssPrefix","cls","parts","build","lookup","reducer","aliases","a","alias","hasRegular","shimLookups","shim","maybeNameMaybeUnicode","getCanonicalPrefix","c","byUnicode","byLigature","ligature","byAlias","byOldName","byOldUnicode","oldUnicode","newUnicode","getDefaultUsablePrefix","emptyCanonicalIcon","styleOrPrefix","_params$family","family","defined","PREFIXES_FOR_FAMILY","getCanonicalIcon","values","_famProps","_params$skipLookups","skipLookups","famProps","givenPrefix","v","canonical","aliasIconName","Library","_this","definitions","additions","longPrefix","definition","_normalized$key","_plugins","_hooks","providers","defaultProviderKeys","registerPlugins","nextPlugins","k","plugin","mixout","tk","sk","hooks","hook","chainHooks","accumulator","hookFns","hookFn","callHooks","_len2","_key2","callProvided","findIconDefinition","iconLookup","library","noAuto","dom","autoReplaceSvgRoot","autoReplace","parse","_icon","canonicalIcon","_prefix","api","_params$autoReplaceSv","bootstrap","plugins","packs","_namespace$shims","domVariants","abstractCreator","container","asIcon","main","mask","offset","asSymbol","symbol","makeInlineSvgAbstract","_params$icons","title","maskId","titleId","_params$watchable","watchable","isUploadedIcon","attrClass","content","uploadedIconWidthStyle","makeLayersTextAbstract","_params$watchable2","styleString","makeLayersCounterAbstract","styles$1","asFoundIcon","_icon$slice","_icon$slice2","vectorData","missingIconResolutionMixin","maybeNotifyMissing","findIcon","resolve","reject","noop$1","p","preamble","begin","end","perf","noop$2","isWatched","i2svg","hasPrefixAndIcon","hasBeenReplaced","getMutator","mutators","mutator","createElementNS","createElement","convertSVG","abstractObj","_params$ceFn","ceFn","nodeAsComment","comment","mutation","_abstract","_abstract2","forSvg","splitClasses","newInnerHTML","performOperationSync","op","perform","mutations","callback","callbackFunction","frame","mark","disabled","disableObservation","enableObservation","mo","observe","options","_options$treeCallback","treeCallback","_options$nodeCallback","nodeCallback","_options$pseudoElemen","pseudoElementsCallback","_options$observeMutat","observeMutationsRoot","objects","defaultPrefix","mutationRecord","_getCanonicalIcon","disconnect","styleParser","classParser","existingPrefix","existingIconName","innerText","attributesParser","extraAttributes","blankMeta","parseMeta","parser","_classParser","extraClasses","pluginMeta","extraStyles","styles$2","generateMutation","nodeMeta","knownPrefixes","onTree","root","htmlClassList","hclAdd","suffix","hclRemove","f","prefixesDomQuery","candidates","resolvedMutations","onNode","resolveIcons","next","maybeIconDefinition","iconDefinition","render","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","classes","_params$attributes","_params$styles","ReplaceElements","providers$$1","_params$node","_params$callback","_ref3","nextChild","Layers","assembler","LayersCounter","LayersText","computedFontSize","boundingClientRect","CLEAN_CONTENT_PATTERN","SECONDARY_UNICODE_RANGE","hexValueFromContent","cleaned","codePoint","isPrependTen","isDoubled","replaceForPosition","position","pendingAttribute","alreadyProcessedPseudoElement","fontFamily","fontWeight","_content","_hexValueFromContent","hexValue","isSecondary","isV4","iconIdentifier","iconName4","meta","replace","processable","searchPseudoElements","operations","PseudoElements","_unwatched","MutationObserver$1","parseTransformString","transformString","rest","PowerTransforms","ALL_SPACE","fillBlack","force","deGroup","Masks","maskData","explicitMaskId","mainWidth","mainPath","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","defs","MissingIconIndicator","reduceMotion","gChildren","FILL","ANIMATION_BASE","OPACITY_ANIMATE","dot","SvgSymbols","symbolData","_imports_0"],"mappings":"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","x_google_ignoreList":[0]}