{"version":3,"sources":["webpack:///./node_modules/@fortawesome/react-fontawesome/node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/@fortawesome/react-fontawesome/node_modules/prop-types/index.js","webpack:///./node_modules/@fortawesome/fontawesome-svg-core/index.es.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/@fortawesome/react-fontawesome/node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./src/images/orb.jpg","webpack:///./node_modules/react-bootstrap/esm/AccordionContext.js","webpack:///./node_modules/react-bootstrap/esm/AccordionToggle.js","webpack:///./node_modules/react-bootstrap/esm/AccordionCollapse.js","webpack:///./node_modules/react-bootstrap/esm/Accordion.js","webpack:///./node_modules/react-bootstrap/esm/CardImg.js","webpack:///./node_modules/react-bootstrap/esm/Card.js","webpack:///./node_modules/@fortawesome/react-fontawesome/index.es.js","webpack:///./src/templates/job_details.js","webpack:///./src/data/commonData.js"],"names":["ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","module","exports","shim","props","propName","componentName","location","propFullName","secret","err","Error","name","getShim","isRequired","ReactPropTypes","array","bigint","bool","func","number","object","string","symbol","any","arrayOf","element","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","_typeof","obj","Symbol","iterator","constructor","prototype","_defineProperties","target","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_defineProperty","value","_objectSpread","arguments","source","ownKeys","keys","getOwnPropertySymbols","concat","filter","sym","getOwnPropertyDescriptor","forEach","_slicedToArray","arr","Array","isArray","_arrayWithHoles","_arr","_n","_d","_e","undefined","_s","_i","next","done","push","_iterableToArrayLimit","TypeError","_nonIterableRest","noop","_WINDOW","_DOCUMENT","_PERFORMANCE","mark","measure","window","document","MutationObserver","performance","e","_ref$userAgent","navigator","userAgent","WINDOW","DOCUMENT","PERFORMANCE","IS_DOM","documentElement","head","addEventListener","createElement","oneToTen","indexOf","oneToTwenty","DUOTONE_CLASSES","GROUP","SWAP_OPACITY","PRIMARY","SECONDARY","initial","map","n","FontAwesomeConfig","querySelector","_ref","_ref2","attr","val","coerce","getAttribute","getAttrConfig","_config","familyPrefix","replacementClass","autoReplaceSvg","autoAddCss","autoA11y","searchPseudoElements","observeMutations","mutateApproach","keepOriginalSource","measurePerformance","showMissingIcons","config","w","styles","hooks","shims","namespace","functions","doScroll","test","readyState","listener","removeEventListener","fn","asyncTimer","NOOP","isNode","global","process","emit","asyncSetTimer","setImmediate","setTimeout","asyncQueue","asyncFlush","asyncCall","callback","arg","invokeCallback","subscriber","owner","settled","_state","_data","promise","then","reject","handleThenable","resolve","resolved","call","fulfill","reason","publishFulfillment","publishRejection","publish","_then","_handled","notifyRejectionHandled","P","resolver","this","rejectPromise","invokeResolver","onFulfillment","onRejection","fulfilled","rejected","catch","all","promises","results","remaining","index","race","meaninglessTransform","size","x","y","rotate","flipX","flipY","insertCss","css","style","setAttribute","innerHTML","headChildren","childNodes","beforeChild","child","tagName","toUpperCase","insertBefore","nextUniqueId","id","Math","random","htmlEscape","str","replace","joinStyles","reduce","acc","styleName","transformIsMeaningful","transform","transformForSvg","containerWidth","iconWidth","outer","innerTranslate","innerScale","innerRotate","inner","path","ALL_SPACE","width","height","fillBlack","abstract","force","attributes","fill","makeInlineSvgAbstract","params","_params$icons","icons","main","mask","prefix","iconName","title","maskId","titleId","extra","_params$watchable","watchable","found","isUploadedIcon","widthClass","ceil","attrClass","c","classes","join","content","children","role","uploadedIconWidthStyle","tag","args","explicitMaskId","mainWidth","mainPath","icon","maskWidth","maskPath","trans","maskRect","maskInnerGroupChildrenMixin","maskInnerGroup","maskOuterGroup","clipId","maskTag","maskUnits","maskContentUnits","defs","makeIconMasking","styleString","makeIconStandard","asSymbol","offset","asIcon","noop$1","subject","initialValue","thisContext","result","a","b","d","bindInternal4","defineIcons","_params$skipHooks","skipHooks","normalized","addPack","build","lookup","reducer","o","ligatures","ligature","hasRegular","oldName","iconFromMapping","mapping","toHtml","abstractNodes","_abstractNodes$attrib","_abstractNodes$childr","attributeName","trim","joinAttributes","parseTransformString","transformString","toLowerCase","split","parts","first","rest","slice","parseFloat","isNaN","MissingIcon","error","message","stack","create","FILL","ANIMATION_BASE","attributeType","repeatCount","dur","RING","OPACITY_ANIMATE","cx","cy","r","values","opacity","asFoundIcon","vectorData","class","drc","fp","rc","s","dPatt","RegExp","customPropPatt","rPatt","ensureCss","_cssInserted","apiObject","abstractCreator","get","container","html","findIconDefinition","iconLookup","_iconLookup$prefix","library","definitions","Library","instance","Constructor","_classCallCheck","protoProps","staticProps","_this","_len","_key","additions","_pullDefinitions","definition","0","_normalized$key","parse","iconDefinition","_params$transform","_params$symbol","_params$mask","_params$maskId","_params$title","_params$titleId","_params$classes","_params$attributes","_params$styles","type","maybeIconDefinition","apply","Function","Timeout","clearFn","_id","_clearFn","scope","clearTimeout","setInterval","clearInterval","timeout","close","unref","ref","enroll","item","msecs","_idleTimeoutId","_idleTimeout","unenroll","_unrefActive","active","_onTimeout","self","clearImmediate","registerImmediate","channel","messagePrefix","onGlobalMessage","nextHandle","tasksByHandle","currentlyRunningATask","doc","attachTo","getPrototypeOf","toString","handle","nextTick","runIfPresent","postMessage","importScripts","postMessageIsAsynchronous","oldOnMessage","onmessage","canUsePostMessage","MessageChannel","port1","event","data","port2","script","onreadystatechange","removeChild","appendChild","attachEvent","task","run","context","createContext","displayName","forwardRef","_ref$as","as","Component","eventKey","onClick","accordionOnClick","contextEventKey","AccordionContext","onSelect","SelectableContext","useAccordionToggle","AccordionCollapse","Collapse","in","Children","only","Accordion","_useUncontrolled","activeKey","_useUncontrolled$as","bsPrefix","className","controlledProps","finalClassName","Provider","Toggle","CardImg","variant","defaultProps","DivStyledAsH5","divWithClassName","DivStyledAsH6","CardBody","createWithBsPrefix","CardTitle","CardSubtitle","CardLink","CardText","CardHeader","CardFooter","CardImgOverlay","Card","bg","text","border","body","cardContext","cardHeaderBsPrefix","CardContext","Img","Title","Subtitle","Body","Link","Text","Header","Footer","ImgOverlay","enumerableOnly","symbols","_objectSpread2","getOwnPropertyDescriptors","defineProperties","_objectWithoutProperties","excluded","sourceKeys","_objectWithoutPropertiesLoose","sourceSymbolKeys","propertyIsEnumerable","_toConsumableArray","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","minLen","_unsupportedIterableToArray","_nonIterableSpread","len","arr2","camelize","match","chr","substr","_excluded$1","styleToObject","pair","prop","startsWith","charAt","PRODUCTION","normalizeIconArgs","objectWithKey","_excluded","FontAwesomeIcon","forwardedRef","iconArgs","maskArgs","_classes","beat","fade","beatFade","bounce","shake","flash","spin","spinPulse","spinReverse","pulse","fixedWidth","inverse","listItem","flip","rotation","pull","swapOpacity","classList","renderedIcon","_console","console","log","extraProps","hasOwnProperty","convertCurry","propTypes","convert","mixins","attrs","_extraProps$style","existingStyle","bind","JobDetails","page","pageContext","pgDesc","useState","firstName","setFirstName","lastName","setLastName","email","setEmail","phone","setPhone","linkedin","setLinkedin","note","setNote","resumeFile","setResumeFile","resume","setResume","coverLetterFile","setcoverLetterFile","coverLetter","setcoverLetter","showSuccess","setShowSuccess","showError","setShowError","submitMessage","setSubmitMessage","mainContent","jobDescription","defaultActiveKey","cursor","appear","responsibilities","res","requirements","req","preferred","pref","onSubmit","evt","preventDefault","fd","FormData","append","Blob","JSON","stringify","jobTitle","Axios","post","Row","Col","sm","htmlFor","onChange","required","pattern","md","lg","pop","readOnly","files","accept","paddingLeft","getElementById","click","minWidth","borderRadius","marginTop","faPaperclip","marginBottom","placeholder","Alert","show","pageInfo","pageName","hideTimeline","description","PageHeader","bgImg","WindMillImg","pgTitle","titleClass","pClass","overlayOverRide","background"],"mappings":"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","file":"component---src-templates-job-details-js-980f8aab665d6658bdff.js","sourcesContent":["/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/*!\n * Font Awesome Free 5.15.4 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 */\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n }\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\nvar noop = function noop() {};\n\nvar _WINDOW = {};\nvar _DOCUMENT = {};\nvar _MUTATION_OBSERVER = null;\nvar _PERFORMANCE = {\n mark: noop,\n measure: noop\n};\n\ntry {\n if (typeof window !== 'undefined') _WINDOW = window;\n if (typeof document !== 'undefined') _DOCUMENT = document;\n if (typeof MutationObserver !== 'undefined') _MUTATION_OBSERVER = MutationObserver;\n if (typeof performance !== 'undefined') _PERFORMANCE = performance;\n} catch (e) {}\n\nvar _ref = _WINDOW.navigator || {},\n _ref$userAgent = _ref.userAgent,\n userAgent = _ref$userAgent === void 0 ? '' : _ref$userAgent;\n\nvar WINDOW = _WINDOW;\nvar DOCUMENT = _DOCUMENT;\nvar MUTATION_OBSERVER = _MUTATION_OBSERVER;\nvar PERFORMANCE = _PERFORMANCE;\nvar IS_BROWSER = !!WINDOW.document;\nvar IS_DOM = !!DOCUMENT.documentElement && !!DOCUMENT.head && typeof DOCUMENT.addEventListener === 'function' && typeof DOCUMENT.createElement === 'function';\nvar IS_IE = ~userAgent.indexOf('MSIE') || ~userAgent.indexOf('Trident/');\nvar NAMESPACE_IDENTIFIER = '___FONT_AWESOME___';\nvar UNITS_IN_GRID = 16;\nvar DEFAULT_FAMILY_PREFIX = 'fa';\nvar DEFAULT_REPLACEMENT_CLASS = 'svg-inline--fa';\nvar DATA_FA_I2SVG = 'data-fa-i2svg';\nvar DATA_FA_PSEUDO_ELEMENT = 'data-fa-pseudo-element';\nvar DATA_FA_PSEUDO_ELEMENT_PENDING = 'data-fa-pseudo-element-pending';\nvar DATA_PREFIX = 'data-prefix';\nvar DATA_ICON = 'data-icon';\nvar HTML_CLASS_I2SVG_BASE_CLASS = 'fontawesome-i2svg';\nvar MUTATION_APPROACH_ASYNC = 'async';\nvar TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS = ['HTML', 'HEAD', 'STYLE', 'SCRIPT'];\n\nvar PRODUCTION = function () {\n try {\n return process.env.NODE_ENV === 'production';\n } catch (e) {\n return false;\n }\n}();\n\nvar PREFIX_TO_STYLE = {\n 'fas': 'solid',\n 'far': 'regular',\n 'fal': 'light',\n 'fad': 'duotone',\n 'fab': 'brands',\n 'fak': 'kit',\n 'fa': 'solid'\n};\nvar STYLE_TO_PREFIX = {\n 'solid': 'fas',\n 'regular': 'far',\n 'light': 'fal',\n 'duotone': 'fad',\n 'brands': 'fab',\n 'kit': 'fak'\n};\nvar LAYERS_TEXT_CLASSNAME = 'fa-layers-text';\nvar FONT_FAMILY_PATTERN = /Font Awesome ([5 ]*)(Solid|Regular|Light|Duotone|Brands|Free|Pro|Kit).*/i; // TODO: do we need to handle font-weight for kit SVG pseudo-elements?\n\nvar FONT_WEIGHT_TO_PREFIX = {\n '900': 'fas',\n '400': 'far',\n 'normal': 'far',\n '300': 'fal'\n};\nvar oneToTen = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\nvar oneToTwenty = oneToTen.concat([11, 12, 13, 14, 15, 16, 17, 18, 19, 20]);\nvar ATTRIBUTES_WATCHED_FOR_MUTATION = ['class', 'data-prefix', 'data-icon', 'data-fa-transform', 'data-fa-mask'];\nvar DUOTONE_CLASSES = {\n GROUP: 'group',\n SWAP_OPACITY: 'swap-opacity',\n PRIMARY: 'primary',\n SECONDARY: 'secondary'\n};\nvar RESERVED_CLASSES = ['xs', 'sm', 'lg', 'fw', 'ul', 'li', 'border', 'pull-left', 'pull-right', 'spin', 'pulse', 'rotate-90', 'rotate-180', 'rotate-270', 'flip-horizontal', 'flip-vertical', 'flip-both', 'stack', 'stack-1x', 'stack-2x', 'inverse', 'layers', 'layers-text', 'layers-counter', 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}));\nvar initial = WINDOW.FontAwesomeConfig || {};\n\nfunction getAttrConfig(attr) {\n var element = DOCUMENT.querySelector('script[' + attr + ']');\n\n if (element) {\n return element.getAttribute(attr);\n }\n}\n\nfunction coerce(val) {\n // Getting an empty string will occur if the attribute is set on the HTML tag but without a value\n // We'll assume that this is an indication that it should be toggled to true\n // For example \n if (val === '') return true;\n if (val === 'false') return false;\n if (val === 'true') return true;\n return val;\n}\n\nif (DOCUMENT && typeof DOCUMENT.querySelector === 'function') {\n var attrs = [['data-family-prefix', 'familyPrefix'], ['data-replacement-class', 'replacementClass'], ['data-auto-replace-svg', 'autoReplaceSvg'], ['data-auto-add-css', 'autoAddCss'], ['data-auto-a11y', 'autoA11y'], ['data-search-pseudo-elements', 'searchPseudoElements'], ['data-observe-mutations', 'observeMutations'], ['data-mutate-approach', 'mutateApproach'], ['data-keep-original-source', 'keepOriginalSource'], ['data-measure-performance', 'measurePerformance'], ['data-show-missing-icons', 'showMissingIcons']];\n attrs.forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n attr = _ref2[0],\n key = _ref2[1];\n\n var val = coerce(getAttrConfig(attr));\n\n if (val !== undefined && val !== null) {\n initial[key] = val;\n }\n });\n}\n\nvar _default = {\n familyPrefix: DEFAULT_FAMILY_PREFIX,\n replacementClass: DEFAULT_REPLACEMENT_CLASS,\n autoReplaceSvg: true,\n autoAddCss: true,\n autoA11y: true,\n searchPseudoElements: false,\n observeMutations: true,\n mutateApproach: 'async',\n keepOriginalSource: true,\n measurePerformance: false,\n showMissingIcons: true\n};\n\nvar _config = _objectSpread({}, _default, initial);\n\nif (!_config.autoReplaceSvg) _config.observeMutations = false;\n\nvar config = _objectSpread({}, _config);\n\nWINDOW.FontAwesomeConfig = config;\nvar w = WINDOW || {};\nif (!w[NAMESPACE_IDENTIFIER]) w[NAMESPACE_IDENTIFIER] = {};\nif (!w[NAMESPACE_IDENTIFIER].styles) w[NAMESPACE_IDENTIFIER].styles = {};\nif (!w[NAMESPACE_IDENTIFIER].hooks) w[NAMESPACE_IDENTIFIER].hooks = {};\nif (!w[NAMESPACE_IDENTIFIER].shims) w[NAMESPACE_IDENTIFIER].shims = [];\nvar namespace = w[NAMESPACE_IDENTIFIER];\nvar functions = [];\n\nvar listener = function listener() {\n DOCUMENT.removeEventListener('DOMContentLoaded', listener);\n loaded = 1;\n functions.map(function (fn) {\n return fn();\n });\n};\n\nvar loaded = false;\n\nif (IS_DOM) {\n loaded = (DOCUMENT.documentElement.doScroll ? /^loaded|^c/ : /^loaded|^i|^c/).test(DOCUMENT.readyState);\n if (!loaded) DOCUMENT.addEventListener('DOMContentLoaded', listener);\n}\n\nfunction domready(fn) {\n if (!IS_DOM) return;\n loaded ? setTimeout(fn, 0) : functions.push(fn);\n}\n\nvar PENDING = 'pending';\nvar SETTLED = 'settled';\nvar FULFILLED = 'fulfilled';\nvar REJECTED = 'rejected';\n\nvar NOOP = function NOOP() {};\n\nvar isNode = typeof global !== 'undefined' && typeof global.process !== 'undefined' && typeof global.process.emit === 'function';\nvar asyncSetTimer = typeof setImmediate === 'undefined' ? setTimeout : setImmediate;\nvar asyncQueue = [];\nvar asyncTimer;\n\nfunction asyncFlush() {\n // run promise callbacks\n for (var i = 0; i < asyncQueue.length; i++) {\n asyncQueue[i][0](asyncQueue[i][1]);\n } // reset async asyncQueue\n\n\n asyncQueue = [];\n asyncTimer = false;\n}\n\nfunction asyncCall(callback, arg) {\n asyncQueue.push([callback, arg]);\n\n if (!asyncTimer) {\n asyncTimer = true;\n asyncSetTimer(asyncFlush, 0);\n }\n}\n\nfunction invokeResolver(resolver, promise) {\n function resolvePromise(value) {\n resolve(promise, value);\n }\n\n function rejectPromise(reason) {\n reject(promise, reason);\n }\n\n try {\n resolver(resolvePromise, rejectPromise);\n } catch (e) {\n rejectPromise(e);\n }\n}\n\nfunction invokeCallback(subscriber) {\n var owner = subscriber.owner;\n var settled = owner._state;\n var value = owner._data;\n var callback = subscriber[settled];\n var promise = subscriber.then;\n\n if (typeof callback === 'function') {\n settled = FULFILLED;\n\n try {\n value = callback(value);\n } catch (e) {\n reject(promise, e);\n }\n }\n\n if (!handleThenable(promise, value)) {\n if (settled === FULFILLED) {\n resolve(promise, value);\n }\n\n if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n}\n\nfunction handleThenable(promise, value) {\n var resolved;\n\n try {\n if (promise === value) {\n throw new TypeError('A promises callback cannot return that same promise.');\n }\n\n if (value && (typeof value === 'function' || _typeof(value) === 'object')) {\n // then should be retrieved only once\n var then = value.then;\n\n if (typeof then === 'function') {\n then.call(value, function (val) {\n if (!resolved) {\n resolved = true;\n\n if (value === val) {\n fulfill(promise, val);\n } else {\n resolve(promise, val);\n }\n }\n }, function (reason) {\n if (!resolved) {\n resolved = true;\n reject(promise, reason);\n }\n });\n return true;\n }\n }\n } catch (e) {\n if (!resolved) {\n reject(promise, e);\n }\n\n return true;\n }\n\n return false;\n}\n\nfunction resolve(promise, value) {\n if (promise === value || !handleThenable(promise, value)) {\n fulfill(promise, value);\n }\n}\n\nfunction fulfill(promise, value) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = value;\n asyncCall(publishFulfillment, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state === PENDING) {\n promise._state = SETTLED;\n promise._data = reason;\n asyncCall(publishRejection, promise);\n }\n}\n\nfunction publish(promise) {\n promise._then = promise._then.forEach(invokeCallback);\n}\n\nfunction publishFulfillment(promise) {\n promise._state = FULFILLED;\n publish(promise);\n}\n\nfunction publishRejection(promise) {\n promise._state = REJECTED;\n publish(promise);\n\n if (!promise._handled && isNode) {\n global.process.emit('unhandledRejection', promise._data, promise);\n }\n}\n\nfunction notifyRejectionHandled(promise) {\n global.process.emit('rejectionHandled', promise);\n}\n/**\n * @class\n */\n\n\nfunction P(resolver) {\n if (typeof resolver !== 'function') {\n throw new TypeError('Promise resolver ' + resolver + ' is not a function');\n }\n\n if (this instanceof P === false) {\n throw new TypeError('Failed to construct \\'Promise\\': Please use the \\'new\\' operator, this object constructor cannot be called as a function.');\n }\n\n this._then = [];\n invokeResolver(resolver, this);\n}\n\nP.prototype = {\n constructor: P,\n _state: PENDING,\n _then: null,\n _data: undefined,\n _handled: false,\n then: function then(onFulfillment, onRejection) {\n var subscriber = {\n owner: this,\n then: new this.constructor(NOOP),\n fulfilled: onFulfillment,\n rejected: onRejection\n };\n\n if ((onRejection || onFulfillment) && !this._handled) {\n this._handled = true;\n\n if (this._state === REJECTED && isNode) {\n asyncCall(notifyRejectionHandled, this);\n }\n }\n\n if (this._state === FULFILLED || this._state === REJECTED) {\n // already resolved, call callback async\n asyncCall(invokeCallback, subscriber);\n } else {\n // subscribe\n this._then.push(subscriber);\n }\n\n return subscriber.then;\n },\n catch: function _catch(onRejection) {\n return this.then(null, onRejection);\n }\n};\n\nP.all = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.all().');\n }\n\n return new P(function (resolve, reject) {\n var results = [];\n var remaining = 0;\n\n function resolver(index) {\n remaining++;\n return function (value) {\n results[index] = value;\n\n if (! --remaining) {\n resolve(results);\n }\n };\n }\n\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolver(i), reject);\n } else {\n results[i] = promise;\n }\n }\n\n if (!remaining) {\n resolve(results);\n }\n });\n};\n\nP.race = function (promises) {\n if (!Array.isArray(promises)) {\n throw new TypeError('You must pass an array to Promise.race().');\n }\n\n return new P(function (resolve, reject) {\n for (var i = 0, promise; i < promises.length; i++) {\n promise = promises[i];\n\n if (promise && typeof promise.then === 'function') {\n promise.then(resolve, reject);\n } else {\n resolve(promise);\n }\n }\n });\n};\n\nP.resolve = function (value) {\n if (value && _typeof(value) === 'object' && value.constructor === P) {\n return value;\n }\n\n return new P(function (resolve) {\n resolve(value);\n });\n};\n\nP.reject = function (reason) {\n return new P(function (resolve, reject) {\n reject(reason);\n });\n};\n\nvar picked = typeof Promise === 'function' ? Promise : P;\nvar d = UNITS_IN_GRID;\nvar meaninglessTransform = {\n size: 16,\n x: 0,\n y: 0,\n rotate: 0,\n flipX: false,\n flipY: false\n};\n\nfunction isReserved(name) {\n return ~RESERVED_CLASSES.indexOf(name);\n}\n\nfunction insertCss(css) {\n if (!css || !IS_DOM) {\n return;\n }\n\n var style = DOCUMENT.createElement('style');\n style.setAttribute('type', 'text/css');\n style.innerHTML = css;\n var headChildren = DOCUMENT.head.childNodes;\n var beforeChild = null;\n\n for (var i = headChildren.length - 1; i > -1; i--) {\n var child = headChildren[i];\n var tagName = (child.tagName || '').toUpperCase();\n\n if (['STYLE', 'LINK'].indexOf(tagName) > -1) {\n beforeChild = child;\n }\n }\n\n DOCUMENT.head.insertBefore(style, beforeChild);\n return css;\n}\n\nvar idPool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n\nfunction nextUniqueId() {\n var size = 12;\n var id = '';\n\n while (size-- > 0) {\n id += idPool[Math.random() * 62 | 0];\n }\n\n return id;\n}\n\nfunction toArray(obj) {\n var array = [];\n\n for (var i = (obj || []).length >>> 0; i--;) {\n array[i] = obj[i];\n }\n\n return array;\n}\n\nfunction classArray(node) {\n if (node.classList) {\n return toArray(node.classList);\n } else {\n return (node.getAttribute('class') || '').split(' ').filter(function (i) {\n return i;\n });\n }\n}\n\nfunction getIconName(familyPrefix, cls) {\n var parts = cls.split('-');\n var prefix = parts[0];\n var iconName = parts.slice(1).join('-');\n\n if (prefix === familyPrefix && iconName !== '' && !isReserved(iconName)) {\n return iconName;\n } else {\n return null;\n }\n}\n\nfunction htmlEscape(str) {\n return \"\".concat(str).replace(/&/g, '&').replace(/\"/g, '"').replace(/'/g, ''').replace(//g, '>');\n}\n\nfunction joinAttributes(attributes) {\n return Object.keys(attributes || {}).reduce(function (acc, attributeName) {\n return acc + \"\".concat(attributeName, \"=\\\"\").concat(htmlEscape(attributes[attributeName]), \"\\\" \");\n }, '').trim();\n}\n\nfunction joinStyles(styles) {\n return Object.keys(styles || {}).reduce(function (acc, styleName) {\n return acc + \"\".concat(styleName, \": \").concat(styles[styleName], \";\");\n }, '');\n}\n\nfunction transformIsMeaningful(transform) {\n return transform.size !== meaninglessTransform.size || transform.x !== meaninglessTransform.x || transform.y !== meaninglessTransform.y || transform.rotate !== meaninglessTransform.rotate || transform.flipX || transform.flipY;\n}\n\nfunction transformForSvg(_ref) {\n var transform = _ref.transform,\n containerWidth = _ref.containerWidth,\n iconWidth = _ref.iconWidth;\n var outer = {\n transform: \"translate(\".concat(containerWidth / 2, \" 256)\")\n };\n var innerTranslate = \"translate(\".concat(transform.x * 32, \", \").concat(transform.y * 32, \") \");\n var innerScale = \"scale(\".concat(transform.size / 16 * (transform.flipX ? -1 : 1), \", \").concat(transform.size / 16 * (transform.flipY ? -1 : 1), \") \");\n var innerRotate = \"rotate(\".concat(transform.rotate, \" 0 0)\");\n var inner = {\n transform: \"\".concat(innerTranslate, \" \").concat(innerScale, \" \").concat(innerRotate)\n };\n var path = {\n transform: \"translate(\".concat(iconWidth / 2 * -1, \" -256)\")\n };\n return {\n outer: outer,\n inner: inner,\n path: path\n };\n}\n\nfunction transformForCss(_ref2) {\n var transform = _ref2.transform,\n _ref2$width = _ref2.width,\n width = _ref2$width === void 0 ? UNITS_IN_GRID : _ref2$width,\n _ref2$height = _ref2.height,\n height = _ref2$height === void 0 ? UNITS_IN_GRID : _ref2$height,\n _ref2$startCentered = _ref2.startCentered,\n startCentered = _ref2$startCentered === void 0 ? false : _ref2$startCentered;\n var val = '';\n\n if (startCentered && IS_IE) {\n val += \"translate(\".concat(transform.x / d - width / 2, \"em, \").concat(transform.y / d - height / 2, \"em) \");\n } else if (startCentered) {\n val += \"translate(calc(-50% + \".concat(transform.x / d, \"em), calc(-50% + \").concat(transform.y / d, \"em)) \");\n } else {\n val += \"translate(\".concat(transform.x / d, \"em, \").concat(transform.y / d, \"em) \");\n }\n\n val += \"scale(\".concat(transform.size / d * (transform.flipX ? -1 : 1), \", \").concat(transform.size / d * (transform.flipY ? -1 : 1), \") \");\n val += \"rotate(\".concat(transform.rotate, \"deg) \");\n return val;\n}\n\nvar ALL_SPACE = {\n x: 0,\n y: 0,\n width: '100%',\n height: '100%'\n};\n\nfunction fillBlack(abstract) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (abstract.attributes && (abstract.attributes.fill || force)) {\n abstract.attributes.fill = 'black';\n }\n\n return abstract;\n}\n\nfunction deGroup(abstract) {\n if (abstract.tag === 'g') {\n return abstract.children;\n } else {\n return [abstract];\n }\n}\n\nfunction makeIconMasking(_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: _objectSpread({}, 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: _objectSpread({}, trans.inner),\n children: [fillBlack(_objectSpread({\n tag: mainPath.tag,\n attributes: _objectSpread({}, mainPath.attributes, trans.path)\n }, maskInnerGroupChildrenMixin))]\n };\n var maskOuterGroup = {\n tag: 'g',\n attributes: _objectSpread({}, 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: _objectSpread({}, 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: _objectSpread({\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\nfunction makeIconStandard(_ref) {\n var children = _ref.children,\n attributes = _ref.attributes,\n main = _ref.main,\n transform = _ref.transform,\n styles = _ref.styles;\n var styleString = joinStyles(styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n if (transformIsMeaningful(transform)) {\n var trans = transformForSvg({\n transform: transform,\n containerWidth: main.width,\n iconWidth: main.width\n });\n children.push({\n tag: 'g',\n attributes: _objectSpread({}, trans.outer),\n children: [{\n tag: 'g',\n attributes: _objectSpread({}, trans.inner),\n children: [{\n tag: main.icon.tag,\n children: main.icon.children,\n attributes: _objectSpread({}, main.icon.attributes, trans.path)\n }]\n }]\n });\n } else {\n children.push(main.icon);\n }\n\n return {\n children: children,\n attributes: attributes\n };\n}\n\nfunction asIcon(_ref) {\n var children = _ref.children,\n main = _ref.main,\n mask = _ref.mask,\n attributes = _ref.attributes,\n styles = _ref.styles,\n transform = _ref.transform;\n\n if (transformIsMeaningful(transform) && main.found && !mask.found) {\n var width = main.width,\n height = main.height;\n var offset = {\n x: width / height / 2,\n y: 0.5\n };\n attributes['style'] = joinStyles(_objectSpread({}, styles, {\n 'transform-origin': \"\".concat(offset.x + transform.x / 16, \"em \").concat(offset.y + transform.y / 16, \"em\")\n }));\n }\n\n return [{\n tag: 'svg',\n attributes: attributes,\n children: children\n }];\n}\n\nfunction asSymbol(_ref) {\n var prefix = _ref.prefix,\n iconName = _ref.iconName,\n children = _ref.children,\n attributes = _ref.attributes,\n symbol = _ref.symbol;\n var id = symbol === true ? \"\".concat(prefix, \"-\").concat(config.familyPrefix, \"-\").concat(iconName) : symbol;\n return [{\n tag: 'svg',\n attributes: {\n style: 'display: none;'\n },\n children: [{\n tag: 'symbol',\n attributes: _objectSpread({}, attributes, {\n id: id\n }),\n children: children\n }]\n }];\n}\n\nfunction makeInlineSvgAbstract(params) {\n var _params$icons = params.icons,\n main = _params$icons.main,\n mask = _params$icons.mask,\n prefix = params.prefix,\n iconName = params.iconName,\n transform = params.transform,\n symbol = params.symbol,\n title = params.title,\n maskId = params.maskId,\n titleId = params.titleId,\n extra = params.extra,\n _params$watchable = params.watchable,\n watchable = _params$watchable === void 0 ? false : _params$watchable;\n\n var _ref = mask.found ? mask : main,\n width = _ref.width,\n height = _ref.height;\n\n var isUploadedIcon = prefix === 'fak';\n var widthClass = isUploadedIcon ? '' : \"fa-w-\".concat(Math.ceil(width / height * 16));\n var attrClass = [config.replacementClass, iconName ? \"\".concat(config.familyPrefix, \"-\").concat(iconName) : '', widthClass].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: _objectSpread({}, 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) content.children.push({\n tag: 'title',\n attributes: {\n id: content.attributes['aria-labelledby'] || \"title-\".concat(titleId || nextUniqueId())\n },\n children: [title]\n });\n\n var args = _objectSpread({}, content, {\n prefix: prefix,\n iconName: iconName,\n main: main,\n mask: mask,\n maskId: maskId,\n transform: transform,\n symbol: symbol,\n styles: _objectSpread({}, uploadedIconWidthStyle, extra.styles)\n });\n\n var _ref2 = mask.found && main.found ? makeIconMasking(args) : makeIconStandard(args),\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\nfunction makeLayersTextAbstract(params) {\n var content = params.content,\n width = params.width,\n height = params.height,\n transform = params.transform,\n title = params.title,\n extra = params.extra,\n _params$watchable2 = params.watchable,\n watchable = _params$watchable2 === void 0 ? false : _params$watchable2;\n\n var attributes = _objectSpread({}, 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 = _objectSpread({}, 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\nfunction makeLayersCounterAbstract(params) {\n var content = params.content,\n title = params.title,\n extra = params.extra;\n\n var attributes = _objectSpread({}, extra.attributes, title ? {\n 'title': title\n } : {}, {\n 'class': extra.classes.join(' ')\n });\n\n var styleString = joinStyles(extra.styles);\n\n if (styleString.length > 0) {\n attributes['style'] = styleString;\n }\n\n var val = [];\n val.push({\n tag: 'span',\n attributes: attributes,\n children: [content]\n });\n\n if (title) {\n val.push({\n tag: 'span',\n attributes: {\n class: 'sr-only'\n },\n children: [title]\n });\n }\n\n return val;\n}\n\nvar noop$1 = function noop() {};\n\nvar p = config.measurePerformance && PERFORMANCE && PERFORMANCE.mark && PERFORMANCE.measure ? PERFORMANCE : {\n mark: noop$1,\n measure: noop$1\n};\nvar preamble = \"FA \\\"5.15.4\\\"\";\n\nvar begin = function begin(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" begins\"));\n return function () {\n return end(name);\n };\n};\n\nvar end = function end(name) {\n p.mark(\"\".concat(preamble, \" \").concat(name, \" ends\"));\n p.measure(\"\".concat(preamble, \" \").concat(name), \"\".concat(preamble, \" \").concat(name, \" begins\"), \"\".concat(preamble, \" \").concat(name, \" ends\"));\n};\n\nvar perf = {\n begin: begin,\n end: end\n};\n/**\n * Internal helper to bind a function known to have 4 arguments\n * to a given context.\n */\n\nvar bindInternal4 = function bindInternal4(func, thisContext) {\n return function (a, b, c, d) {\n return func.call(thisContext, a, b, c, d);\n };\n};\n/**\n * # Reduce\n *\n * A fast object `.reduce()` implementation.\n *\n * @param {Object} subject The object to reduce over.\n * @param {Function} fn The reducer function.\n * @param {mixed} initialValue The initial value for the reducer, defaults to subject[0].\n * @param {Object} thisContext The context for the reducer.\n * @return {mixed} The final result.\n */\n\n\nvar reduce = function fastReduceObject(subject, fn, initialValue, thisContext) {\n var keys = Object.keys(subject),\n length = keys.length,\n iterator = thisContext !== undefined ? bindInternal4(fn, thisContext) : fn,\n i,\n key,\n result;\n\n if (initialValue === undefined) {\n i = 1;\n result = subject[keys[0]];\n } else {\n i = 0;\n result = initialValue;\n }\n\n for (; i < length; i++) {\n key = keys[i];\n result = iterator(result, subject[key], key, subject);\n }\n\n return result;\n};\n\nfunction toHex(unicode) {\n var result = '';\n\n for (var i = 0; i < unicode.length; i++) {\n var hex = unicode.charCodeAt(i).toString(16);\n result += ('000' + hex).slice(-4);\n }\n\n return result;\n}\n\nfunction defineIcons(prefix, icons) {\n var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _params$skipHooks = params.skipHooks,\n skipHooks = _params$skipHooks === void 0 ? false : _params$skipHooks;\n var normalized = 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 if (typeof namespace.hooks.addPack === 'function' && !skipHooks) {\n namespace.hooks.addPack(prefix, normalized);\n } else {\n namespace.styles[prefix] = _objectSpread({}, 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 easy the upgrade process for our users by automatically defining\n * this as well.\n */\n\n\n if (prefix === 'fas') {\n defineIcons('fa', icons);\n }\n}\n\nvar styles = namespace.styles,\n shims = namespace.shims;\nvar _byUnicode = {};\nvar _byLigature = {};\nvar _byOldName = {};\n\nvar build = function build() {\n var lookup = function lookup(reducer) {\n return reduce(styles, function (o, style, prefix) {\n o[prefix] = reduce(style, reducer, {});\n return o;\n }, {});\n };\n\n _byUnicode = lookup(function (acc, icon, iconName) {\n if (icon[3]) {\n acc[icon[3]] = iconName;\n }\n\n return acc;\n });\n _byLigature = lookup(function (acc, icon, iconName) {\n var ligatures = icon[2];\n acc[iconName] = iconName;\n ligatures.forEach(function (ligature) {\n acc[ligature] = iconName;\n });\n return acc;\n });\n var hasRegular = ('far' in styles);\n _byOldName = reduce(shims, function (acc, shim) {\n var oldName = shim[0];\n var prefix = shim[1];\n var iconName = shim[2];\n\n if (prefix === 'far' && !hasRegular) {\n prefix = 'fas';\n }\n\n acc[oldName] = {\n prefix: prefix,\n iconName: iconName\n };\n return acc;\n }, {});\n};\n\nbuild();\n\nfunction byUnicode(prefix, unicode) {\n return (_byUnicode[prefix] || {})[unicode];\n}\n\nfunction byLigature(prefix, ligature) {\n return (_byLigature[prefix] || {})[ligature];\n}\n\nfunction byOldName(name) {\n return _byOldName[name] || {\n prefix: null,\n iconName: null\n };\n}\n\nvar styles$1 = namespace.styles;\n\nvar emptyCanonicalIcon = function emptyCanonicalIcon() {\n return {\n prefix: null,\n iconName: null,\n rest: []\n };\n};\n\nfunction getCanonicalIcon(values) {\n return values.reduce(function (acc, cls) {\n var iconName = getIconName(config.familyPrefix, cls);\n\n if (styles$1[cls]) {\n acc.prefix = cls;\n } else if (config.autoFetchSvg && Object.keys(PREFIX_TO_STYLE).indexOf(cls) > -1) {\n acc.prefix = cls;\n } else if (iconName) {\n var shim = acc.prefix === 'fa' ? byOldName(iconName) : {};\n acc.iconName = shim.iconName || iconName;\n acc.prefix = shim.prefix || acc.prefix;\n } else if (cls !== config.replacementClass && cls.indexOf('fa-w-') !== 0) {\n acc.rest.push(cls);\n }\n\n return acc;\n }, emptyCanonicalIcon());\n}\n\nfunction iconFromMapping(mapping, prefix, iconName) {\n if (mapping && mapping[prefix] && mapping[prefix][iconName]) {\n return {\n prefix: prefix,\n iconName: iconName,\n icon: mapping[prefix][iconName]\n };\n }\n}\n\nfunction toHtml(abstractNodes) {\n var tag = abstractNodes.tag,\n _abstractNodes$attrib = abstractNodes.attributes,\n attributes = _abstractNodes$attrib === void 0 ? {} : _abstractNodes$attrib,\n _abstractNodes$childr = abstractNodes.children,\n children = _abstractNodes$childr === void 0 ? [] : _abstractNodes$childr;\n\n if (typeof abstractNodes === 'string') {\n return htmlEscape(abstractNodes);\n } else {\n return \"<\".concat(tag, \" \").concat(joinAttributes(attributes), \">\").concat(children.map(toHtml).join(''), \"\").concat(tag, \">\");\n }\n}\n\nvar noop$2 = function noop() {};\n\nfunction isWatched(node) {\n var i2svg = node.getAttribute ? node.getAttribute(DATA_FA_I2SVG) : null;\n return typeof i2svg === 'string';\n}\n\nfunction 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\nvar mutators = {\n replace: function replace(mutation) {\n var node = mutation[0];\n var abstract = mutation[1];\n var newOuterHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n\n if (node.parentNode && node.outerHTML) {\n node.outerHTML = newOuterHTML + (config.keepOriginalSource && node.tagName.toLowerCase() !== 'svg' ? \"\") : '');\n } else if (node.parentNode) {\n var newNode = document.createElement('span');\n node.parentNode.replaceChild(newNode, node);\n newNode.outerHTML = newOuterHTML;\n }\n },\n nest: function nest(mutation) {\n var node = mutation[0];\n var abstract = mutation[1]; // If we already have a replaced node we do not want to continue nesting within it.\n // Short-circuit to the standard replacement\n\n if (~classArray(node).indexOf(config.replacementClass)) {\n return mutators.replace(mutation);\n }\n\n var forSvg = new RegExp(\"\".concat(config.familyPrefix, \"-.*\"));\n delete abstract[0].attributes.style;\n delete abstract[0].attributes.id;\n var splitClasses = abstract[0].attributes.class.split(' ').reduce(function (acc, cls) {\n if (cls === config.replacementClass || cls.match(forSvg)) {\n acc.toSvg.push(cls);\n } else {\n acc.toNode.push(cls);\n }\n\n return acc;\n }, {\n toNode: [],\n toSvg: []\n });\n abstract[0].attributes.class = splitClasses.toSvg.join(' ');\n var newInnerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.setAttribute('class', splitClasses.toNode.join(' '));\n node.setAttribute(DATA_FA_I2SVG, '');\n node.innerHTML = newInnerHTML;\n }\n};\n\nfunction performOperationSync(op) {\n op();\n}\n\nfunction perform(mutations, callback) {\n var callbackFunction = typeof callback === 'function' ? callback : noop$2;\n\n if (mutations.length === 0) {\n callbackFunction();\n } else {\n var frame = performOperationSync;\n\n if (config.mutateApproach === MUTATION_APPROACH_ASYNC) {\n frame = WINDOW.requestAnimationFrame || performOperationSync;\n }\n\n frame(function () {\n var mutator = getMutator();\n var mark = perf.begin('mutate');\n mutations.map(mutator);\n mark();\n callbackFunction();\n });\n }\n}\n\nvar disabled = false;\n\nfunction disableObservation() {\n disabled = true;\n}\n\nfunction enableObservation() {\n disabled = false;\n}\n\nvar mo = null;\n\nfunction observe(options) {\n if (!MUTATION_OBSERVER) {\n return;\n }\n\n if (!config.observeMutations) {\n return;\n }\n\n var treeCallback = options.treeCallback,\n nodeCallback = options.nodeCallback,\n pseudoElementsCallback = options.pseudoElementsCallback,\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 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') {\n var _getCanonicalIcon = getCanonicalIcon(classArray(mutationRecord.target)),\n prefix = _getCanonicalIcon.prefix,\n iconName = _getCanonicalIcon.iconName;\n\n if (prefix) mutationRecord.target.setAttribute('data-prefix', prefix);\n if (iconName) mutationRecord.target.setAttribute('data-icon', iconName);\n } else {\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\nfunction disconnect() {\n if (!mo) return;\n mo.disconnect();\n}\n\nfunction styleParser(node) {\n var style = node.getAttribute('style');\n var val = [];\n\n if (style) {\n val = style.split(';').reduce(function (acc, style) {\n var styles = style.split(':');\n var prop = styles[0];\n var value = styles.slice(1);\n\n if (prop && value.length > 0) {\n acc[prop] = value.join(':').trim();\n }\n\n return acc;\n }, {});\n }\n\n return val;\n}\n\nfunction classParser(node) {\n var existingPrefix = node.getAttribute('data-prefix');\n var existingIconName = node.getAttribute('data-icon');\n var innerText = node.innerText !== undefined ? node.innerText.trim() : '';\n var val = getCanonicalIcon(classArray(node));\n\n if (existingPrefix && existingIconName) {\n val.prefix = existingPrefix;\n val.iconName = existingIconName;\n }\n\n if (val.prefix && innerText.length > 1) {\n val.iconName = byLigature(val.prefix, node.innerText);\n } else if (val.prefix && innerText.length === 1) {\n val.iconName = byUnicode(val.prefix, toHex(node.innerText));\n }\n\n return val;\n}\n\nvar parseTransformString = function parseTransformString(transformString) {\n var transform = {\n size: 16,\n x: 0,\n y: 0,\n flipX: false,\n flipY: false,\n rotate: 0\n };\n\n if (!transformString) {\n return transform;\n } else {\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};\n\nfunction transformParser(node) {\n return parseTransformString(node.getAttribute('data-fa-transform'));\n}\n\nfunction symbolParser(node) {\n var symbol = node.getAttribute('data-fa-symbol');\n return symbol === null ? false : symbol === '' ? true : symbol;\n}\n\nfunction attributesParser(node) {\n var extraAttributes = toArray(node.attributes).reduce(function (acc, attr) {\n if (acc.name !== 'class' && acc.name !== 'style') {\n acc[attr.name] = attr.value;\n }\n\n return acc;\n }, {});\n var title = node.getAttribute('title');\n var titleId = node.getAttribute('data-fa-title-id');\n\n if (config.autoA11y) {\n if (title) {\n extraAttributes['aria-labelledby'] = \"\".concat(config.replacementClass, \"-title-\").concat(titleId || nextUniqueId());\n } else {\n extraAttributes['aria-hidden'] = 'true';\n extraAttributes['focusable'] = 'false';\n }\n }\n\n return extraAttributes;\n}\n\nfunction maskParser(node) {\n var mask = node.getAttribute('data-fa-mask');\n\n if (!mask) {\n return emptyCanonicalIcon();\n } else {\n return getCanonicalIcon(mask.split(' ').map(function (i) {\n return i.trim();\n }));\n }\n}\n\nfunction blankMeta() {\n return {\n iconName: null,\n title: null,\n titleId: null,\n prefix: null,\n transform: meaninglessTransform,\n symbol: false,\n mask: null,\n maskId: null,\n extra: {\n classes: [],\n styles: {},\n attributes: {}\n }\n };\n}\n\nfunction parseMeta(node) {\n var _classParser = classParser(node),\n iconName = _classParser.iconName,\n prefix = _classParser.prefix,\n extraClasses = _classParser.rest;\n\n var extraStyles = styleParser(node);\n var transform = transformParser(node);\n var symbol = symbolParser(node);\n var extraAttributes = attributesParser(node);\n var mask = maskParser(node);\n return {\n iconName: iconName,\n title: node.getAttribute('title'),\n titleId: node.getAttribute('data-fa-title-id'),\n prefix: prefix,\n transform: transform,\n symbol: symbol,\n mask: mask,\n maskId: node.getAttribute('data-fa-mask-id'),\n extra: {\n classes: extraClasses,\n styles: extraStyles,\n attributes: extraAttributes\n }\n };\n}\n\nfunction MissingIcon(error) {\n this.name = 'MissingIcon';\n this.message = error || 'Icon unavailable';\n this.stack = new Error().stack;\n}\n\nMissingIcon.prototype = Object.create(Error.prototype);\nMissingIcon.prototype.constructor = MissingIcon;\nvar FILL = {\n fill: 'currentColor'\n};\nvar ANIMATION_BASE = {\n attributeType: 'XML',\n repeatCount: 'indefinite',\n dur: '2s'\n};\nvar RING = {\n tag: 'path',\n attributes: _objectSpread({}, 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\nvar OPACITY_ANIMATE = _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'opacity'\n});\n\nvar DOT = {\n tag: 'circle',\n attributes: _objectSpread({}, FILL, {\n cx: '256',\n cy: '364',\n r: '28'\n }),\n children: [{\n tag: 'animate',\n attributes: _objectSpread({}, ANIMATION_BASE, {\n attributeName: 'r',\n values: '28;14;28;28;14;28;'\n })\n }, {\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;1;1;0;1;'\n })\n }]\n};\nvar QUESTION = {\n tag: 'path',\n attributes: _objectSpread({}, 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: [{\n tag: 'animate',\n attributes: _objectSpread({}, OPACITY_ANIMATE, {\n values: '1;0;0;0;0;1;'\n })\n }]\n};\nvar EXCLAMATION = {\n tag: 'path',\n attributes: _objectSpread({}, 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: _objectSpread({}, OPACITY_ANIMATE, {\n values: '0;0;1;1;0;0;'\n })\n }]\n};\nvar missing = {\n tag: 'g',\n children: [RING, DOT, QUESTION, EXCLAMATION]\n};\nvar styles$2 = namespace.styles;\n\nfunction asFoundIcon(icon) {\n var width = icon[0];\n var height = icon[1];\n\n var _icon$slice = icon.slice(4),\n _icon$slice2 = _slicedToArray(_icon$slice, 1),\n vectorData = _icon$slice2[0];\n\n var element = null;\n\n if (Array.isArray(vectorData)) {\n element = {\n tag: 'g',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.GROUP)\n },\n children: [{\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").concat(DUOTONE_CLASSES.SECONDARY),\n fill: 'currentColor',\n d: vectorData[0]\n }\n }, {\n tag: 'path',\n attributes: {\n class: \"\".concat(config.familyPrefix, \"-\").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\nfunction findIcon(iconName, prefix) {\n return new picked(function (resolve, reject) {\n var val = {\n found: false,\n width: 512,\n height: 512,\n icon: missing\n };\n\n if (iconName && prefix && styles$2[prefix] && styles$2[prefix][iconName]) {\n var icon = styles$2[prefix][iconName];\n return resolve(asFoundIcon(icon));\n }\n\n if (iconName && prefix && !config.showMissingIcons) {\n reject(new MissingIcon(\"Icon is missing for prefix \".concat(prefix, \" with icon name \").concat(iconName)));\n } else {\n resolve(val);\n }\n });\n}\n\nvar styles$3 = namespace.styles;\n\nfunction generateSvgReplacementMutation(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 picked(function (resolve, reject) {\n picked.all([findIcon(iconName, prefix), findIcon(mask.iconName, mask.prefix)]).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 mask: mask,\n maskId: maskId,\n title: title,\n titleId: titleId,\n extra: extra,\n watchable: true\n })]);\n });\n });\n}\n\nfunction generateLayersText(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 picked.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\nfunction generateMutation(node) {\n var nodeMeta = parseMeta(node);\n\n if (~nodeMeta.extra.classes.indexOf(LAYERS_TEXT_CLASSNAME)) {\n return generateLayersText(node, nodeMeta);\n } else {\n return generateSvgReplacementMutation(node, nodeMeta);\n }\n}\n\nfunction onTree(root) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (!IS_DOM) return;\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 ? Object.keys(PREFIX_TO_STYLE) : Object.keys(styles$3);\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;\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;\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 instanceof MissingIcon) {\n console.error(e);\n }\n }\n }\n\n return acc;\n }, []);\n return new picked(function (resolve, reject) {\n picked.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 () {\n mark();\n reject();\n });\n });\n}\n\nfunction onNode(node) {\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n generateMutation(node).then(function (mutation) {\n if (mutation) {\n perform([mutation], callback);\n }\n });\n}\n\nfunction replaceForPosition(node, position) {\n var pendingAttribute = \"\".concat(DATA_FA_PSEUDO_ELEMENT_PENDING).concat(position.replace(':', '-'));\n return new picked(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 prefix = ~['Solid', 'Regular', 'Light', 'Duotone', 'Brands', 'Kit'].indexOf(fontFamily[2]) ? STYLE_TO_PREFIX[fontFamily[2].toLowerCase()] : FONT_WEIGHT_TO_PREFIX[fontWeight];\n var hexValue = toHex(_content.length === 3 ? _content.substr(1, 1) : _content);\n var iconName = byUnicode(prefix, hexValue);\n var iconIdentifier = iconName; // 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 if (iconName && (!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(_objectSpread({}, meta, {\n icons: {\n main: main,\n mask: emptyCanonicalIcon()\n },\n prefix: prefix,\n iconName: iconIdentifier,\n extra: extra,\n watchable: true\n }));\n var element = DOCUMENT.createElement('svg');\n\n if (position === ':before') {\n node.insertBefore(element, node.firstChild);\n } else {\n node.appendChild(element);\n }\n\n element.outerHTML = abstract.map(function (a) {\n return toHtml(a);\n }).join('\\n');\n node.removeAttribute(pendingAttribute);\n resolve();\n }).catch(reject);\n } else {\n resolve();\n }\n } else {\n resolve();\n }\n });\n}\n\nfunction replace(node) {\n return picked.all([replaceForPosition(node, ':before'), replaceForPosition(node, ':after')]);\n}\n\nfunction processable(node) {\n return node.parentNode !== document.head && !~TAGNAMES_TO_SKIP_FOR_PSEUDOELEMENTS.indexOf(node.tagName.toUpperCase()) && !node.getAttribute(DATA_FA_PSEUDO_ELEMENT) && (!node.parentNode || node.parentNode.tagName !== 'svg');\n}\n\nfunction searchPseudoElements(root) {\n if (!IS_DOM) return;\n return new picked(function (resolve, reject) {\n var operations = toArray(root.querySelectorAll('*')).filter(processable).map(replace);\n var end = perf.begin('searchPseudoElements');\n disableObservation();\n picked.all(operations).then(function () {\n end();\n enableObservation();\n resolve();\n }).catch(function () {\n end();\n enableObservation();\n reject();\n });\n });\n}\n\nvar baseStyles = \"svg:not(:root).svg-inline--fa {\\n overflow: visible;\\n}\\n\\n.svg-inline--fa {\\n display: inline-block;\\n font-size: inherit;\\n height: 1em;\\n overflow: visible;\\n vertical-align: -0.125em;\\n}\\n.svg-inline--fa.fa-lg {\\n vertical-align: -0.225em;\\n}\\n.svg-inline--fa.fa-w-1 {\\n width: 0.0625em;\\n}\\n.svg-inline--fa.fa-w-2 {\\n width: 0.125em;\\n}\\n.svg-inline--fa.fa-w-3 {\\n width: 0.1875em;\\n}\\n.svg-inline--fa.fa-w-4 {\\n width: 0.25em;\\n}\\n.svg-inline--fa.fa-w-5 {\\n width: 0.3125em;\\n}\\n.svg-inline--fa.fa-w-6 {\\n width: 0.375em;\\n}\\n.svg-inline--fa.fa-w-7 {\\n width: 0.4375em;\\n}\\n.svg-inline--fa.fa-w-8 {\\n width: 0.5em;\\n}\\n.svg-inline--fa.fa-w-9 {\\n width: 0.5625em;\\n}\\n.svg-inline--fa.fa-w-10 {\\n width: 0.625em;\\n}\\n.svg-inline--fa.fa-w-11 {\\n width: 0.6875em;\\n}\\n.svg-inline--fa.fa-w-12 {\\n width: 0.75em;\\n}\\n.svg-inline--fa.fa-w-13 {\\n width: 0.8125em;\\n}\\n.svg-inline--fa.fa-w-14 {\\n width: 0.875em;\\n}\\n.svg-inline--fa.fa-w-15 {\\n width: 0.9375em;\\n}\\n.svg-inline--fa.fa-w-16 {\\n width: 1em;\\n}\\n.svg-inline--fa.fa-w-17 {\\n width: 1.0625em;\\n}\\n.svg-inline--fa.fa-w-18 {\\n width: 1.125em;\\n}\\n.svg-inline--fa.fa-w-19 {\\n width: 1.1875em;\\n}\\n.svg-inline--fa.fa-w-20 {\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-pull-left {\\n margin-right: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-pull-right {\\n margin-left: 0.3em;\\n width: auto;\\n}\\n.svg-inline--fa.fa-border {\\n height: 1.5em;\\n}\\n.svg-inline--fa.fa-li {\\n width: 2em;\\n}\\n.svg-inline--fa.fa-fw {\\n width: 1.25em;\\n}\\n\\n.fa-layers svg.svg-inline--fa {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.fa-layers {\\n display: inline-block;\\n height: 1em;\\n position: relative;\\n text-align: center;\\n vertical-align: -0.125em;\\n width: 1em;\\n}\\n.fa-layers svg.svg-inline--fa {\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter, .fa-layers-text {\\n display: inline-block;\\n position: absolute;\\n text-align: center;\\n}\\n\\n.fa-layers-text {\\n left: 50%;\\n top: 50%;\\n -webkit-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n -webkit-transform-origin: center center;\\n transform-origin: center center;\\n}\\n\\n.fa-layers-counter {\\n background-color: #ff253a;\\n border-radius: 1em;\\n -webkit-box-sizing: border-box;\\n box-sizing: border-box;\\n color: #fff;\\n height: 1.5em;\\n line-height: 1;\\n max-width: 5em;\\n min-width: 1.5em;\\n overflow: hidden;\\n padding: 0.25em;\\n right: 0;\\n text-overflow: ellipsis;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-bottom-right {\\n bottom: 0;\\n right: 0;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom right;\\n transform-origin: bottom right;\\n}\\n\\n.fa-layers-bottom-left {\\n bottom: 0;\\n left: 0;\\n right: auto;\\n top: auto;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: bottom left;\\n transform-origin: bottom left;\\n}\\n\\n.fa-layers-top-right {\\n right: 0;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top right;\\n transform-origin: top right;\\n}\\n\\n.fa-layers-top-left {\\n left: 0;\\n right: auto;\\n top: 0;\\n -webkit-transform: scale(0.25);\\n transform: scale(0.25);\\n -webkit-transform-origin: top left;\\n transform-origin: top left;\\n}\\n\\n.fa-lg {\\n font-size: 1.3333333333em;\\n line-height: 0.75em;\\n vertical-align: -0.0667em;\\n}\\n\\n.fa-xs {\\n font-size: 0.75em;\\n}\\n\\n.fa-sm {\\n font-size: 0.875em;\\n}\\n\\n.fa-1x {\\n font-size: 1em;\\n}\\n\\n.fa-2x {\\n font-size: 2em;\\n}\\n\\n.fa-3x {\\n font-size: 3em;\\n}\\n\\n.fa-4x {\\n font-size: 4em;\\n}\\n\\n.fa-5x {\\n font-size: 5em;\\n}\\n\\n.fa-6x {\\n font-size: 6em;\\n}\\n\\n.fa-7x {\\n font-size: 7em;\\n}\\n\\n.fa-8x {\\n font-size: 8em;\\n}\\n\\n.fa-9x {\\n font-size: 9em;\\n}\\n\\n.fa-10x {\\n font-size: 10em;\\n}\\n\\n.fa-fw {\\n text-align: center;\\n width: 1.25em;\\n}\\n\\n.fa-ul {\\n list-style-type: none;\\n margin-left: 2.5em;\\n padding-left: 0;\\n}\\n.fa-ul > li {\\n position: relative;\\n}\\n\\n.fa-li {\\n left: -2em;\\n position: absolute;\\n text-align: center;\\n width: 2em;\\n line-height: inherit;\\n}\\n\\n.fa-border {\\n border: solid 0.08em #eee;\\n border-radius: 0.1em;\\n padding: 0.2em 0.25em 0.15em;\\n}\\n\\n.fa-pull-left {\\n float: left;\\n}\\n\\n.fa-pull-right {\\n float: right;\\n}\\n\\n.fa.fa-pull-left,\\n.fas.fa-pull-left,\\n.far.fa-pull-left,\\n.fal.fa-pull-left,\\n.fab.fa-pull-left {\\n margin-right: 0.3em;\\n}\\n.fa.fa-pull-right,\\n.fas.fa-pull-right,\\n.far.fa-pull-right,\\n.fal.fa-pull-right,\\n.fab.fa-pull-right {\\n margin-left: 0.3em;\\n}\\n\\n.fa-spin {\\n -webkit-animation: fa-spin 2s infinite linear;\\n animation: fa-spin 2s infinite linear;\\n}\\n\\n.fa-pulse {\\n -webkit-animation: fa-spin 1s infinite steps(8);\\n animation: fa-spin 1s infinite steps(8);\\n}\\n\\n@-webkit-keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes fa-spin {\\n 0% {\\n -webkit-transform: rotate(0deg);\\n transform: rotate(0deg);\\n }\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n.fa-rotate-90 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\\\";\\n -webkit-transform: rotate(90deg);\\n transform: rotate(90deg);\\n}\\n\\n.fa-rotate-180 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\\\";\\n -webkit-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.fa-rotate-270 {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\\\";\\n -webkit-transform: rotate(270deg);\\n transform: rotate(270deg);\\n}\\n\\n.fa-flip-horizontal {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\\\";\\n -webkit-transform: scale(-1, 1);\\n transform: scale(-1, 1);\\n}\\n\\n.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(1, -1);\\n transform: scale(1, -1);\\n}\\n\\n.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {\\n -ms-filter: \\\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\\\";\\n -webkit-transform: scale(-1, -1);\\n transform: scale(-1, -1);\\n}\\n\\n:root .fa-rotate-90,\\n:root .fa-rotate-180,\\n:root .fa-rotate-270,\\n:root .fa-flip-horizontal,\\n:root .fa-flip-vertical,\\n:root .fa-flip-both {\\n -webkit-filter: none;\\n filter: none;\\n}\\n\\n.fa-stack {\\n display: inline-block;\\n height: 2em;\\n position: relative;\\n width: 2.5em;\\n}\\n\\n.fa-stack-1x,\\n.fa-stack-2x {\\n bottom: 0;\\n left: 0;\\n margin: auto;\\n position: absolute;\\n right: 0;\\n top: 0;\\n}\\n\\n.svg-inline--fa.fa-stack-1x {\\n height: 1em;\\n width: 1.25em;\\n}\\n.svg-inline--fa.fa-stack-2x {\\n height: 2em;\\n width: 2.5em;\\n}\\n\\n.fa-inverse {\\n color: #fff;\\n}\\n\\n.sr-only {\\n border: 0;\\n clip: rect(0, 0, 0, 0);\\n height: 1px;\\n margin: -1px;\\n overflow: hidden;\\n padding: 0;\\n position: absolute;\\n width: 1px;\\n}\\n\\n.sr-only-focusable:active, .sr-only-focusable:focus {\\n clip: auto;\\n height: auto;\\n margin: 0;\\n overflow: visible;\\n position: static;\\n width: auto;\\n}\\n\\n.svg-inline--fa .fa-primary {\\n fill: var(--fa-primary-color, currentColor);\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa .fa-secondary {\\n fill: var(--fa-secondary-color, currentColor);\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-primary {\\n opacity: 0.4;\\n opacity: var(--fa-secondary-opacity, 0.4);\\n}\\n\\n.svg-inline--fa.fa-swap-opacity .fa-secondary {\\n opacity: 1;\\n opacity: var(--fa-primary-opacity, 1);\\n}\\n\\n.svg-inline--fa mask .fa-primary,\\n.svg-inline--fa mask .fa-secondary {\\n fill: black;\\n}\\n\\n.fad.fa-inverse {\\n color: #fff;\\n}\";\n\nfunction css() {\n var dfp = DEFAULT_FAMILY_PREFIX;\n var drc = DEFAULT_REPLACEMENT_CLASS;\n var fp = config.familyPrefix;\n var rc = config.replacementClass;\n var s = baseStyles;\n\n if (fp !== dfp || rc !== drc) {\n var dPatt = new RegExp(\"\\\\.\".concat(dfp, \"\\\\-\"), 'g');\n var customPropPatt = new RegExp(\"\\\\--\".concat(dfp, \"\\\\-\"), 'g');\n var rPatt = new RegExp(\"\\\\.\".concat(drc), 'g');\n s = s.replace(dPatt, \".\".concat(fp, \"-\")).replace(customPropPatt, \"--\".concat(fp, \"-\")).replace(rPatt, \".\".concat(rc));\n }\n\n return s;\n}\n\nvar 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] = _objectSpread({}, _this.definitions[key] || {}, additions[key]);\n defineIcons(key, 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 if (!additions[prefix]) additions[prefix] = {};\n additions[prefix][iconName] = icon;\n });\n return additions;\n }\n }]);\n\n return Library;\n}();\n\nfunction ensureCss() {\n if (config.autoAddCss && !_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n}\n\nfunction apiObject(val, abstractCreator) {\n Object.defineProperty(val, 'abstract', {\n get: abstractCreator\n });\n Object.defineProperty(val, 'html', {\n get: function get() {\n return val.abstract.map(function (a) {\n return toHtml(a);\n });\n }\n });\n Object.defineProperty(val, 'node', {\n get: function get() {\n if (!IS_DOM) return;\n var container = DOCUMENT.createElement('div');\n container.innerHTML = val.html;\n return container.children;\n }\n });\n return val;\n}\n\nfunction findIconDefinition(iconLookup) {\n var _iconLookup$prefix = iconLookup.prefix,\n prefix = _iconLookup$prefix === void 0 ? 'fa' : _iconLookup$prefix,\n iconName = iconLookup.iconName;\n if (!iconName) return;\n return iconFromMapping(library.definitions, prefix, iconName) || iconFromMapping(namespace.styles, prefix, iconName);\n}\n\nfunction resolveIcons(next) {\n return function (maybeIconDefinition) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var iconDefinition = (maybeIconDefinition || {}).icon ? maybeIconDefinition : findIconDefinition(maybeIconDefinition || {});\n var mask = params.mask;\n\n if (mask) {\n mask = (mask || {}).icon ? mask : findIconDefinition(mask || {});\n }\n\n return next(iconDefinition, _objectSpread({}, params, {\n mask: mask\n }));\n };\n}\n\nvar library = new Library();\n\nvar noAuto = function noAuto() {\n config.autoReplaceSvg = false;\n config.observeMutations = false;\n disconnect();\n};\n\nvar _cssInserted = false;\nvar dom = {\n i2svg: function i2svg() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (IS_DOM) {\n ensureCss();\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\n if (config.searchPseudoElements) {\n searchPseudoElements(node);\n }\n\n return onTree(node, callback);\n } else {\n return picked.reject('Operation requires a DOM of some kind.');\n }\n },\n css: css,\n insertCss: function insertCss$$1() {\n if (!_cssInserted) {\n insertCss(css());\n _cssInserted = true;\n }\n },\n watch: function watch() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var autoReplaceSvgRoot = params.autoReplaceSvgRoot,\n observeMutationsRoot = params.observeMutationsRoot;\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 observe({\n treeCallback: onTree,\n nodeCallback: onNode,\n pseudoElementsCallback: searchPseudoElements,\n observeMutationsRoot: observeMutationsRoot\n });\n });\n }\n};\nvar parse = {\n transform: function transform(transformString) {\n return parseTransformString(transformString);\n }\n};\nvar icon = resolveIcons(function (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 apiObject(_objectSpread({\n type: 'icon'\n }, iconDefinition), function () {\n ensureCss();\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: _objectSpread({}, 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\nvar text = function text(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$transform2 = params.transform,\n transform = _params$transform2 === void 0 ? meaninglessTransform : _params$transform2,\n _params$title2 = params.title,\n title = _params$title2 === void 0 ? null : _params$title2,\n _params$classes2 = params.classes,\n classes = _params$classes2 === void 0 ? [] : _params$classes2,\n _params$attributes2 = params.attributes,\n attributes = _params$attributes2 === void 0 ? {} : _params$attributes2,\n _params$styles2 = params.styles,\n styles = _params$styles2 === void 0 ? {} : _params$styles2;\n return apiObject({\n type: 'text',\n content: content\n }, function () {\n ensureCss();\n return makeLayersTextAbstract({\n content: content,\n transform: _objectSpread({}, meaninglessTransform, transform),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-text\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\n\nvar counter = function counter(content) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$title3 = params.title,\n title = _params$title3 === void 0 ? null : _params$title3,\n _params$classes3 = params.classes,\n classes = _params$classes3 === void 0 ? [] : _params$classes3,\n _params$attributes3 = params.attributes,\n attributes = _params$attributes3 === void 0 ? {} : _params$attributes3,\n _params$styles3 = params.styles,\n styles = _params$styles3 === void 0 ? {} : _params$styles3;\n return apiObject({\n type: 'counter',\n content: content\n }, function () {\n ensureCss();\n return makeLayersCounterAbstract({\n content: content.toString(),\n title: title,\n extra: {\n attributes: attributes,\n styles: styles,\n classes: [\"\".concat(config.familyPrefix, \"-layers-counter\")].concat(_toConsumableArray(classes))\n }\n });\n });\n};\n\nvar layer = function layer(assembler) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _params$classes4 = params.classes,\n classes = _params$classes4 === void 0 ? [] : _params$classes4;\n return apiObject({\n type: 'layer'\n }, function () {\n ensureCss();\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.familyPrefix, \"-layers\")].concat(_toConsumableArray(classes)).join(' ')\n },\n children: children\n }];\n });\n};\n\nvar api = {\n noAuto: noAuto,\n config: config,\n dom: dom,\n library: library,\n parse: parse,\n findIconDefinition: findIconDefinition,\n icon: icon,\n text: text,\n counter: counter,\n layer: layer,\n toHtml: toHtml\n};\n\nvar autoReplace = function autoReplace() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$autoReplaceSv = params.autoReplaceSvgRoot,\n autoReplaceSvgRoot = _params$autoReplaceSv === void 0 ? DOCUMENT : _params$autoReplaceSv;\n if ((Object.keys(namespace.styles).length > 0 || config.autoFetchSvg) && IS_DOM && config.autoReplaceSvg) api.dom.i2svg({\n node: autoReplaceSvgRoot\n });\n};\n\nexport { icon, noAuto, config, toHtml, layer, text, counter, library, dom, parse, findIconDefinition };","var scope = typeof global !== \"undefined\" && global || typeof self !== \"undefined\" && self || window;\nvar apply = Function.prototype.apply; // DOM APIs, for completeness\n\nexports.setTimeout = function () {\n return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);\n};\n\nexports.setInterval = function () {\n return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);\n};\n\nexports.clearTimeout = exports.clearInterval = function (timeout) {\n if (timeout) {\n timeout.close();\n }\n};\n\nfunction Timeout(id, clearFn) {\n this._id = id;\n this._clearFn = clearFn;\n}\n\nTimeout.prototype.unref = Timeout.prototype.ref = function () {};\n\nTimeout.prototype.close = function () {\n this._clearFn.call(scope, this._id);\n}; // Does not start the time, just sets up the members needed.\n\n\nexports.enroll = function (item, msecs) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = msecs;\n};\n\nexports.unenroll = function (item) {\n clearTimeout(item._idleTimeoutId);\n item._idleTimeout = -1;\n};\n\nexports._unrefActive = exports.active = function (item) {\n clearTimeout(item._idleTimeoutId);\n var msecs = item._idleTimeout;\n\n if (msecs >= 0) {\n item._idleTimeoutId = setTimeout(function onTimeout() {\n if (item._onTimeout) item._onTimeout();\n }, msecs);\n }\n}; // setimmediate attaches itself to the global object\n\n\nrequire(\"setimmediate\"); // On some exotic environments, it's not clear which object `setimmediate` was\n// able to install onto. Search each possibility in the same order as the\n// `setimmediate` library.\n\n\nexports.setImmediate = typeof self !== \"undefined\" && self.setImmediate || typeof global !== \"undefined\" && global.setImmediate || this && this.setImmediate;\nexports.clearImmediate = typeof self !== \"undefined\" && self.clearImmediate || typeof global !== \"undefined\" && global.clearImmediate || this && this.clearImmediate;","(function (global, undefined) {\n \"use strict\";\n\n if (global.setImmediate) {\n return;\n }\n\n var nextHandle = 1; // Spec says greater than zero\n\n var tasksByHandle = {};\n var currentlyRunningATask = false;\n var doc = global.document;\n var registerImmediate;\n\n function setImmediate(callback) {\n // Callback can either be a function or a string\n if (typeof callback !== \"function\") {\n callback = new Function(\"\" + callback);\n } // Copy function arguments\n\n\n var args = new Array(arguments.length - 1);\n\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i + 1];\n } // Store and register the task\n\n\n var task = {\n callback: callback,\n args: args\n };\n tasksByHandle[nextHandle] = task;\n registerImmediate(nextHandle);\n return nextHandle++;\n }\n\n function clearImmediate(handle) {\n delete tasksByHandle[handle];\n }\n\n function run(task) {\n var callback = task.callback;\n var args = task.args;\n\n switch (args.length) {\n case 0:\n callback();\n break;\n\n case 1:\n callback(args[0]);\n break;\n\n case 2:\n callback(args[0], args[1]);\n break;\n\n case 3:\n callback(args[0], args[1], args[2]);\n break;\n\n default:\n callback.apply(undefined, args);\n break;\n }\n }\n\n function runIfPresent(handle) {\n // From the spec: \"Wait until any invocations of this algorithm started before this one have completed.\"\n // So if we're currently running a task, we'll need to delay this invocation.\n if (currentlyRunningATask) {\n // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a\n // \"too much recursion\" error.\n setTimeout(runIfPresent, 0, handle);\n } else {\n var task = tasksByHandle[handle];\n\n if (task) {\n currentlyRunningATask = true;\n\n try {\n run(task);\n } finally {\n clearImmediate(handle);\n currentlyRunningATask = false;\n }\n }\n }\n }\n\n function installNextTickImplementation() {\n registerImmediate = function registerImmediate(handle) {\n process.nextTick(function () {\n runIfPresent(handle);\n });\n };\n }\n\n function canUsePostMessage() {\n // The test against `importScripts` prevents this implementation from being installed inside a web worker,\n // where `global.postMessage` means something completely different and can't be used for this purpose.\n if (global.postMessage && !global.importScripts) {\n var postMessageIsAsynchronous = true;\n var oldOnMessage = global.onmessage;\n\n global.onmessage = function () {\n postMessageIsAsynchronous = false;\n };\n\n global.postMessage(\"\", \"*\");\n global.onmessage = oldOnMessage;\n return postMessageIsAsynchronous;\n }\n }\n\n function installPostMessageImplementation() {\n // Installs an event handler on `global` for the `message` event: see\n // * https://developer.mozilla.org/en/DOM/window.postMessage\n // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages\n var messagePrefix = \"setImmediate$\" + Math.random() + \"$\";\n\n var onGlobalMessage = function onGlobalMessage(event) {\n if (event.source === global && typeof event.data === \"string\" && event.data.indexOf(messagePrefix) === 0) {\n runIfPresent(+event.data.slice(messagePrefix.length));\n }\n };\n\n if (global.addEventListener) {\n global.addEventListener(\"message\", onGlobalMessage, false);\n } else {\n global.attachEvent(\"onmessage\", onGlobalMessage);\n }\n\n registerImmediate = function registerImmediate(handle) {\n global.postMessage(messagePrefix + handle, \"*\");\n };\n }\n\n function installMessageChannelImplementation() {\n var channel = new MessageChannel();\n\n channel.port1.onmessage = function (event) {\n var handle = event.data;\n runIfPresent(handle);\n };\n\n registerImmediate = function registerImmediate(handle) {\n channel.port2.postMessage(handle);\n };\n }\n\n function installReadyStateChangeImplementation() {\n var html = doc.documentElement;\n\n registerImmediate = function registerImmediate(handle) {\n // Create a